ibm_db 5.3.2 → 5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5a8929e0636e34ac5354e270935e1ebd927bbad1f5b7cbd4ac44fc537cc966cf
4
- data.tar.gz: 753f6a4a923cbc82cccb2372af166799df590533ec29d0966397e4f65ea98304
3
+ metadata.gz: 20938ce9741cda790cc406a279d1f1493da806599a99c0d0ea8a48a6a15aa919
4
+ data.tar.gz: 97f02af134c280893af695123fc273c5d362256dfccc36eb3b58faaff4ae038f
5
5
  SHA512:
6
- metadata.gz: 80aaa6462d29ad39a90e942968ca8b8db1492dca4e62898159d4c106b1351e3f4c5aa6d13569b0a8e336ec400c318e70db346f2886be5d8131321c452b9ac1cb
7
- data.tar.gz: 01bc870770d67e79260c6fc05c1da94a892807ead514fa62d419c58c9ad18dbcde8dab2e28c549ad4321bb26efe13a77e8a5af5e35da2ebc50fc08b348afb464
6
+ metadata.gz: 8852eea0f715499015e893d4a03b49ea00cc1b2e577816e3e6af55d5844f413c7fdedfecb641a603815738c4b5ffb0bc28de4b5f106df2d3fa971ec6ad6a9b5b
7
+ data.tar.gz: 3e483267f8d73042646390966a05bac893d3a5be436f50040a8861941c8dced187e1be52a9682feef1b798decec05682019f4d40763a24c1b3f5226be44d4320
data/README CHANGED
@@ -1,5 +1,5 @@
1
1
  =====================================================================
2
- README for the IBM_DB Adapter (5.0.0) and Driver (3.0.5)
2
+ README for the IBM_DB Adapter >= 5.0.0 and Driver >= 3.0.5
3
3
  For ActiveRecord Version >= 5.0.7 (and Rails >= 5.0.7)
4
4
  =====================================================================
5
5
 
data/ext/Makefile CHANGED
@@ -3,6 +3,7 @@ SHELL = /bin/sh
3
3
 
4
4
  # V=0 quiet, V=1 verbose. other values don't work.
5
5
  V = 0
6
+ V0 = $(V:0=)
6
7
  Q1 = $(V:1=)
7
8
  Q = $(Q1:0=@)
8
9
  ECHO1 = $(V:1=@ :)
@@ -12,12 +13,12 @@ NULLCMD = :
12
13
  #### Start of system configuration section. ####
13
14
 
14
15
  srcdir = .
15
- topdir = /home/pnarayanappa/ROR30/ruby_exe/include/ruby-3.0.0
16
+ topdir = /home/pnarayanappa/ROR31/ruby_exe/include/ruby-3.1.0
16
17
  hdrdir = $(topdir)
17
- arch_hdrdir = /home/pnarayanappa/ROR30/ruby_exe/include/ruby-3.0.0/x86_64-linux
18
+ arch_hdrdir = /home/pnarayanappa/ROR31/ruby_exe/include/ruby-3.1.0/x86_64-linux
18
19
  PATH_SEPARATOR = :
19
20
  VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
20
- prefix = $(DESTDIR)/home/pnarayanappa/ROR30/ruby_exe
21
+ prefix = $(DESTDIR)/home/pnarayanappa/ROR31/ruby_exe
21
22
  rubysitearchprefix = $(rubylibprefix)/$(sitearch)
22
23
  rubyarchprefix = $(rubylibprefix)/$(arch)
23
24
  rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
@@ -79,15 +80,15 @@ CSRCFLAG = $(empty)
79
80
  RUBY_EXTCONF_H = unicode_support_version.h
80
81
  cflags = $(optflags) $(debugflags) $(warnflags)
81
82
  cxxflags =
82
- optflags = -O3
83
+ optflags = -O3 -fno-fast-math
83
84
  debugflags = -ggdb3
84
- warnflags = -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable
85
+ warnflags = -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wundef
85
86
  cppflags =
86
87
  CCDLFLAGS = -fPIC
87
88
  CFLAGS = $(CCDLFLAGS) $(cflags) $(ARCH_FLAG)
88
89
  INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir)
89
90
  DEFS =
90
- CPPFLAGS = -DRUBY_EXTCONF_H=\"$(RUBY_EXTCONF_H)\" -I/home/pnarayanappa/ROR30/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/include $(DEFS) $(cppflags)
91
+ CPPFLAGS = -DRUBY_EXTCONF_H=\"$(RUBY_EXTCONF_H)\" -I/home/pnarayanappa/ROR31/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/include $(DEFS) $(cppflags)
91
92
  CXXFLAGS = $(CCDLFLAGS) $(ARCH_FLAG)
92
93
  ldflags = -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic
93
94
  dldflags = -Wl,--compress-debug-sections=zlib
@@ -107,13 +108,13 @@ RUBY_BASE_NAME = ruby
107
108
 
108
109
  arch = x86_64-linux
109
110
  sitearch = $(arch)
110
- ruby_version = 3.0.0
111
+ ruby_version = 3.1.0
111
112
  ruby = $(bindir)/$(RUBY_BASE_NAME)
112
113
  RUBY = $(ruby)
113
114
  ruby_headers = $(hdrdir)/ruby.h $(hdrdir)/ruby/backward.h $(hdrdir)/ruby/ruby.h $(hdrdir)/ruby/defines.h $(hdrdir)/ruby/missing.h $(hdrdir)/ruby/intern.h $(hdrdir)/ruby/st.h $(hdrdir)/ruby/subst.h $(arch_hdrdir)/ruby/config.h $(RUBY_EXTCONF_H)
114
115
 
115
116
  RM = rm -f
116
- RM_RF = $(RUBY) -run -e rm -- -rf
117
+ RM_RF = rm -fr
117
118
  RMDIRS = rmdir --ignore-fail-on-non-empty -p
118
119
  MAKEDIRS = /bin/mkdir -p
119
120
  INSTALL = /usr/bin/install -c
@@ -125,8 +126,8 @@ TOUCH = exit >
125
126
  #### End of system configuration section. ####
126
127
 
127
128
  preload =
128
- libpath = . $(libdir) /home/pnarayanappa/ROR30/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/lib
129
- LIBPATH = -L. -L$(libdir) -Wl,-rpath,$(libdir) -L/home/pnarayanappa/ROR30/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/lib -Wl,-rpath,/home/pnarayanappa/ROR30/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/lib '-Wl,-R$$ORIGIN/clidriver/lib'
129
+ libpath = . $(libdir) /home/pnarayanappa/ROR31/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/lib
130
+ LIBPATH = -L. -L$(libdir) -Wl,-rpath,$(libdir) -L/home/pnarayanappa/ROR31/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/lib -Wl,-rpath,/home/pnarayanappa/ROR31/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/lib '-Wl,-R$$ORIGIN/clidriver/lib'
130
131
  DEFFILE =
131
132
 
132
133
  CLEANFILES = mkmf.log
@@ -137,7 +138,7 @@ extout =
137
138
  extout_prefix =
138
139
  target_prefix =
139
140
  LOCAL_LIBS =
140
- LIBS = -ldb2 -lm -lc
141
+ LIBS = -ldb2 -lm -lc
141
142
  ORIG_SRCS = ibm_db.c ruby_ibm_db_cli.c
142
143
  SRCS = $(ORIG_SRCS)
143
144
  OBJS = ibm_db.o ruby_ibm_db_cli.o
@@ -155,11 +156,11 @@ BINDIR = $(bindir)
155
156
  RUBYCOMMONDIR = $(sitedir)$(target_prefix)
156
157
  RUBYLIBDIR = $(sitelibdir)$(target_prefix)
157
158
  RUBYARCHDIR = $(sitearchdir)$(target_prefix)
158
- HDRDIR = $(rubyhdrdir)/ruby$(target_prefix)
159
- ARCHHDRDIR = $(rubyhdrdir)/$(arch)/ruby$(target_prefix)
159
+ HDRDIR = $(sitehdrdir)$(target_prefix)
160
+ ARCHHDRDIR = $(sitearchhdrdir)$(target_prefix)
160
161
  TARGET_SO_DIR =
161
162
  TARGET_SO = $(TARGET_SO_DIR)$(DLLIB)
162
- CLEANLIBS = $(TARGET_SO)
163
+ CLEANLIBS = $(TARGET_SO) false
163
164
  CLEANOBJS = *.o *.bak
164
165
 
165
166
  all: $(DLLIB)
@@ -172,7 +173,7 @@ clean-rb-default::
172
173
  clean-rb::
173
174
  clean-so::
174
175
  clean: clean-so clean-static clean-rb-default clean-rb
175
- -$(Q)$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) .*.time
176
+ -$(Q)$(RM_RF) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) .*.time
176
177
 
177
178
  distclean-rb-default::
178
179
  distclean-rb::
data/ext/ibm_db.c CHANGED
@@ -12,7 +12,7 @@
12
12
  +----------------------------------------------------------------------+
13
13
  */
14
14
 
15
- #define MODULE_RELEASE "3.0.6"
15
+ #define MODULE_RELEASE "3.1.0"
16
16
 
17
17
  #ifdef HAVE_CONFIG_H
18
18
  #include "config.h"
@@ -2507,8 +2507,7 @@ static VALUE _ruby_ibm_db_connect_helper( int argc, VALUE *argv, int isPersisten
2507
2507
  }
2508
2508
  /* Call the function where the actual logic is being run*/
2509
2509
  #ifdef UNICODE_SUPPORT_VERSION_H
2510
- ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_connect_helper2, helper_args, RUBY_UBF_IO, NULL);
2511
-
2510
+ _ruby_ibm_db_connect_helper2( helper_args );
2512
2511
 
2513
2512
  conn_res = helper_args->conn_res;
2514
2513
 
@@ -6988,8 +6987,7 @@ VALUE ibm_db_execute(int argc, VALUE *argv, VALUE self)
6988
6987
  bind_array->error = &error;
6989
6988
 
6990
6989
  #ifdef UNICODE_SUPPORT_VERSION_H
6991
- ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_execute_helper, bind_array,
6992
- RUBY_UBF_IO, NULL );
6990
+ _ruby_ibm_db_execute_helper( bind_array );
6993
6991
  ret_value = bind_array->return_value;
6994
6992
  #else
6995
6993
  ret_value = _ruby_ibm_db_execute_helper( bind_array );
@@ -10078,8 +10076,7 @@ VALUE ibm_db_fetch_row(int argc, VALUE *argv, VALUE self)
10078
10076
  helper_args->error = &error;
10079
10077
 
10080
10078
  #ifdef UNICODE_SUPPORT_VERSION_H
10081
- ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_fetch_row_helper, helper_args,
10082
- RUBY_UBF_IO, NULL );
10079
+ _ruby_ibm_db_fetch_row_helper( helper_args );
10083
10080
  ret_val = helper_args->return_value;
10084
10081
  #else
10085
10082
  ret_val = _ruby_ibm_db_fetch_row_helper( helper_args );
@@ -10247,8 +10244,7 @@ VALUE ibm_db_fetch_assoc(int argc, VALUE *argv, VALUE self) {
10247
10244
  helper_args->funcType = FETCH_ASSOC;
10248
10245
 
10249
10246
  #ifdef UNICODE_SUPPORT_VERSION_H
10250
- ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_bind_fetch_helper, helper_args,
10251
- RUBY_UBF_IO, NULL );
10247
+ _ruby_ibm_db_bind_fetch_helper( helper_args );
10252
10248
  ret_val = helper_args->return_value;
10253
10249
 
10254
10250
  #else
data/ext/ibm_db.o CHANGED
Binary file
data/ext/ibm_db.so CHANGED
Binary file
data/ext/mkmf.log CHANGED
@@ -14,7 +14,7 @@ unicode_support_version.h is:
14
14
 
15
15
  have_library: checking for SQLConnect() in -ldb2... -------------------- yes
16
16
 
17
- "gcc -o conftest -I/home/pnarayanappa/ROR30/ruby_exe/include/ruby-3.0.0/x86_64-linux -I/home/pnarayanappa/ROR30/ruby_exe/include/ruby-3.0.0/ruby/backward -I/home/pnarayanappa/ROR30/ruby_exe/include/ruby-3.0.0 -I. -I/home/pnarayanappa/ROR30/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/include -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable conftest.c -L. -L/home/pnarayanappa/ROR30/ruby_exe/lib -Wl,-rpath,/home/pnarayanappa/ROR30/ruby_exe/lib -L/home/pnarayanappa/ROR30/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/lib -Wl,-rpath,/home/pnarayanappa/ROR30/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/pnarayanappa/ROR30/ruby_exe/lib -L/home/pnarayanappa/ROR30/ruby_exe/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm -lm -lc"
17
+ LD_LIBRARY_PATH=.:/home/pnarayanappa/ROR31/ruby_exe/lib:/jre/lib:/jre/bin:/lib:/home/pnarayanappa/ROR31/ruby-ibmdb/IBM_DB_Adapter/ibm_db/lib/clidriver/lib/ "gcc -o conftest -I/home/pnarayanappa/ROR31/ruby_exe/include/ruby-3.1.0/x86_64-linux -I/home/pnarayanappa/ROR31/ruby_exe/include/ruby-3.1.0/ruby/backward -I/home/pnarayanappa/ROR31/ruby_exe/include/ruby-3.1.0 -I. -I/home/pnarayanappa/ROR31/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/include -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wundef conftest.c -L. -L/home/pnarayanappa/ROR31/ruby_exe/lib -Wl,-rpath,/home/pnarayanappa/ROR31/ruby_exe/lib -L/home/pnarayanappa/ROR31/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/lib -Wl,-rpath,/home/pnarayanappa/ROR31/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/pnarayanappa/ROR31/ruby_exe/lib -L/home/pnarayanappa/ROR31/ruby_exe/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm -lm -lc"
18
18
  checked program was:
19
19
  /* begin */
20
20
  1: #include "ruby.h"
@@ -25,7 +25,7 @@ checked program was:
25
25
  6: }
26
26
  /* end */
27
27
 
28
- "gcc -o conftest -I/home/pnarayanappa/ROR30/ruby_exe/include/ruby-3.0.0/x86_64-linux -I/home/pnarayanappa/ROR30/ruby_exe/include/ruby-3.0.0/ruby/backward -I/home/pnarayanappa/ROR30/ruby_exe/include/ruby-3.0.0 -I. -I/home/pnarayanappa/ROR30/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/include -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable conftest.c -L. -L/home/pnarayanappa/ROR30/ruby_exe/lib -Wl,-rpath,/home/pnarayanappa/ROR30/ruby_exe/lib -L/home/pnarayanappa/ROR30/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/lib -Wl,-rpath,/home/pnarayanappa/ROR30/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/pnarayanappa/ROR30/ruby_exe/lib -L/home/pnarayanappa/ROR30/ruby_exe/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm -ldb2 -lm -lc"
28
+ LD_LIBRARY_PATH=.:/home/pnarayanappa/ROR31/ruby_exe/lib:/jre/lib:/jre/bin:/lib:/home/pnarayanappa/ROR31/ruby-ibmdb/IBM_DB_Adapter/ibm_db/lib/clidriver/lib/ "gcc -o conftest -I/home/pnarayanappa/ROR31/ruby_exe/include/ruby-3.1.0/x86_64-linux -I/home/pnarayanappa/ROR31/ruby_exe/include/ruby-3.1.0/ruby/backward -I/home/pnarayanappa/ROR31/ruby_exe/include/ruby-3.1.0 -I. -I/home/pnarayanappa/ROR31/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/include -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wundef conftest.c -L. -L/home/pnarayanappa/ROR31/ruby_exe/lib -Wl,-rpath,/home/pnarayanappa/ROR31/ruby_exe/lib -L/home/pnarayanappa/ROR31/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/lib -Wl,-rpath,/home/pnarayanappa/ROR31/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/pnarayanappa/ROR31/ruby_exe/lib -L/home/pnarayanappa/ROR31/ruby_exe/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm -ldb2 -lm -lc"
29
29
  conftest.c: In function ‘t’:
30
30
  conftest.c:14:57: error: ‘SQLConnect’ undeclared (first use in this function)
31
31
  int t(void) { void ((*volatile p)()); p = (void ((*)()))SQLConnect; return !p; }
@@ -54,7 +54,7 @@ checked program was:
54
54
  14: int t(void) { void ((*volatile p)()); p = (void ((*)()))SQLConnect; return !p; }
55
55
  /* end */
56
56
 
57
- "gcc -o conftest -I/home/pnarayanappa/ROR30/ruby_exe/include/ruby-3.0.0/x86_64-linux -I/home/pnarayanappa/ROR30/ruby_exe/include/ruby-3.0.0/ruby/backward -I/home/pnarayanappa/ROR30/ruby_exe/include/ruby-3.0.0 -I. -I/home/pnarayanappa/ROR30/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/include -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable conftest.c -L. -L/home/pnarayanappa/ROR30/ruby_exe/lib -Wl,-rpath,/home/pnarayanappa/ROR30/ruby_exe/lib -L/home/pnarayanappa/ROR30/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/lib -Wl,-rpath,/home/pnarayanappa/ROR30/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/pnarayanappa/ROR30/ruby_exe/lib -L/home/pnarayanappa/ROR30/ruby_exe/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm -ldb2 -lm -lc"
57
+ LD_LIBRARY_PATH=.:/home/pnarayanappa/ROR31/ruby_exe/lib:/jre/lib:/jre/bin:/lib:/home/pnarayanappa/ROR31/ruby-ibmdb/IBM_DB_Adapter/ibm_db/lib/clidriver/lib/ "gcc -o conftest -I/home/pnarayanappa/ROR31/ruby_exe/include/ruby-3.1.0/x86_64-linux -I/home/pnarayanappa/ROR31/ruby_exe/include/ruby-3.1.0/ruby/backward -I/home/pnarayanappa/ROR31/ruby_exe/include/ruby-3.1.0 -I. -I/home/pnarayanappa/ROR31/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/include -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wundef conftest.c -L. -L/home/pnarayanappa/ROR31/ruby_exe/lib -Wl,-rpath,/home/pnarayanappa/ROR31/ruby_exe/lib -L/home/pnarayanappa/ROR31/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/lib -Wl,-rpath,/home/pnarayanappa/ROR31/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/pnarayanappa/ROR31/ruby_exe/lib -L/home/pnarayanappa/ROR31/ruby_exe/lib -lruby-static -lz -lpthread -lrt -lrt -ldl -lcrypt -lm -ldb2 -lm -lc"
58
58
  checked program was:
59
59
  /* begin */
60
60
  1: #include "ruby.h"
@@ -78,7 +78,7 @@ checked program was:
78
78
 
79
79
  have_header: checking for gil_release_version.h... -------------------- yes
80
80
 
81
- "gcc -E -I/home/pnarayanappa/ROR30/ruby_exe/include/ruby-3.0.0/x86_64-linux -I/home/pnarayanappa/ROR30/ruby_exe/include/ruby-3.0.0/ruby/backward -I/home/pnarayanappa/ROR30/ruby_exe/include/ruby-3.0.0 -I. -I/home/pnarayanappa/ROR30/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/include -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable conftest.c -o conftest.i"
81
+ LD_LIBRARY_PATH=.:/home/pnarayanappa/ROR31/ruby_exe/lib:/jre/lib:/jre/bin:/lib:/home/pnarayanappa/ROR31/ruby-ibmdb/IBM_DB_Adapter/ibm_db/lib/clidriver/lib/ "gcc -I/home/pnarayanappa/ROR31/ruby_exe/include/ruby-3.1.0/x86_64-linux -I/home/pnarayanappa/ROR31/ruby_exe/include/ruby-3.1.0/ruby/backward -I/home/pnarayanappa/ROR31/ruby_exe/include/ruby-3.1.0 -I. -I/home/pnarayanappa/ROR31/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/include -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wundef -c conftest.c"
82
82
  checked program was:
83
83
  /* begin */
84
84
  1: #include "ruby.h"
@@ -90,7 +90,7 @@ checked program was:
90
90
 
91
91
  have_header: checking for unicode_support_version.h... -------------------- yes
92
92
 
93
- "gcc -E -I/home/pnarayanappa/ROR30/ruby_exe/include/ruby-3.0.0/x86_64-linux -I/home/pnarayanappa/ROR30/ruby_exe/include/ruby-3.0.0/ruby/backward -I/home/pnarayanappa/ROR30/ruby_exe/include/ruby-3.0.0 -I. -I/home/pnarayanappa/ROR30/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/include -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable conftest.c -o conftest.i"
93
+ LD_LIBRARY_PATH=.:/home/pnarayanappa/ROR31/ruby_exe/lib:/jre/lib:/jre/bin:/lib:/home/pnarayanappa/ROR31/ruby-ibmdb/IBM_DB_Adapter/ibm_db/lib/clidriver/lib/ "gcc -I/home/pnarayanappa/ROR31/ruby_exe/include/ruby-3.1.0/x86_64-linux -I/home/pnarayanappa/ROR31/ruby_exe/include/ruby-3.1.0/ruby/backward -I/home/pnarayanappa/ROR31/ruby_exe/include/ruby-3.1.0 -I. -I/home/pnarayanappa/ROR31/ruby-ibmdb/IBM_DB_Adapter/ibm_db/ext/../lib/clidriver/include -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wundef -c conftest.c"
94
94
  checked program was:
95
95
  /* begin */
96
96
  1: #include "ruby.h"
Binary file
@@ -51,6 +51,12 @@ module ActiveRecord
51
51
  module ConnectionAdapters
52
52
  class SchemaDumper
53
53
  private
54
+ def header(stream)
55
+ stream.puts <<~HEADER
56
+ ActiveRecord::Schema[#{ActiveRecord::Migration.current_version}].define(#{define_params}) do
57
+ HEADER
58
+ end
59
+
54
60
  def default_primary_key?(column)
55
61
  schema_type(column) == :integer
56
62
  end
@@ -75,11 +81,11 @@ module ActiveRecord
75
81
  end
76
82
 
77
83
  if supports_foreign_keys?
78
- statements.concat(o.foreign_keys.map { |to_table, options| foreign_key_in_create(o.name, to_table, options) })
84
+ statements.concat(o.foreign_keys.map { |fk| accept fk })
79
85
  end
80
86
 
81
87
  if supports_check_constraints?
82
- statements.concat(o.check_constraints.map { |expression, options| check_constraint_in_create(o.name, expression, options) })
88
+ statements.concat(o.check_constraints.map { |chk| accept chk })
83
89
  end
84
90
 
85
91
  create_sql << "(#{statements.join(', ')})" if statements.present?
@@ -423,7 +429,7 @@ module ActiveRecord
423
429
  end
424
430
 
425
431
  def drop_table(table_name, options={})
426
- puts_log "drop_table"
432
+ puts_log "drop_table - #{table_name}"
427
433
  if options[:if_exists]
428
434
  execute("DROP TABLE IF EXISTS #{quote_table_name(table_name)}")
429
435
  else
@@ -833,7 +839,9 @@ module ActiveRecord
833
839
 
834
840
  def prepared_statements?
835
841
  puts_log "prepared_statements?"
836
- @prepared_statements && !prepared_statements_disabled_cache.include?(object_id)
842
+ prepare = @prepared_statements && !prepared_statements_disabled_cache.include?(object_id)
843
+ puts_log "prepare = #{prepare}"
844
+ prepare
837
845
  end
838
846
  alias :prepared_statements :prepared_statements?
839
847
 
@@ -1112,8 +1120,10 @@ module ActiveRecord
1112
1120
  end
1113
1121
  end
1114
1122
 
1115
- def select(sql, name = nil, binds = [])
1123
+ def select(sql, name = nil, binds = [], prepare: false, async: false)
1116
1124
  puts_log "select #{sql}"
1125
+ puts_log "prepare = #{prepare}"
1126
+
1117
1127
  # Replaces {"= NULL" with " IS NULL"} OR {"IN (NULL)" with " IS NULL"
1118
1128
  begin
1119
1129
  sql.gsub( /(=\s*NULL|IN\s*\(NULL\))/i, " IS NULL" )
@@ -1121,12 +1131,32 @@ module ActiveRecord
1121
1131
  # ...
1122
1132
  end
1123
1133
 
1134
+ if async && async_enabled?
1135
+ if current_transaction.joinable?
1136
+ raise AsynchronousQueryInsideTransactionError, "Asynchronous queries are not allowed inside transactions"
1137
+ end
1138
+
1139
+ future_result = async.new(
1140
+ pool,
1141
+ sql,
1142
+ name,
1143
+ binds,
1144
+ prepare: prepare,
1145
+ )
1146
+ if supports_concurrent_connections? && current_transaction.closed?
1147
+ future_result.schedule!(ActiveRecord::Base.asynchronous_queries_session)
1148
+ else
1149
+ future_result.execute!(self)
1150
+ end
1151
+ return future_result
1152
+ end
1153
+
1124
1154
  results = []
1125
1155
 
1126
1156
  if(binds.nil? || binds.empty?)
1127
1157
  stmt = execute(sql, name)
1128
1158
  else
1129
- stmt = exec_query_ret_stmt(sql, name, binds, prepare = false)
1159
+ stmt = exec_query_ret_stmt(sql, name, binds, prepare)
1130
1160
  end
1131
1161
 
1132
1162
  cols = IBM_DB.resultCols(stmt)
@@ -1452,7 +1482,8 @@ module ActiveRecord
1452
1482
  # the executed +sql+ statement.
1453
1483
  # Here prepare argument is not used, by default this method creates prepared statment and execute.
1454
1484
  def exec_query_ret_stmt(sql, name = 'SQL', binds = [], prepare = false)
1455
- puts_log "exec_query_ret_stmt"
1485
+ puts_log "exec_query_ret_stmt #{sql}"
1486
+ sql = transform_query(sql)
1456
1487
  check_if_write_query(sql)
1457
1488
  materialize_transactions
1458
1489
  mark_transaction_written_if_write(sql)
@@ -1461,6 +1492,8 @@ module ActiveRecord
1461
1492
  puts_log "Binds = #{binds}"
1462
1493
  param_array = type_casted_binds(binds)
1463
1494
  puts_log "Param array = #{param_array}"
1495
+ puts_log "Prepare flag = #{prepare}"
1496
+ puts_log "#{caller}"
1464
1497
 
1465
1498
  stmt = @servertype.prepare(sql, name)
1466
1499
  if prepare
@@ -1526,6 +1559,7 @@ module ActiveRecord
1526
1559
  #sql='INSERT INTO ar_internal_metadata (key, value, created_at, updated_at) VALUES ('10', '10', '10', '10')
1527
1560
  puts_log "execute"
1528
1561
  puts_log "#{sql}"
1562
+ sql = transform_query(sql)
1529
1563
  check_if_write_query(sql)
1530
1564
  materialize_transactions
1531
1565
  mark_transaction_written_if_write(sql)
@@ -1725,6 +1759,9 @@ module ActiveRecord
1725
1759
 
1726
1760
  def quote_table_name(name)
1727
1761
  puts_log "quote_table_name"
1762
+ if name.start_with?'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'
1763
+ name = "\"#{name}\""
1764
+ end
1728
1765
  name
1729
1766
  #@servertype.check_reserved_words(name).gsub('"', '').gsub("'",'')
1730
1767
  end
@@ -2378,7 +2415,9 @@ module ActiveRecord
2378
2415
  column_nullable = (col["nullable"] == 1) ? true : false
2379
2416
  # Make sure the hidden column (db2_generated_rowid_for_lobs) in DB2 z/OS isn't added to the list
2380
2417
  if !(column_name.match(/db2_generated_rowid_for_lobs/i))
2418
+ puts_log "Column type = #{column_type}"
2381
2419
  ruby_type = simplified_type(column_type)
2420
+ puts_log "Ruby type after = #{ruby_type}"
2382
2421
  precision = extract_precision(ruby_type)
2383
2422
 
2384
2423
  if column_type.match(/timestamp|integer|bigint|date|time|blob/i)
@@ -2429,7 +2468,7 @@ module ActiveRecord
2429
2468
  else
2430
2469
  error_msg = "An unexpected error occurred during retrieval of column metadata"
2431
2470
  error_msg = error_msg + ": #{fetch_error.message}" if !fetch_error.message.empty?
2432
- raise error_msg
2471
+ # raise error_msg
2433
2472
  end
2434
2473
  ensure # Free resources associated with the statement
2435
2474
  IBM_DB.free_stmt(stmt) if stmt
@@ -2447,6 +2486,10 @@ module ActiveRecord
2447
2486
  return columns
2448
2487
  end
2449
2488
 
2489
+ def extract_precision(sql_type)
2490
+ $1.to_i if sql_type =~ /\((\d+)(,\d+)?\)/
2491
+ end
2492
+
2450
2493
  def extract_default_function(default_value, default)
2451
2494
  default if has_default_function?(default_value, default)
2452
2495
  end
@@ -2491,7 +2534,7 @@ module ActiveRecord
2491
2534
  else
2492
2535
  error_msg = "An unexpected error occurred during retrieval of foreign key metadata"
2493
2536
  error_msg = error_msg + ": #{fetch_error.message}" if !fetch_error.message.empty?
2494
- raise error_msg
2537
+ # raise error_msg
2495
2538
  end
2496
2539
  ensure # Free resources associated with the statement
2497
2540
  IBM_DB.free_stmt(stmt) if stmt
@@ -2578,6 +2621,7 @@ module ActiveRecord
2578
2621
  puts_log "add_column"
2579
2622
  clear_cache!
2580
2623
  puts_log "add_column info #{table_name}, #{column_name}, #{type}, #{options}"
2624
+ puts_log caller
2581
2625
  if (!type.nil? && type.to_s == "primary_key") or (options.key?(:primary_key) and options[:primary_key] == true)
2582
2626
  if !type.nil? and type.to_s != "primary_key"
2583
2627
  execute "ALTER TABLE #{table_name} ADD COLUMN #{column_name} #{type} NOT NULL DEFAULT 0"
@@ -2685,6 +2729,15 @@ module ActiveRecord
2685
2729
  end
2686
2730
  end
2687
2731
 
2732
+ def remove_columns(table_name, *column_names, type: nil, **options)
2733
+ if column_names.empty?
2734
+ raise ArgumentError.new("You must specify at least one column name. Example: remove_columns(:people, :first_name)")
2735
+ end
2736
+
2737
+ remove_column_fragments = remove_columns_for_alter(table_name, *column_names, type: type, **options)
2738
+ execute "ALTER TABLE #{quote_table_name(table_name)} #{remove_column_fragments.join(' ')}"
2739
+ end
2740
+
2688
2741
  # Renames a table.
2689
2742
  # ==== Example
2690
2743
  # rename_table('octopuses', 'octopi')
@@ -2782,7 +2835,7 @@ module ActiveRecord
2782
2835
  puts_log "add_foreign_keyList = #{table_name}, #{column_name}, #{fkey_list}"
2783
2836
  fkey_list.each do |fkey|
2784
2837
  if fkey.options[:column] == column_name
2785
- add_foreign_key(table_name, fkey.to_table, column: new_column_name)
2838
+ add_foreign_key(table_name, strip_table_name_prefix_and_suffix(fkey.to_table), column: new_column_name)
2786
2839
  end
2787
2840
  end
2788
2841
  end
@@ -2917,6 +2970,7 @@ module ActiveRecord
2917
2970
 
2918
2971
  class SchemaDumper < ConnectionAdapters::SchemaDumper
2919
2972
  def dump(stream) # Like in abstract class, we no need to call header() & trailer().
2973
+ header(stream)
2920
2974
  extensions(stream)
2921
2975
  tables(stream)
2922
2976
  stream
@@ -3724,7 +3778,7 @@ module Arel
3724
3778
  row.each_with_index do |value, k|
3725
3779
  collector << ", " unless k == 0
3726
3780
  case value
3727
- when Nodes::SqlLiteral, Nodes::BindParam
3781
+ when Nodes::SqlLiteral, Nodes::BindParam, ActiveModel::Attribute
3728
3782
  collector = visit(value, collector)
3729
3783
  #collector << quote(value).to_s
3730
3784
  else
@@ -239,7 +239,7 @@ class CalculationsTest < ActiveRecord::TestCase
239
239
 
240
240
  queries = capture_sql { Account.limit(1).count }
241
241
  assert_equal 1, queries.length
242
- assert_match(/LIMIT/, queries.first)
242
+ assert_match(/FETCH FIRST/, queries.first)
243
243
  end
244
244
 
245
245
  def test_offset_is_kept
@@ -255,14 +255,14 @@ class CalculationsTest < ActiveRecord::TestCase
255
255
 
256
256
  queries = capture_sql { Account.limit(1).offset(1).count }
257
257
  assert_equal 1, queries.length
258
- assert_match(/LIMIT/, queries.first)
258
+ assert_match(/FETCH FIRST/, queries.first)
259
259
  assert_match(/OFFSET/, queries.first)
260
260
  end
261
261
 
262
262
  def test_no_limit_no_offset
263
263
  queries = capture_sql { Account.count }
264
264
  assert_equal 1, queries.length
265
- assert_no_match(/LIMIT/, queries.first)
265
+ assert_no_match(/FETCH FIRST/, queries.first)
266
266
  assert_no_match(/OFFSET/, queries.first)
267
267
  end
268
268
 
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: 5.3.2
4
+ version: 5.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - IBM
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-10 00:00:00.000000000 Z
11
+ date: 2023-01-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: zip
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "<"
32
32
  - !ruby/object:Gem::Version
33
- version: '6.2'
33
+ version: '7.1'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "<"
39
39
  - !ruby/object:Gem::Version
40
- version: '6.2'
40
+ version: '7.1'
41
41
  description:
42
42
  email: opendev@us.ibm.com
43
43
  executables: []
@@ -826,8 +826,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
826
826
  - !ruby/object:Gem::Version
827
827
  version: '0'
828
828
  requirements:
829
- - ActiveRecord, at least 6.1
830
- rubygems_version: 3.2.3
829
+ - ActiveRecord, at least 7.0
830
+ rubygems_version: 3.3.7
831
831
  signing_key:
832
832
  specification_version: 4
833
833
  summary: 'Rails Driver and Adapter for IBM Data Servers: {DB2 on Linux/Unix/Windows,