ibm_db 2.5.26-universal-darwin-14 → 2.6.1-universal-darwin-14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGES +11 -0
  3. data/MANIFEST +14 -14
  4. data/README +225 -225
  5. data/ext/Makefile.nt32 +181 -181
  6. data/ext/Makefile.nt32.191 +212 -212
  7. data/ext/extconf.rb +264 -261
  8. data/ext/extconf_MacOS.rb +269 -0
  9. data/ext/ibm_db.c +11879 -11793
  10. data/ext/ruby_ibm_db.h +241 -240
  11. data/ext/ruby_ibm_db_cli.c +851 -845
  12. data/ext/ruby_ibm_db_cli.h +500 -489
  13. data/init.rb +41 -41
  14. data/lib/IBM_DB.rb +27 -19
  15. data/lib/active_record/connection_adapters/ibm_db_adapter.rb +3339 -3289
  16. data/lib/active_record/connection_adapters/ibmdb_adapter.rb +1 -1
  17. data/lib/active_record/vendor/db2-i5-zOS.yaml +328 -328
  18. data/test/cases/adapter_test.rb +207 -207
  19. data/test/cases/associations/belongs_to_associations_test.rb +711 -711
  20. data/test/cases/associations/cascaded_eager_loading_test.rb +181 -181
  21. data/test/cases/associations/has_and_belongs_to_many_associations_test.rb +851 -851
  22. data/test/cases/associations/join_model_test.rb +743 -743
  23. data/test/cases/attribute_methods_test.rb +822 -822
  24. data/test/cases/base_test.rb +2133 -2133
  25. data/test/cases/calculations_test.rb +482 -482
  26. data/test/cases/migration_test.rb +2408 -2408
  27. data/test/cases/persistence_test.rb +642 -642
  28. data/test/cases/query_cache_test.rb +257 -257
  29. data/test/cases/relations_test.rb +1182 -1182
  30. data/test/cases/schema_dumper_test.rb +256 -256
  31. data/test/cases/transaction_callbacks_test.rb +300 -300
  32. data/test/cases/validations/uniqueness_validation_test.rb +299 -299
  33. data/test/cases/xml_serialization_test.rb +408 -408
  34. data/test/config.yml +154 -154
  35. data/test/connections/native_ibm_db/connection.rb +43 -43
  36. data/test/ibm_db_test.rb +24 -24
  37. data/test/models/warehouse_thing.rb +4 -4
  38. data/test/schema/schema.rb +751 -751
  39. metadata +6 -8
  40. data/lib/linux/rb18x/ibm_db.bundle +0 -0
  41. data/lib/linux/rb19x/ibm_db.bundle +0 -0
  42. data/lib/linux/rb20x/ibm_db.bundle +0 -0
  43. data/lib/linux/rb21x/ibm_db.bundle +0 -0
data/ext/ruby_ibm_db.h CHANGED
@@ -1,240 +1,241 @@
1
- /*
2
- +----------------------------------------------------------------------+
3
- | Licensed Materials - Property of IBM |
4
- | |
5
- | (C) Copyright IBM Corporation 2006, 2007, 2008, 2009, 2010, 2012 |
6
- +----------------------------------------------------------------------+
7
- | Authors: Sushant Koduru, Lynh Nguyen, Kanchana Padmanabhan, |
8
- | Dan Scott, Helmut Tessarek, Kellen Bombardier, Sam Ruby |
9
- | Ambrish Bhargava, Tarun Pasrija, Praveen Devarao |
10
- +----------------------------------------------------------------------+
11
- */
12
-
13
- #ifndef RUBY_IBM_DB_H
14
- #define RUBY_IBM_DB_H
15
-
16
- #include <stdio.h>
17
- #include <string.h>
18
- #include <stdlib.h>
19
- #include <sqlcli1.h>
20
-
21
- #ifndef SQL_XML
22
- #define SQL_XML -370
23
- #endif
24
-
25
- /* Needed for Backward compatibility */
26
- #ifndef SQL_DECFLOAT
27
- #define SQL_DECFLOAT -360
28
- #endif
29
-
30
- /* needed for backward compatibility (SQL_ATTR_ROWCOUNT_PREFETCH not defined prior to DB2 9.5.0.3) */
31
- #ifndef SQL_ATTR_ROWCOUNT_PREFETCH
32
- #define SQL_ATTR_ROWCOUNT_PREFETCH 2592
33
- #define SQL_ROWCOUNT_PREFETCH_OFF 0
34
- #define SQL_ROWCOUNT_PREFETCH_ON 1
35
- #endif
36
-
37
- /* SQL_ATTR_USE_TRUSTED_CONTEXT,
38
- * SQL_ATTR_TRUSTED_CONTEXT_USERID and
39
- * SQL_ATTR_TRUSTED_CONTEXT_PASSWORD
40
- * not defined prior to DB2 v9 */
41
- #ifndef SQL_ATTR_USE_TRUSTED_CONTEXT
42
- #define SQL_ATTR_USE_TRUSTED_CONTEXT 2561
43
- #define SQL_ATTR_TRUSTED_CONTEXT_USERID 2562
44
- #define SQL_ATTR_TRUSTED_CONTEXT_PASSWORD 2563
45
- #endif
46
-
47
- #ifndef SQL_ATTR_REPLACE_QUOTED_LITERALS
48
- #define SQL_ATTR_REPLACE_QUOTED_LITERALS 2586
49
- #endif
50
-
51
- /* CLI v9.1 FP3 and below has a SQL_ATTR_REPLACE_QUOTED_LITERALS value of 116
52
- * We need to support both the new and old values for compatibility with older
53
- * versions of CLI. CLI v9.1 FP4 and beyond changed this value to 2586
54
- */
55
- #define SQL_ATTR_REPLACE_QUOTED_LITERALS_OLDVALUE 116
56
-
57
- /* If using a DB2 CLI version which doesn't support this functionality, explicitly
58
- * define this. We will rely on DB2 CLI to throw an error when SQLGetStmtAttr is
59
- * called.
60
- */
61
- #ifndef SQL_ATTR_GET_GENERATED_VALUE
62
- #define SQL_ATTR_GET_GENERATED_VALUE 2578
63
- #endif
64
-
65
- #ifdef _WIN32
66
- #define RUBY_IBM_DB_API __declspec(dllexport)
67
- #else
68
- #define RUBY_IBM_DB_API
69
- #endif
70
-
71
- /* strlen(" SQLCODE=") added in */
72
- #define DB2_MAX_ERR_MSG_LEN (SQL_MAX_MESSAGE_LENGTH + SQL_SQLSTATE_SIZE + 10)
73
-
74
- /*Used to find the type of resource and the error type required*/
75
- #define DB_ERRMSG 1
76
- #define DB_ERR_STATE 2
77
-
78
- #define DB_CONN 1
79
- #define DB_STMT 2
80
-
81
- #define CONN_ERROR 1
82
- #define STMT_ERROR 2
83
-
84
- /*Used to decide if LITERAL REPLACEMENT should be turned on or not*/
85
- #define SET_QUOTED_LITERAL_REPLACEMENT_ON 1
86
- #define SET_QUOTED_LITERAL_REPLACEMENT_OFF 0
87
-
88
- /* DB2 instance environment variable */
89
- #define DB2_VAR_INSTANCE "DB2INSTANCE="
90
-
91
- /******** Makes code compatible with the options used by the user */
92
- #define BINARY 1
93
- #define CONVERT 2
94
- #define PASSTHRU 3
95
- #define PARAM_FILE 11
96
-
97
- #ifdef PASE
98
- #define SQL_IS_INTEGER 0
99
- #define SQL_BEST_ROWID 0
100
- #define SQLLEN long
101
- #define SQLFLOAT double
102
- #endif
103
-
104
- /*fetch*/
105
- #define FETCH_INDEX 0x01
106
- #define FETCH_ASSOC 0x02
107
- #define FETCH_BOTH 0x03
108
-
109
- /* Change column case */
110
- #define ATTR_CASE 3271982
111
- #define CASE_NATURAL 0
112
- #define CASE_LOWER 1
113
- #define CASE_UPPER 2
114
-
115
- /* maximum sizes */
116
- #define USERID_LEN 16
117
- #define ACCTSTR_LEN 200
118
- #define APPLNAME_LEN 32
119
- #define WRKSTNNAME_LEN 18
120
-
121
- /*
122
- * Enum for Decfloat Rounding Modes
123
- * */
124
- enum
125
- {
126
- ROUND_HALF_EVEN = 0,
127
- ROUND_HALF_UP,
128
- ROUND_DOWN,
129
- ROUND_CEILING,
130
- ROUND_FLOOR
131
- }ROUNDING_MODE;
132
-
133
- void Init_ibm_db();
134
-
135
- /* Function Declarations */
136
-
137
- VALUE ibm_db_connect(int argc, VALUE *argv, VALUE self);
138
- VALUE ibm_db_createDB(int argc, VALUE *argv, VALUE self);
139
- VALUE ibm_db_dropDB(int argc, VALUE *argv, VALUE self);
140
- VALUE ibm_db_createDBNX(int argc, VALUE *argv, VALUE self);
141
- VALUE ibm_db_commit(int argc, VALUE *argv, VALUE self);
142
- VALUE ibm_db_pconnect(int argc, VALUE *argv, VALUE self);
143
- VALUE ibm_db_autocommit(int argc, VALUE *argv, VALUE self);
144
- VALUE ibm_db_bind_param(int argc, VALUE *argv, VALUE self);
145
- VALUE ibm_db_close(int argc, VALUE *argv, VALUE self);
146
- VALUE ibm_db_columnprivileges(int argc, VALUE *argv, VALUE self);
147
- VALUE ibm_db_column_privileges(int argc, VALUE *argv, VALUE self);
148
- VALUE ibm_db_columns(int argc, VALUE *argv, VALUE self);
149
- VALUE ibm_db_foreignkeys(int argc, VALUE *argv, VALUE self);
150
- VALUE ibm_db_foreign_keys(int argc, VALUE *argv, VALUE self);
151
- VALUE ibm_db_primarykeys(int argc, VALUE *argv, VALUE self);
152
- VALUE ibm_db_primary_keys(int argc, VALUE *argv, VALUE self);
153
- VALUE ibm_db_procedure_columns(int argc, VALUE *argv, VALUE self);
154
- VALUE ibm_db_procedures(int argc, VALUE *argv, VALUE self);
155
- VALUE ibm_db_specialcolumns(int argc, VALUE *argv, VALUE self);
156
- VALUE ibm_db_special_columns(int argc, VALUE *argv, VALUE self);
157
- VALUE ibm_db_statistics(int argc, VALUE *argv, VALUE self);
158
- VALUE ibm_db_tableprivileges(int argc, VALUE *argv, VALUE self);
159
- VALUE ibm_db_table_privileges(int argc, VALUE *argv, VALUE self);
160
- VALUE ibm_db_tables(int argc, VALUE *argv, VALUE self);
161
- VALUE ibm_db_commit(int argc, VALUE *argv, VALUE self);
162
- VALUE ibm_db_exec(int argc, VALUE *argv, VALUE self);
163
- VALUE ibm_db_prepare(int argc, VALUE *argv, VALUE self);
164
- VALUE ibm_db_execute(int argc, VALUE *argv, VALUE self);
165
- VALUE ibm_db_conn_errormsg(int argc, VALUE *argv, VALUE self);
166
- VALUE ibm_db_stmt_errormsg(int argc, VALUE *argv, VALUE self);
167
- VALUE ibm_db_getErrormsg(int argc, VALUE *argv, VALUE self);
168
- VALUE ibm_db_getErrorstate(int argc, VALUE *argv, VALUE self);
169
- VALUE ibm_db_conn_error(int argc, VALUE *argv, VALUE self);
170
- VALUE ibm_db_stmt_error(int argc, VALUE *argv, VALUE self);
171
- VALUE ibm_db_next_result(int argc, VALUE *argv, VALUE self);
172
- VALUE ibm_db_num_fields(int argc, VALUE *argv, VALUE self);
173
- VALUE ibm_db_num_rows(int argc, VALUE *argv, VALUE self);
174
- VALUE ibm_db_result_cols(int argc, VALUE *argv, VALUE self);
175
- VALUE ibm_db_field_name(int argc, VALUE *argv, VALUE self);
176
- VALUE ibm_db_field_display_size(int argc, VALUE *argv, VALUE self);
177
- VALUE ibm_db_field_num(int argc, VALUE *argv, VALUE self);
178
- VALUE ibm_db_field_precision(int argc, VALUE *argv, VALUE self);
179
- VALUE ibm_db_field_scale(int argc, VALUE *argv, VALUE self);
180
- VALUE ibm_db_field_type(int argc, VALUE *argv, VALUE self);
181
- VALUE ibm_db_field_width(int argc, VALUE *argv, VALUE self);
182
- VALUE ibm_db_cursor_type(int argc, VALUE *argv, VALUE self);
183
- VALUE ibm_db_rollback(int argc, VALUE *argv, VALUE self);
184
- VALUE ibm_db_free_stmt(int argc, VALUE *argv, VALUE self);
185
- VALUE ibm_db_result(int argc, VALUE *argv, VALUE self);
186
- VALUE ibm_db_fetch_row(int argc, VALUE *argv, VALUE self);
187
- VALUE ibm_db_fetch_assoc(int argc, VALUE *argv, VALUE self);
188
- VALUE ibm_db_fetch_array(int argc, VALUE *argv, VALUE self);
189
- VALUE ibm_db_fetch_both(int argc, VALUE *argv, VALUE self);
190
- VALUE ibm_db_result_all(int argc, VALUE *argv, VALUE self);
191
- VALUE ibm_db_free_result(int argc, VALUE *argv, VALUE self);
192
- VALUE ibm_db_set_option(int argc, VALUE *argv, VALUE self);
193
- VALUE ibm_db_setoption(int argc, VALUE *argv, VALUE self);
194
- VALUE ibm_db_get_option(int argc, VALUE *argv, VALUE self);
195
- VALUE ibm_db_get_last_serial_value(int argc, VALUE *argv, VALUE self);
196
- VALUE ibm_db_getoption(int argc, VALUE *argv, VALUE self);
197
- VALUE ibm_db_fetch_object(int argc, VALUE *argv, VALUE self);
198
- VALUE ibm_db_server_info(int argc, VALUE *argv, VALUE self);
199
- VALUE ibm_db_client_info(int argc, VALUE *argv, VALUE self);
200
- VALUE ibm_db_active(int argc, VALUE *argv, VALUE self);
201
-
202
- /*
203
- Declare any global variables you may need between the BEGIN
204
- and END macros here:
205
- */
206
- struct _ibm_db_globals {
207
- int bin_mode;
208
- #ifdef UNICODE_SUPPORT_VERSION
209
- SQLWCHAR __ruby_conn_err_msg[DB2_MAX_ERR_MSG_LEN];
210
- SQLWCHAR __ruby_stmt_err_msg[DB2_MAX_ERR_MSG_LEN];
211
- SQLWCHAR __ruby_conn_err_state[SQL_SQLSTATE_SIZE + 1];
212
- SQLWCHAR __ruby_stmt_err_state[SQL_SQLSTATE_SIZE + 1];
213
- #else
214
- char __ruby_conn_err_msg[DB2_MAX_ERR_MSG_LEN];
215
- char __ruby_stmt_err_msg[DB2_MAX_ERR_MSG_LEN];
216
- char __ruby_conn_err_state[SQL_SQLSTATE_SIZE + 1];
217
- char __ruby_stmt_err_state[SQL_SQLSTATE_SIZE + 1];
218
- #endif
219
-
220
- #ifdef PASE /* i5/OS ease of use turn off commit */
221
- long i5_allow_commit;
222
- #endif /* PASE */
223
- };
224
-
225
- /*
226
- TODO: make this threadsafe
227
- */
228
-
229
- #define IBM_DB_G(v) (ibm_db_globals->v)
230
-
231
- #endif /* RUBY_IBM_DB_H */
232
-
233
-
234
- /*
235
- * Local variables:
236
- * tab-width: 4
237
- * c-basic-offset: 4
238
- * indent-tabs-mode: t
239
- * End:
240
- */
1
+ /*
2
+ +----------------------------------------------------------------------+
3
+ | Licensed Materials - Property of IBM |
4
+ | |
5
+ | (C) Copyright IBM Corporation 2006 - 2015 |
6
+ +----------------------------------------------------------------------+
7
+ | Authors: Sushant Koduru, Lynh Nguyen, Kanchana Padmanabhan, |
8
+ | Dan Scott, Helmut Tessarek, Kellen Bombardier, Sam Ruby |
9
+ | Ambrish Bhargava, Tarun Pasrija, Praveen Devarao, |
10
+ | Arvind Gupta |
11
+ +----------------------------------------------------------------------+
12
+ */
13
+
14
+ #ifndef RUBY_IBM_DB_H
15
+ #define RUBY_IBM_DB_H
16
+
17
+ #include <stdio.h>
18
+ #include <string.h>
19
+ #include <stdlib.h>
20
+ #include <sqlcli1.h>
21
+
22
+ #ifndef SQL_XML
23
+ #define SQL_XML -370
24
+ #endif
25
+
26
+ /* Needed for Backward compatibility */
27
+ #ifndef SQL_DECFLOAT
28
+ #define SQL_DECFLOAT -360
29
+ #endif
30
+
31
+ /* needed for backward compatibility (SQL_ATTR_ROWCOUNT_PREFETCH not defined prior to DB2 9.5.0.3) */
32
+ #ifndef SQL_ATTR_ROWCOUNT_PREFETCH
33
+ #define SQL_ATTR_ROWCOUNT_PREFETCH 2592
34
+ #define SQL_ROWCOUNT_PREFETCH_OFF 0
35
+ #define SQL_ROWCOUNT_PREFETCH_ON 1
36
+ #endif
37
+
38
+ /* SQL_ATTR_USE_TRUSTED_CONTEXT,
39
+ * SQL_ATTR_TRUSTED_CONTEXT_USERID and
40
+ * SQL_ATTR_TRUSTED_CONTEXT_PASSWORD
41
+ * not defined prior to DB2 v9 */
42
+ #ifndef SQL_ATTR_USE_TRUSTED_CONTEXT
43
+ #define SQL_ATTR_USE_TRUSTED_CONTEXT 2561
44
+ #define SQL_ATTR_TRUSTED_CONTEXT_USERID 2562
45
+ #define SQL_ATTR_TRUSTED_CONTEXT_PASSWORD 2563
46
+ #endif
47
+
48
+ #ifndef SQL_ATTR_REPLACE_QUOTED_LITERALS
49
+ #define SQL_ATTR_REPLACE_QUOTED_LITERALS 2586
50
+ #endif
51
+
52
+ /* CLI v9.1 FP3 and below has a SQL_ATTR_REPLACE_QUOTED_LITERALS value of 116
53
+ * We need to support both the new and old values for compatibility with older
54
+ * versions of CLI. CLI v9.1 FP4 and beyond changed this value to 2586
55
+ */
56
+ #define SQL_ATTR_REPLACE_QUOTED_LITERALS_OLDVALUE 116
57
+
58
+ /* If using a DB2 CLI version which doesn't support this functionality, explicitly
59
+ * define this. We will rely on DB2 CLI to throw an error when SQLGetStmtAttr is
60
+ * called.
61
+ */
62
+ #ifndef SQL_ATTR_GET_GENERATED_VALUE
63
+ #define SQL_ATTR_GET_GENERATED_VALUE 2578
64
+ #endif
65
+
66
+ #ifdef _WIN32
67
+ #define RUBY_IBM_DB_API __declspec(dllexport)
68
+ #else
69
+ #define RUBY_IBM_DB_API
70
+ #endif
71
+
72
+ /* strlen(" SQLCODE=") added in */
73
+ #define DB2_MAX_ERR_MSG_LEN (SQL_MAX_MESSAGE_LENGTH + SQL_SQLSTATE_SIZE + 10)
74
+
75
+ /*Used to find the type of resource and the error type required*/
76
+ #define DB_ERRMSG 1
77
+ #define DB_ERR_STATE 2
78
+
79
+ #define DB_CONN 1
80
+ #define DB_STMT 2
81
+
82
+ #define CONN_ERROR 1
83
+ #define STMT_ERROR 2
84
+
85
+ /*Used to decide if LITERAL REPLACEMENT should be turned on or not*/
86
+ #define SET_QUOTED_LITERAL_REPLACEMENT_ON 1
87
+ #define SET_QUOTED_LITERAL_REPLACEMENT_OFF 0
88
+
89
+ /* DB2 instance environment variable */
90
+ #define DB2_VAR_INSTANCE "DB2INSTANCE="
91
+
92
+ /******** Makes code compatible with the options used by the user */
93
+ #define BINARY 1
94
+ #define CONVERT 2
95
+ #define PASSTHRU 3
96
+ #define PARAM_FILE 11
97
+
98
+ #ifdef PASE
99
+ #define SQL_IS_INTEGER 0
100
+ #define SQL_BEST_ROWID 0
101
+ #define SQLLEN long
102
+ #define SQLFLOAT double
103
+ #endif
104
+
105
+ /*fetch*/
106
+ #define FETCH_INDEX 0x01
107
+ #define FETCH_ASSOC 0x02
108
+ #define FETCH_BOTH 0x03
109
+
110
+ /* Change column case */
111
+ #define ATTR_CASE 3271982
112
+ #define CASE_NATURAL 0
113
+ #define CASE_LOWER 1
114
+ #define CASE_UPPER 2
115
+
116
+ /* maximum sizes */
117
+ #define USERID_LEN 16
118
+ #define ACCTSTR_LEN 200
119
+ #define APPLNAME_LEN 32
120
+ #define WRKSTNNAME_LEN 18
121
+
122
+ /*
123
+ * Enum for Decfloat Rounding Modes
124
+ * */
125
+ enum
126
+ {
127
+ ROUND_HALF_EVEN = 0,
128
+ ROUND_HALF_UP,
129
+ ROUND_DOWN,
130
+ ROUND_CEILING,
131
+ ROUND_FLOOR
132
+ }ROUNDING_MODE;
133
+
134
+ void Init_ibm_db();
135
+
136
+ /* Function Declarations */
137
+
138
+ VALUE ibm_db_connect(int argc, VALUE *argv, VALUE self);
139
+ VALUE ibm_db_createDB(int argc, VALUE *argv, VALUE self);
140
+ VALUE ibm_db_dropDB(int argc, VALUE *argv, VALUE self);
141
+ VALUE ibm_db_createDBNX(int argc, VALUE *argv, VALUE self);
142
+ VALUE ibm_db_commit(int argc, VALUE *argv, VALUE self);
143
+ VALUE ibm_db_pconnect(int argc, VALUE *argv, VALUE self);
144
+ VALUE ibm_db_autocommit(int argc, VALUE *argv, VALUE self);
145
+ VALUE ibm_db_bind_param(int argc, VALUE *argv, VALUE self);
146
+ VALUE ibm_db_close(int argc, VALUE *argv, VALUE self);
147
+ VALUE ibm_db_columnprivileges(int argc, VALUE *argv, VALUE self);
148
+ VALUE ibm_db_column_privileges(int argc, VALUE *argv, VALUE self);
149
+ VALUE ibm_db_columns(int argc, VALUE *argv, VALUE self);
150
+ VALUE ibm_db_foreignkeys(int argc, VALUE *argv, VALUE self);
151
+ VALUE ibm_db_foreign_keys(int argc, VALUE *argv, VALUE self);
152
+ VALUE ibm_db_primarykeys(int argc, VALUE *argv, VALUE self);
153
+ VALUE ibm_db_primary_keys(int argc, VALUE *argv, VALUE self);
154
+ VALUE ibm_db_procedure_columns(int argc, VALUE *argv, VALUE self);
155
+ VALUE ibm_db_procedures(int argc, VALUE *argv, VALUE self);
156
+ VALUE ibm_db_specialcolumns(int argc, VALUE *argv, VALUE self);
157
+ VALUE ibm_db_special_columns(int argc, VALUE *argv, VALUE self);
158
+ VALUE ibm_db_statistics(int argc, VALUE *argv, VALUE self);
159
+ VALUE ibm_db_tableprivileges(int argc, VALUE *argv, VALUE self);
160
+ VALUE ibm_db_table_privileges(int argc, VALUE *argv, VALUE self);
161
+ VALUE ibm_db_tables(int argc, VALUE *argv, VALUE self);
162
+ VALUE ibm_db_commit(int argc, VALUE *argv, VALUE self);
163
+ VALUE ibm_db_exec(int argc, VALUE *argv, VALUE self);
164
+ VALUE ibm_db_prepare(int argc, VALUE *argv, VALUE self);
165
+ VALUE ibm_db_execute(int argc, VALUE *argv, VALUE self);
166
+ VALUE ibm_db_conn_errormsg(int argc, VALUE *argv, VALUE self);
167
+ VALUE ibm_db_stmt_errormsg(int argc, VALUE *argv, VALUE self);
168
+ VALUE ibm_db_getErrormsg(int argc, VALUE *argv, VALUE self);
169
+ VALUE ibm_db_getErrorstate(int argc, VALUE *argv, VALUE self);
170
+ VALUE ibm_db_conn_error(int argc, VALUE *argv, VALUE self);
171
+ VALUE ibm_db_stmt_error(int argc, VALUE *argv, VALUE self);
172
+ VALUE ibm_db_next_result(int argc, VALUE *argv, VALUE self);
173
+ VALUE ibm_db_num_fields(int argc, VALUE *argv, VALUE self);
174
+ VALUE ibm_db_num_rows(int argc, VALUE *argv, VALUE self);
175
+ VALUE ibm_db_result_cols(int argc, VALUE *argv, VALUE self);
176
+ VALUE ibm_db_field_name(int argc, VALUE *argv, VALUE self);
177
+ VALUE ibm_db_field_display_size(int argc, VALUE *argv, VALUE self);
178
+ VALUE ibm_db_field_num(int argc, VALUE *argv, VALUE self);
179
+ VALUE ibm_db_field_precision(int argc, VALUE *argv, VALUE self);
180
+ VALUE ibm_db_field_scale(int argc, VALUE *argv, VALUE self);
181
+ VALUE ibm_db_field_type(int argc, VALUE *argv, VALUE self);
182
+ VALUE ibm_db_field_width(int argc, VALUE *argv, VALUE self);
183
+ VALUE ibm_db_cursor_type(int argc, VALUE *argv, VALUE self);
184
+ VALUE ibm_db_rollback(int argc, VALUE *argv, VALUE self);
185
+ VALUE ibm_db_free_stmt(int argc, VALUE *argv, VALUE self);
186
+ VALUE ibm_db_result(int argc, VALUE *argv, VALUE self);
187
+ VALUE ibm_db_fetch_row(int argc, VALUE *argv, VALUE self);
188
+ VALUE ibm_db_fetch_assoc(int argc, VALUE *argv, VALUE self);
189
+ VALUE ibm_db_fetch_array(int argc, VALUE *argv, VALUE self);
190
+ VALUE ibm_db_fetch_both(int argc, VALUE *argv, VALUE self);
191
+ VALUE ibm_db_result_all(int argc, VALUE *argv, VALUE self);
192
+ VALUE ibm_db_free_result(int argc, VALUE *argv, VALUE self);
193
+ VALUE ibm_db_set_option(int argc, VALUE *argv, VALUE self);
194
+ VALUE ibm_db_setoption(int argc, VALUE *argv, VALUE self);
195
+ VALUE ibm_db_get_option(int argc, VALUE *argv, VALUE self);
196
+ VALUE ibm_db_get_last_serial_value(int argc, VALUE *argv, VALUE self);
197
+ VALUE ibm_db_getoption(int argc, VALUE *argv, VALUE self);
198
+ VALUE ibm_db_fetch_object(int argc, VALUE *argv, VALUE self);
199
+ VALUE ibm_db_server_info(int argc, VALUE *argv, VALUE self);
200
+ VALUE ibm_db_client_info(int argc, VALUE *argv, VALUE self);
201
+ VALUE ibm_db_active(int argc, VALUE *argv, VALUE self);
202
+
203
+ /*
204
+ Declare any global variables you may need between the BEGIN
205
+ and END macros here:
206
+ */
207
+ struct _ibm_db_globals {
208
+ int bin_mode;
209
+ #ifdef UNICODE_SUPPORT_VERSION
210
+ SQLWCHAR __ruby_conn_err_msg[DB2_MAX_ERR_MSG_LEN];
211
+ SQLWCHAR __ruby_stmt_err_msg[DB2_MAX_ERR_MSG_LEN];
212
+ SQLWCHAR __ruby_conn_err_state[SQL_SQLSTATE_SIZE + 1];
213
+ SQLWCHAR __ruby_stmt_err_state[SQL_SQLSTATE_SIZE + 1];
214
+ #else
215
+ char __ruby_conn_err_msg[DB2_MAX_ERR_MSG_LEN];
216
+ char __ruby_stmt_err_msg[DB2_MAX_ERR_MSG_LEN];
217
+ char __ruby_conn_err_state[SQL_SQLSTATE_SIZE + 1];
218
+ char __ruby_stmt_err_state[SQL_SQLSTATE_SIZE + 1];
219
+ #endif
220
+
221
+ #ifdef PASE /* i5/OS ease of use turn off commit */
222
+ long i5_allow_commit;
223
+ #endif /* PASE */
224
+ };
225
+
226
+ /*
227
+ TODO: make this threadsafe
228
+ */
229
+
230
+ #define IBM_DB_G(v) (ibm_db_globals->v)
231
+
232
+ #endif /* RUBY_IBM_DB_H */
233
+
234
+
235
+ /*
236
+ * Local variables:
237
+ * tab-width: 4
238
+ * c-basic-offset: 4
239
+ * indent-tabs-mode: t
240
+ * End:
241
+ */