ibm_db 2.5.26-x86-mingw32 → 2.5.27-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGES +5 -1
- data/README +1 -1
- data/ext/ibm_db.c +437 -351
- data/ext/ruby_ibm_db.h +241 -240
- data/ext/ruby_ibm_db_cli.c +32 -26
- data/ext/ruby_ibm_db_cli.h +15 -4
- data/lib/active_record/connection_adapters/ibm_db_adapter.rb +1 -0
- data/lib/mswin32/ibm_db.rb +2 -2
- data/lib/mswin32/rb22x/i386/ibm_db.so +0 -0
- metadata +2 -2
data/ext/ruby_ibm_db_cli.c
CHANGED
@@ -2,9 +2,9 @@
|
|
2
2
|
+----------------------------------------------------------------------+
|
3
3
|
| Licensed Materials - Property of IBM |
|
4
4
|
| |
|
5
|
-
| (C) Copyright IBM Corporation 2009
|
5
|
+
| (C) Copyright IBM Corporation 2009 - 2015 |
|
6
6
|
+----------------------------------------------------------------------+
|
7
|
-
| Authors: Praveen Devarao
|
7
|
+
| Authors: Praveen Devarao, Arvind Gupta |
|
8
8
|
+----------------------------------------------------------------------+
|
9
9
|
*/
|
10
10
|
|
@@ -21,6 +21,8 @@
|
|
21
21
|
With this the executing thread will become unblocking allowing concurrent threads perform operations simultaneously.
|
22
22
|
*/
|
23
23
|
|
24
|
+
#include "ruby.h"
|
25
|
+
|
24
26
|
#include "ruby_ibm_db_cli.h"
|
25
27
|
|
26
28
|
/*
|
@@ -60,7 +62,7 @@ int _ruby_ibm_db_SQLDisconnect_helper(SQLHANDLE *hdbc) {
|
|
60
62
|
Connection level Unblock function. This function is called when a thread interruput is issued while executing a
|
61
63
|
connection level SQL call
|
62
64
|
*/
|
63
|
-
void _ruby_ibm_db_Connection_level_UBF(void *data) {
|
65
|
+
void _ruby_ibm_db_Connection_level_UBF(void *data) {
|
64
66
|
return;
|
65
67
|
}
|
66
68
|
|
@@ -68,7 +70,10 @@ void _ruby_ibm_db_Connection_level_UBF(void *data) {
|
|
68
70
|
This function will commit and end the inprogress transaction by issuing a SQLCommit
|
69
71
|
*/
|
70
72
|
int _ruby_ibm_db_SQLEndTran(end_tran_args *endtran_args) {
|
71
|
-
|
73
|
+
int rc = 0;
|
74
|
+
rc = SQLEndTran( endtran_args->handleType, *(endtran_args->hdbc), endtran_args->completionType );
|
75
|
+
endtran_args->rc = rc;
|
76
|
+
return rc;
|
72
77
|
}
|
73
78
|
|
74
79
|
/*
|
@@ -82,7 +87,7 @@ int _ruby_ibm_db_SQLDescribeParam_helper(describeparam_args *data) {
|
|
82
87
|
&(data->sql_precision), &(data->sql_scale), &(data->sql_nullable) );
|
83
88
|
|
84
89
|
data->stmt_res->is_executing = 0;
|
85
|
-
|
90
|
+
data->rc = rc;
|
86
91
|
return rc;
|
87
92
|
}
|
88
93
|
|
@@ -117,7 +122,6 @@ int _ruby_ibm_db_SQLDescribeCol_helper(describecol_args *data) {
|
|
117
122
|
*/
|
118
123
|
int _ruby_ibm_db_SQLBindCol_helper(bind_col_args *data) {
|
119
124
|
int rc = 0;
|
120
|
-
|
121
125
|
data->stmt_res->is_executing = 1;
|
122
126
|
|
123
127
|
rc = SQLBindCol( (SQLHSTMT) data->stmt_res->hstmt, (SQLUSMALLINT)(data->col_num),
|
@@ -125,7 +129,6 @@ int _ruby_ibm_db_SQLBindCol_helper(bind_col_args *data) {
|
|
125
129
|
data->out_length );
|
126
130
|
|
127
131
|
data->stmt_res->is_executing = 0;
|
128
|
-
|
129
132
|
return rc;
|
130
133
|
}
|
131
134
|
|
@@ -148,7 +151,7 @@ int _ruby_ibm_db_SQLColumnPrivileges_helper(metadata_args *data) {
|
|
148
151
|
#endif
|
149
152
|
|
150
153
|
data->stmt_res->is_executing = 0;
|
151
|
-
|
154
|
+
data->rc=rc;
|
152
155
|
return rc;
|
153
156
|
|
154
157
|
}
|
@@ -172,7 +175,7 @@ int _ruby_ibm_db_SQLColumns_helper(metadata_args *data) {
|
|
172
175
|
#endif
|
173
176
|
|
174
177
|
data->stmt_res->is_executing = 0;
|
175
|
-
|
178
|
+
data->rc = rc;
|
176
179
|
return rc;
|
177
180
|
}
|
178
181
|
|
@@ -193,7 +196,7 @@ int _ruby_ibm_db_SQLPrimaryKeys_helper(metadata_args *data) {
|
|
193
196
|
#endif
|
194
197
|
|
195
198
|
data->stmt_res->is_executing = 0;
|
196
|
-
|
199
|
+
data->rc = rc;
|
197
200
|
return rc;
|
198
201
|
}
|
199
202
|
|
@@ -216,7 +219,7 @@ int _ruby_ibm_db_SQLForeignKeys_helper(metadata_args *data) {
|
|
216
219
|
#endif
|
217
220
|
|
218
221
|
data->stmt_res->is_executing = 0;
|
219
|
-
|
222
|
+
data->rc = rc;
|
220
223
|
return rc;
|
221
224
|
}
|
222
225
|
|
@@ -238,7 +241,7 @@ int _ruby_ibm_db_SQLProcedureColumns_helper(metadata_args *data) {
|
|
238
241
|
#endif
|
239
242
|
|
240
243
|
data->stmt_res->is_executing = 0;
|
241
|
-
|
244
|
+
data->rc = rc;
|
242
245
|
return rc;
|
243
246
|
}
|
244
247
|
|
@@ -260,7 +263,7 @@ int _ruby_ibm_db_SQLProcedures_helper(metadata_args *data) {
|
|
260
263
|
#endif
|
261
264
|
|
262
265
|
data->stmt_res->is_executing = 0;
|
263
|
-
|
266
|
+
data->rc = rc;
|
264
267
|
return rc;
|
265
268
|
}
|
266
269
|
|
@@ -284,7 +287,7 @@ int _ruby_ibm_db_SQLSpecialColumns_helper(metadata_args *data) {
|
|
284
287
|
#endif
|
285
288
|
|
286
289
|
data->stmt_res->is_executing = 0;
|
287
|
-
|
290
|
+
data->rc = rc;
|
288
291
|
return rc;
|
289
292
|
}
|
290
293
|
|
@@ -305,7 +308,7 @@ int _ruby_ibm_db_SQLStatistics_helper(metadata_args *data) {
|
|
305
308
|
#endif
|
306
309
|
|
307
310
|
data->stmt_res->is_executing = 0;
|
308
|
-
|
311
|
+
data->rc= rc;
|
309
312
|
return rc;
|
310
313
|
}
|
311
314
|
|
@@ -327,7 +330,7 @@ int _ruby_ibm_db_SQLTablePrivileges_helper(metadata_args *data) {
|
|
327
330
|
#endif
|
328
331
|
|
329
332
|
data->stmt_res->is_executing = 0;
|
330
|
-
|
333
|
+
data->rc = rc;
|
331
334
|
return rc;
|
332
335
|
}
|
333
336
|
|
@@ -349,7 +352,7 @@ int _ruby_ibm_db_SQLTables_helper(metadata_args *data) {
|
|
349
352
|
#endif
|
350
353
|
|
351
354
|
data->stmt_res->is_executing = 0;
|
352
|
-
|
355
|
+
data->rc = rc;
|
353
356
|
return rc;
|
354
357
|
}
|
355
358
|
|
@@ -362,13 +365,13 @@ int _ruby_ibm_db_SQLExecDirect_helper(exec_cum_prepare_args *data) {
|
|
362
365
|
data->stmt_res->is_executing = 1;
|
363
366
|
|
364
367
|
#ifndef UNICODE_SUPPORT_VERSION
|
365
|
-
rc = SQLExecDirect( (SQLHSTMT) data->stmt_res->hstmt, data->stmt_string, (SQLINTEGER)data->stmt_string_len );
|
368
|
+
rc = SQLExecDirect( (SQLHSTMT) data->stmt_res->hstmt, data->stmt_string, (SQLINTEGER)data->stmt_string_len );
|
366
369
|
#else
|
367
370
|
rc = SQLExecDirectW( (SQLHSTMT) data->stmt_res->hstmt, data->stmt_string, (SQLINTEGER)data->stmt_string_len );
|
368
371
|
#endif
|
369
372
|
|
370
373
|
data->stmt_res->is_executing = 0;
|
371
|
-
|
374
|
+
data->rc=rc;
|
372
375
|
return rc;
|
373
376
|
}
|
374
377
|
|
@@ -422,7 +425,8 @@ int _ruby_ibm_db_SQLCreateDB_helper(create_drop_db_args *data) {
|
|
422
425
|
rc = (*sqlcreatedb)( (SQLHSTMT) data->conn_res->hdbc, data->dbName, (SQLINTEGER)data->dbName_string_len,
|
423
426
|
data->codeSet, (SQLINTEGER)data->codeSet_string_len,
|
424
427
|
data->mode, (SQLINTEGER)data->mode_string_len );
|
425
|
-
|
428
|
+
data->rc =rc;
|
429
|
+
DLCLOSE( cliLib );
|
426
430
|
return rc;
|
427
431
|
}
|
428
432
|
|
@@ -506,10 +510,10 @@ int _ruby_ibm_db_SQLFreeStmt_helper(free_stmt_args *data) {
|
|
506
510
|
|
507
511
|
data->stmt_res->is_executing = 1;
|
508
512
|
|
509
|
-
SQLFreeStmt((SQLHSTMT)data->stmt_res->hstmt, data->option );
|
513
|
+
rc = SQLFreeStmt((SQLHSTMT)data->stmt_res->hstmt, data->option );
|
510
514
|
|
511
515
|
data->stmt_res->is_executing = 0;
|
512
|
-
|
516
|
+
data->rc = rc;
|
513
517
|
return rc;
|
514
518
|
}
|
515
519
|
|
@@ -555,7 +559,7 @@ int _ruby_ibm_db_SQLColAttributes_helper(col_attr_args *data) {
|
|
555
559
|
data->FieldIdentifier, NULL, 0, NULL, &(data->num_attr) );
|
556
560
|
|
557
561
|
data->stmt_res->is_executing = 0;
|
558
|
-
|
562
|
+
data->rc = rc;
|
559
563
|
return rc;
|
560
564
|
}
|
561
565
|
|
@@ -639,7 +643,7 @@ int _ruby_ibm_db_SQLNextResult_helper(next_result_args *data) {
|
|
639
643
|
rc = SQLNextResult( (SQLHSTMT) data->stmt_res->hstmt, (SQLHSTMT) *(data->new_hstmt) );
|
640
644
|
|
641
645
|
data->stmt_res->is_executing = 0;
|
642
|
-
|
646
|
+
data->rc = rc;
|
643
647
|
return rc;
|
644
648
|
}
|
645
649
|
|
@@ -685,7 +689,7 @@ int _ruby_ibm_db_SQLNumResultCols_helper(row_col_count_args *data) {
|
|
685
689
|
rc = SQLNumResultCols( (SQLHSTMT) data->stmt_res->hstmt, (SQLSMALLINT*) &(data->count) );
|
686
690
|
|
687
691
|
data->stmt_res->is_executing = 0;
|
688
|
-
|
692
|
+
data->rc = rc;
|
689
693
|
return rc;
|
690
694
|
}
|
691
695
|
|
@@ -735,8 +739,10 @@ int _ruby_ibm_db_SQLGetInfo_helper(get_info_args *data) {
|
|
735
739
|
*/
|
736
740
|
int _ruby_ibm_db_SQLGetDiagRec_helper(get_diagRec_args *data) {
|
737
741
|
#ifdef UNICODE_SUPPORT_VERSION
|
738
|
-
|
742
|
+
int rc= SQLGetDiagRecW( data->hType, data->handle, data->recNum, data->SQLState, data->NativeErrorPtr,
|
739
743
|
data->msgText, data->buff_length, data->text_length_ptr );
|
744
|
+
data->return_code=rc;
|
745
|
+
return rc;
|
740
746
|
#else
|
741
747
|
return SQLGetDiagRec(data->hType, data->handle, data->recNum, data->SQLState, data->NativeErrorPtr,
|
742
748
|
data->msgText, data->buff_length, data->text_length_ptr );
|
data/ext/ruby_ibm_db_cli.h
CHANGED
@@ -2,9 +2,9 @@
|
|
2
2
|
+----------------------------------------------------------------------+
|
3
3
|
| Licensed Materials - Property of IBM |
|
4
4
|
| |
|
5
|
-
| (C) Copyright IBM Corporation 2009
|
5
|
+
| (C) Copyright IBM Corporation 2009 - 2015 |
|
6
6
|
+----------------------------------------------------------------------+
|
7
|
-
| Authors: Praveen Devarao
|
7
|
+
| Authors: Praveen Devarao, Arvind Gupta |
|
8
8
|
+----------------------------------------------------------------------+
|
9
9
|
*/
|
10
10
|
|
@@ -89,7 +89,6 @@ typedef struct _conn_handle_struct {
|
|
89
89
|
SQLSMALLINT ruby_error_msg_len;
|
90
90
|
|
91
91
|
SQLINTEGER sqlcode;
|
92
|
-
|
93
92
|
} conn_handle;
|
94
93
|
|
95
94
|
typedef union {
|
@@ -151,6 +150,7 @@ typedef struct _stmt_handle_struct {
|
|
151
150
|
SQLPOINTER ruby_stmt_err_state;
|
152
151
|
SQLSMALLINT ruby_stmt_err_msg_len;
|
153
152
|
SQLINTEGER sqlcode;
|
153
|
+
int rc;
|
154
154
|
} stmt_handle;
|
155
155
|
|
156
156
|
/*
|
@@ -180,6 +180,7 @@ typedef struct _ibm_db_end_tran_args_struct {
|
|
180
180
|
SQLHANDLE *hdbc;
|
181
181
|
SQLSMALLINT handleType;
|
182
182
|
SQLSMALLINT completionType;
|
183
|
+
int rc;
|
183
184
|
} end_tran_args;
|
184
185
|
|
185
186
|
/*
|
@@ -192,6 +193,7 @@ typedef struct _ibm_db_describeparam_args_struct {
|
|
192
193
|
SQLUINTEGER sql_precision;
|
193
194
|
SQLSMALLINT sql_scale;
|
194
195
|
SQLSMALLINT sql_nullable;
|
196
|
+
int rc;
|
195
197
|
} describeparam_args;
|
196
198
|
|
197
199
|
/*
|
@@ -232,6 +234,7 @@ typedef struct _ibm_db_metadata_args_struct {
|
|
232
234
|
SQLSMALLINT table_type_len;
|
233
235
|
int scope; /*Used in SQLSpecialColumns To determine the scope of the unique row identifier*/
|
234
236
|
int unique; /*Used in SQLStatistics to determine if only unique indexes are to be fetched or all*/
|
237
|
+
int rc;
|
235
238
|
|
236
239
|
} metadata_args;
|
237
240
|
|
@@ -246,6 +249,7 @@ typedef struct _ibm_db_exec_direct_args_struct {
|
|
246
249
|
SQLCHAR *stmt_string;
|
247
250
|
#endif
|
248
251
|
long stmt_string_len;
|
252
|
+
int rc;
|
249
253
|
} exec_cum_prepare_args;
|
250
254
|
|
251
255
|
/*
|
@@ -265,6 +269,7 @@ typedef struct _ibm_db_create_drop_db_args_struct {
|
|
265
269
|
long dbName_string_len;
|
266
270
|
long codeSet_string_len;
|
267
271
|
long mode_string_len;
|
272
|
+
int rc;
|
268
273
|
} create_drop_db_args;
|
269
274
|
|
270
275
|
/*
|
@@ -281,7 +286,7 @@ typedef struct _ibm_db_param_and_put_data_struct {
|
|
281
286
|
typedef struct _ibm_db_next_result_args_struct {
|
282
287
|
SQLHSTMT *new_hstmt;
|
283
288
|
stmt_handle *stmt_res;
|
284
|
-
|
289
|
+
int rc;
|
285
290
|
} next_result_args;
|
286
291
|
|
287
292
|
/*
|
@@ -290,6 +295,7 @@ typedef struct _ibm_db_next_result_args_struct {
|
|
290
295
|
typedef struct _ibm_db_row_col_count_struct {
|
291
296
|
stmt_handle *stmt_res;
|
292
297
|
SQLSMALLINT count;
|
298
|
+
int rc;
|
293
299
|
} row_col_count_args;
|
294
300
|
|
295
301
|
/*
|
@@ -298,6 +304,7 @@ typedef struct _ibm_db_row_col_count_struct {
|
|
298
304
|
typedef struct _ibm_db_row_count_struct {
|
299
305
|
stmt_handle *stmt_res;
|
300
306
|
SQLINTEGER count;
|
307
|
+
int rc;
|
301
308
|
} sql_row_count_args;
|
302
309
|
|
303
310
|
/*
|
@@ -308,6 +315,7 @@ typedef struct _ibm_db_col_attr_struct {
|
|
308
315
|
SQLSMALLINT col_num;
|
309
316
|
SQLSMALLINT FieldIdentifier;
|
310
317
|
SQLINTEGER num_attr;
|
318
|
+
int rc;
|
311
319
|
} col_attr_args;
|
312
320
|
|
313
321
|
/*
|
@@ -416,6 +424,7 @@ typedef struct _ibm_db_get_info_struct {
|
|
416
424
|
SQLPOINTER infoValue;
|
417
425
|
SQLSMALLINT buff_length;
|
418
426
|
SQLSMALLINT *out_length;
|
427
|
+
VALUE return_value;
|
419
428
|
} get_info_args;
|
420
429
|
|
421
430
|
/*
|
@@ -430,6 +439,7 @@ typedef struct _ibm_db_get_diagRec_struct {
|
|
430
439
|
SQLINTEGER *NativeErrorPtr;
|
431
440
|
SQLSMALLINT buff_length;
|
432
441
|
SQLSMALLINT *text_length_ptr;
|
442
|
+
int return_code;
|
433
443
|
} get_diagRec_args;
|
434
444
|
|
435
445
|
/*
|
@@ -438,6 +448,7 @@ typedef struct _ibm_db_get_diagRec_struct {
|
|
438
448
|
typedef struct _ibm_db_free_stmt_struct {
|
439
449
|
stmt_handle *stmt_res;
|
440
450
|
SQLUSMALLINT option;
|
451
|
+
int rc;
|
441
452
|
} free_stmt_args;
|
442
453
|
|
443
454
|
int _ruby_ibm_db_SQLConnect_helper(connect_args *data);
|
data/lib/mswin32/ibm_db.rb
CHANGED
@@ -14,7 +14,7 @@ elsif (RUBY_VERSION =~ /2.1./)
|
|
14
14
|
machine_bits = ['ibm'].pack('p').size * 8
|
15
15
|
if machine_bits == 64
|
16
16
|
#require 'mswin32/rb21x/x64/ibm_db.so'
|
17
|
-
raise NotImplementedError, "ibm_db with Ruby 2.
|
17
|
+
raise NotImplementedError, "ibm_db with Ruby 2.1 64-bit on Windows platform is not supported. Refer to README for more details"
|
18
18
|
else
|
19
19
|
require 'mswin32/rb21x/i386/ibm_db.so'
|
20
20
|
end
|
@@ -23,7 +23,7 @@ elsif (RUBY_VERSION =~ /2.2./ )
|
|
23
23
|
machine_bits = ['ibm'].pack('p').size * 8
|
24
24
|
if machine_bits == 64
|
25
25
|
#require 'mswin32/rb22x/x64/ibm_db.so'
|
26
|
-
raise NotImplementedError, "ibm_db with Ruby 2.
|
26
|
+
raise NotImplementedError, "ibm_db with Ruby 2.2 64-bit on Windows platform is not supported. Refer to README for more details"
|
27
27
|
else
|
28
28
|
require 'mswin32/rb22x/i386/ibm_db.so'
|
29
29
|
end
|
Binary file
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ibm_db
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.5.
|
4
|
+
version: 2.5.27
|
5
5
|
platform: x86-mingw32
|
6
6
|
authors:
|
7
7
|
- IBM
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-04
|
11
|
+
date: 2015-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|