ibm_db 4.0.0 → 5.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README +2 -2
- data/ext/Makefile +266 -0
- data/ext/extconf.rb +34 -3
- data/ext/gil_release_version +3 -0
- data/ext/ibm_db.c +100 -108
- data/ext/mkmf.log +103 -0
- data/ext/unicode_support_version +3 -0
- data/lib/active_record/connection_adapters/ibm_db_adapter.rb +256 -175
- data/test/cases/attribute_decorators_test.rb +2 -1
- data/test/cases/cache_key_test.rb +2 -1
- data/test/cases/comment_test.rb +4 -2
- data/test/cases/date_time_precision_test.rb +2 -1
- data/test/cases/defaults_test.rb +2 -1
- data/test/cases/migration/foreign_key_test.rb +4 -2
- data/test/cases/migration/helper.rb +1 -1
- data/test/cases/migration/references_foreign_key_test.rb +10 -5
- data/test/cases/migrator_test.rb +2 -1
- data/test/cases/schema_dumper_test.rb +3 -3
- data/test/cases/time_precision_test.rb +2 -1
- data/test/cases/transactions_test.rb +3 -2
- data/test/config.yml +154 -154
- data/test/connections/native_ibm_db/connection.rb +44 -0
- data/test/fixtures/admin/randomly_named_a9.yml +7 -7
- data/test/fixtures/admin/randomly_named_b0.yml +7 -7
- data/test/fixtures/developers.yml +1 -1
- data/test/fixtures/pirates.yml +0 -3
- data/test/fixtures/randomly_named_a9.yml +7 -7
- data/test/ibm_db_test.rb +24 -24
- data/test/models/admin.rb +1 -1
- data/test/models/admin/account.rb +1 -1
- data/test/models/admin/randomly_named_c1.rb +7 -7
- data/test/models/binary.rb +1 -1
- data/test/models/event.rb +1 -1
- data/test/models/guid.rb +1 -1
- data/test/models/randomly_named_c1.rb +3 -3
- data/test/models/ship_part.rb +1 -1
- data/test/schema/i5/ibm_db_specific_schema.rb +137 -0
- data/test/schema/ids/ibm_db_specific_schema.rb +140 -0
- data/test/schema/luw/ibm_db_specific_schema.rb +137 -0
- data/test/schema/zOS/ibm_db_specific_schema.rb +208 -0
- metadata +24 -13
- data/test/fixtures/author_addresses.original +0 -11
- data/test/fixtures/authors.original +0 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 704ba770f0f79f570b9b4879180ea95f5ab8cc83b8f9af12355bda8b2dae3710
|
4
|
+
data.tar.gz: 0d3f4d3059727dfc7cf3327fe0b01097dcb67c6339284f4ff85bb13765aa2559
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4552f7afd0e47fbb7ec6cec8ed1d56e22d38f23a24040fc5f309bc30687f54280f350ce6fad3fee9de775c4e1dd69f31f7126ca01a50a42def1023183d64530a
|
7
|
+
data.tar.gz: 6ace8ab9cc3686b9585abb10cfa49b561186fb194a6036ec8890e02beef4a760c662eb603fc366d4026624ac0a42826dce4b17fce2368d8422be81c5a3ade37c
|
data/README
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
=====================================================================
|
2
|
-
README for the IBM_DB Adapter (
|
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
|
|
@@ -113,7 +113,7 @@ here only for reference.
|
|
113
113
|
Build the driver:
|
114
114
|
- $ cd rubyibm_source/IBM_DB_Adapter/ibm_db/ext
|
115
115
|
- $ ruby extconf.rb
|
116
|
-
- $ make
|
116
|
+
- $ ridk exec make
|
117
117
|
|
118
118
|
Build the ibm_db gem
|
119
119
|
- $ cp rubyibm_source/IBM_DB_Adapter/ibm_db/ext/ibm_db.so rubyibm_source/IBM_DB_Adapter/ibm_db/lib
|
data/ext/Makefile
ADDED
@@ -0,0 +1,266 @@
|
|
1
|
+
|
2
|
+
SHELL = /bin/sh
|
3
|
+
|
4
|
+
# V=0 quiet, V=1 verbose. other values don't work.
|
5
|
+
V = 0
|
6
|
+
Q1 = $(V:1=)
|
7
|
+
Q = $(Q1:0=@)
|
8
|
+
ECHO1 = $(V:1=@ :)
|
9
|
+
ECHO = $(ECHO1:0=@ echo)
|
10
|
+
NULLCMD = :
|
11
|
+
|
12
|
+
#### Start of system configuration section. ####
|
13
|
+
|
14
|
+
srcdir = .
|
15
|
+
topdir = /home/rakhil/ruby_exe/include/ruby-2.6.0
|
16
|
+
hdrdir = $(topdir)
|
17
|
+
arch_hdrdir = /home/rakhil/ruby_exe/include/ruby-2.6.0/x86_64-linux
|
18
|
+
PATH_SEPARATOR = :
|
19
|
+
VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
|
20
|
+
prefix = $(DESTDIR)/home/rakhil/ruby_exe
|
21
|
+
rubysitearchprefix = $(rubylibprefix)/$(sitearch)
|
22
|
+
rubyarchprefix = $(rubylibprefix)/$(arch)
|
23
|
+
rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
|
24
|
+
exec_prefix = $(prefix)
|
25
|
+
vendorarchhdrdir = $(vendorhdrdir)/$(sitearch)
|
26
|
+
sitearchhdrdir = $(sitehdrdir)/$(sitearch)
|
27
|
+
rubyarchhdrdir = $(rubyhdrdir)/$(arch)
|
28
|
+
vendorhdrdir = $(rubyhdrdir)/vendor_ruby
|
29
|
+
sitehdrdir = $(rubyhdrdir)/site_ruby
|
30
|
+
rubyhdrdir = $(includedir)/$(RUBY_VERSION_NAME)
|
31
|
+
vendorarchdir = $(vendorlibdir)/$(sitearch)
|
32
|
+
vendorlibdir = $(vendordir)/$(ruby_version)
|
33
|
+
vendordir = $(rubylibprefix)/vendor_ruby
|
34
|
+
sitearchdir = $(sitelibdir)/$(sitearch)
|
35
|
+
sitelibdir = $(sitedir)/$(ruby_version)
|
36
|
+
sitedir = $(rubylibprefix)/site_ruby
|
37
|
+
rubyarchdir = $(rubylibdir)/$(arch)
|
38
|
+
rubylibdir = $(rubylibprefix)/$(ruby_version)
|
39
|
+
sitearchincludedir = $(includedir)/$(sitearch)
|
40
|
+
archincludedir = $(includedir)/$(arch)
|
41
|
+
sitearchlibdir = $(libdir)/$(sitearch)
|
42
|
+
archlibdir = $(libdir)/$(arch)
|
43
|
+
ridir = $(datarootdir)/$(RI_BASE_NAME)
|
44
|
+
mandir = $(datarootdir)/man
|
45
|
+
localedir = $(datarootdir)/locale
|
46
|
+
libdir = $(exec_prefix)/lib
|
47
|
+
psdir = $(docdir)
|
48
|
+
pdfdir = $(docdir)
|
49
|
+
dvidir = $(docdir)
|
50
|
+
htmldir = $(docdir)
|
51
|
+
infodir = $(datarootdir)/info
|
52
|
+
docdir = $(datarootdir)/doc/$(PACKAGE)
|
53
|
+
oldincludedir = $(DESTDIR)/usr/include
|
54
|
+
includedir = $(prefix)/include
|
55
|
+
runstatedir = $(localstatedir)/run
|
56
|
+
localstatedir = $(prefix)/var
|
57
|
+
sharedstatedir = $(prefix)/com
|
58
|
+
sysconfdir = $(prefix)/etc
|
59
|
+
datadir = $(datarootdir)
|
60
|
+
datarootdir = $(prefix)/share
|
61
|
+
libexecdir = $(exec_prefix)/libexec
|
62
|
+
sbindir = $(exec_prefix)/sbin
|
63
|
+
bindir = $(exec_prefix)/bin
|
64
|
+
archdir = $(rubyarchdir)
|
65
|
+
|
66
|
+
|
67
|
+
CC_WRAPPER =
|
68
|
+
CC = gcc
|
69
|
+
CXX = g++
|
70
|
+
LIBRUBY = $(LIBRUBY_A)
|
71
|
+
LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
|
72
|
+
LIBRUBYARG_SHARED = -Wl,-rpath,$(libdir) -L$(libdir)
|
73
|
+
LIBRUBYARG_STATIC = -Wl,-rpath,$(libdir) -L$(libdir) -l$(RUBY_SO_NAME)-static $(MAINLIBS)
|
74
|
+
empty =
|
75
|
+
OUTFLAG = -o $(empty)
|
76
|
+
COUTFLAG = -o $(empty)
|
77
|
+
CSRCFLAG = $(empty)
|
78
|
+
|
79
|
+
RUBY_EXTCONF_H = unicode_support_version
|
80
|
+
cflags = $(optflags) $(debugflags) $(warnflags)
|
81
|
+
cxxflags = $(optflags) $(debugflags) $(warnflags)
|
82
|
+
optflags = -O3
|
83
|
+
debugflags = -ggdb3
|
84
|
+
warnflags = -Wall -Wextra -Wdeclaration-after-statement -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wrestrict -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
|
+
cppflags =
|
86
|
+
CCDLFLAGS = -fPIC
|
87
|
+
CFLAGS = $(CCDLFLAGS) $(cflags) $(ARCH_FLAG)
|
88
|
+
INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir)
|
89
|
+
DEFS =
|
90
|
+
CPPFLAGS = -DRUBY_EXTCONF_H=\"$(RUBY_EXTCONF_H)\" -I/home/rakhil/clidriver/include $(DEFS) $(cppflags)
|
91
|
+
CXXFLAGS = $(CCDLFLAGS) $(cxxflags) $(ARCH_FLAG)
|
92
|
+
ldflags = -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic
|
93
|
+
dldflags = -Wl,--compress-debug-sections=zlib
|
94
|
+
ARCH_FLAG =
|
95
|
+
DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG)
|
96
|
+
LDSHARED = $(CC) -shared
|
97
|
+
LDSHAREDXX = $(CXX) -shared
|
98
|
+
AR = ar
|
99
|
+
EXEEXT =
|
100
|
+
|
101
|
+
RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)
|
102
|
+
RUBY_SO_NAME = ruby
|
103
|
+
RUBYW_INSTALL_NAME =
|
104
|
+
RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version)
|
105
|
+
RUBYW_BASE_NAME = rubyw
|
106
|
+
RUBY_BASE_NAME = ruby
|
107
|
+
|
108
|
+
arch = x86_64-linux
|
109
|
+
sitearch = $(arch)
|
110
|
+
ruby_version = 2.6.0
|
111
|
+
ruby = $(bindir)/$(RUBY_BASE_NAME)
|
112
|
+
RUBY = $(ruby)
|
113
|
+
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
|
+
RM = rm -f
|
116
|
+
RM_RF = $(RUBY) -run -e rm -- -rf
|
117
|
+
RMDIRS = rmdir --ignore-fail-on-non-empty -p
|
118
|
+
MAKEDIRS = /bin/mkdir -p
|
119
|
+
INSTALL = /usr/bin/install -c
|
120
|
+
INSTALL_PROG = $(INSTALL) -m 0755
|
121
|
+
INSTALL_DATA = $(INSTALL) -m 644
|
122
|
+
COPY = cp
|
123
|
+
TOUCH = exit >
|
124
|
+
|
125
|
+
#### End of system configuration section. ####
|
126
|
+
|
127
|
+
preload =
|
128
|
+
libpath = . $(libdir) /home/rakhil/clidriver/lib
|
129
|
+
LIBPATH = -L. -L$(libdir) -Wl,-rpath,$(libdir) -L/home/rakhil/clidriver/lib -Wl,-rpath,/home/rakhil/clidriver/lib '-Wl,-R$$ORIGIN/clidriver/lib'
|
130
|
+
DEFFILE =
|
131
|
+
|
132
|
+
CLEANFILES = mkmf.log
|
133
|
+
DISTCLEANFILES =
|
134
|
+
DISTCLEANDIRS =
|
135
|
+
|
136
|
+
extout =
|
137
|
+
extout_prefix =
|
138
|
+
target_prefix =
|
139
|
+
LOCAL_LIBS =
|
140
|
+
LIBS = -ldb2 -lm -lc
|
141
|
+
ORIG_SRCS = ibm_db.c ruby_ibm_db_cli.c
|
142
|
+
SRCS = $(ORIG_SRCS)
|
143
|
+
OBJS = ibm_db.o ruby_ibm_db_cli.o
|
144
|
+
HDRS = $(srcdir)/ruby_ibm_db.h $(srcdir)/ruby_ibm_db_cli.h
|
145
|
+
LOCAL_HDRS =
|
146
|
+
TARGET = ibm_db
|
147
|
+
TARGET_NAME = ibm_db
|
148
|
+
TARGET_ENTRY = Init_$(TARGET_NAME)
|
149
|
+
DLLIB = $(TARGET).so
|
150
|
+
EXTSTATIC =
|
151
|
+
STATIC_LIB =
|
152
|
+
|
153
|
+
TIMESTAMP_DIR = .
|
154
|
+
BINDIR = $(bindir)
|
155
|
+
RUBYCOMMONDIR = $(sitedir)$(target_prefix)
|
156
|
+
RUBYLIBDIR = $(sitelibdir)$(target_prefix)
|
157
|
+
RUBYARCHDIR = $(sitearchdir)$(target_prefix)
|
158
|
+
HDRDIR = $(rubyhdrdir)/ruby$(target_prefix)
|
159
|
+
ARCHHDRDIR = $(rubyhdrdir)/$(arch)/ruby$(target_prefix)
|
160
|
+
TARGET_SO_DIR =
|
161
|
+
TARGET_SO = $(TARGET_SO_DIR)$(DLLIB)
|
162
|
+
CLEANLIBS = $(TARGET_SO)
|
163
|
+
CLEANOBJS = *.o *.bak
|
164
|
+
|
165
|
+
all: $(DLLIB)
|
166
|
+
static: $(STATIC_LIB)
|
167
|
+
.PHONY: all install static install-so install-rb
|
168
|
+
.PHONY: clean clean-so clean-static clean-rb
|
169
|
+
|
170
|
+
clean-static::
|
171
|
+
clean-rb-default::
|
172
|
+
clean-rb::
|
173
|
+
clean-so::
|
174
|
+
clean: clean-so clean-static clean-rb-default clean-rb
|
175
|
+
-$(Q)$(RM) $(CLEANLIBS) $(CLEANOBJS) $(CLEANFILES) .*.time
|
176
|
+
|
177
|
+
distclean-rb-default::
|
178
|
+
distclean-rb::
|
179
|
+
distclean-so::
|
180
|
+
distclean-static::
|
181
|
+
distclean: clean distclean-so distclean-static distclean-rb-default distclean-rb
|
182
|
+
-$(Q)$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
|
183
|
+
-$(Q)$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES)
|
184
|
+
-$(Q)$(RMDIRS) $(DISTCLEANDIRS) 2> /dev/null || true
|
185
|
+
|
186
|
+
realclean: distclean
|
187
|
+
install: install-so install-rb
|
188
|
+
|
189
|
+
install-so: $(DLLIB) $(TIMESTAMP_DIR)/.sitearchdir.time
|
190
|
+
$(INSTALL_PROG) $(DLLIB) $(RUBYARCHDIR)
|
191
|
+
clean-static::
|
192
|
+
-$(Q)$(RM) $(STATIC_LIB)
|
193
|
+
install-rb: pre-install-rb do-install-rb install-rb-default
|
194
|
+
install-rb-default: pre-install-rb-default do-install-rb-default
|
195
|
+
pre-install-rb: Makefile
|
196
|
+
pre-install-rb-default: Makefile
|
197
|
+
do-install-rb:
|
198
|
+
do-install-rb-default:
|
199
|
+
pre-install-rb-default:
|
200
|
+
@$(NULLCMD)
|
201
|
+
$(TIMESTAMP_DIR)/.sitearchdir.time:
|
202
|
+
$(Q) $(MAKEDIRS) $(@D) $(RUBYARCHDIR)
|
203
|
+
$(Q) $(TOUCH) $@
|
204
|
+
|
205
|
+
site-install: site-install-so site-install-rb
|
206
|
+
site-install-so: install-so
|
207
|
+
site-install-rb: install-rb
|
208
|
+
|
209
|
+
.SUFFIXES: .c .m .cc .mm .cxx .cpp .o .S
|
210
|
+
|
211
|
+
.cc.o:
|
212
|
+
$(ECHO) compiling $(<)
|
213
|
+
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
|
214
|
+
|
215
|
+
.cc.S:
|
216
|
+
$(ECHO) translating $(<)
|
217
|
+
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
|
218
|
+
|
219
|
+
.mm.o:
|
220
|
+
$(ECHO) compiling $(<)
|
221
|
+
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
|
222
|
+
|
223
|
+
.mm.S:
|
224
|
+
$(ECHO) translating $(<)
|
225
|
+
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
|
226
|
+
|
227
|
+
.cxx.o:
|
228
|
+
$(ECHO) compiling $(<)
|
229
|
+
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
|
230
|
+
|
231
|
+
.cxx.S:
|
232
|
+
$(ECHO) translating $(<)
|
233
|
+
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
|
234
|
+
|
235
|
+
.cpp.o:
|
236
|
+
$(ECHO) compiling $(<)
|
237
|
+
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
|
238
|
+
|
239
|
+
.cpp.S:
|
240
|
+
$(ECHO) translating $(<)
|
241
|
+
$(Q) $(CXX) $(INCFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
|
242
|
+
|
243
|
+
.c.o:
|
244
|
+
$(ECHO) compiling $(<)
|
245
|
+
$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
|
246
|
+
|
247
|
+
.c.S:
|
248
|
+
$(ECHO) translating $(<)
|
249
|
+
$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
|
250
|
+
|
251
|
+
.m.o:
|
252
|
+
$(ECHO) compiling $(<)
|
253
|
+
$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -c $(CSRCFLAG)$<
|
254
|
+
|
255
|
+
.m.S:
|
256
|
+
$(ECHO) translating $(<)
|
257
|
+
$(Q) $(CC) $(INCFLAGS) $(CPPFLAGS) $(CFLAGS) $(COUTFLAG)$@ -S $(CSRCFLAG)$<
|
258
|
+
|
259
|
+
$(TARGET_SO): $(OBJS) Makefile
|
260
|
+
$(ECHO) linking shared-object $(DLLIB)
|
261
|
+
-$(Q)$(RM) $(@)
|
262
|
+
$(Q) $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
|
263
|
+
|
264
|
+
|
265
|
+
|
266
|
+
$(OBJS): $(HDRS) $(ruby_headers)
|
data/ext/extconf.rb
CHANGED
@@ -3,6 +3,7 @@ require 'net/http'
|
|
3
3
|
require 'open-uri'
|
4
4
|
require 'rubygems/package'
|
5
5
|
require 'zlib'
|
6
|
+
require 'zip'
|
6
7
|
require 'fileutils'
|
7
8
|
|
8
9
|
|
@@ -42,6 +43,7 @@ module Kernel
|
|
42
43
|
end
|
43
44
|
|
44
45
|
DOWNLOADLINK = ''
|
46
|
+
ZIP = false
|
45
47
|
|
46
48
|
if(RUBY_PLATFORM =~ /aix/i)
|
47
49
|
#AIX
|
@@ -94,6 +96,15 @@ elsif (RUBY_PLATFORM =~ /darwin/i)
|
|
94
96
|
else
|
95
97
|
puts "Mac OS 32 bit not supported. Please use an x64 architecture."
|
96
98
|
end
|
99
|
+
elsif (RUBY_PLATFORM =~ /mswin/ || RUBY_PLATFORM =~ /mingw/)
|
100
|
+
ZIP = true
|
101
|
+
if(is64Bit)
|
102
|
+
puts "Detected platform - windows 64"
|
103
|
+
DOWNLOADLINK= "http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/ntx64_odbc_cli.zip"
|
104
|
+
else
|
105
|
+
puts "Detected platform - windows 32"
|
106
|
+
DOWNLOADLINK= "http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/nt32_odbc_cli.zip"
|
107
|
+
end
|
97
108
|
end
|
98
109
|
|
99
110
|
def downloadCLIPackage(destination, link = nil)
|
@@ -104,7 +115,11 @@ def downloadCLIPackage(destination, link = nil)
|
|
104
115
|
end
|
105
116
|
|
106
117
|
uri = URI.parse(downloadLink)
|
107
|
-
|
118
|
+
if ZIP
|
119
|
+
filename = "#{destination}/clidriver.zip"
|
120
|
+
else
|
121
|
+
filename = "#{destination}/clidriver.tar.gz"
|
122
|
+
end
|
108
123
|
|
109
124
|
headers = {
|
110
125
|
'Accept-Encoding' => 'identity',
|
@@ -121,6 +136,18 @@ def downloadCLIPackage(destination, link = nil)
|
|
121
136
|
filename
|
122
137
|
end
|
123
138
|
|
139
|
+
def extract_zip(file, destination)
|
140
|
+
FileUtils.mkdir_p(destination)
|
141
|
+
|
142
|
+
Zip::File.open(file) do |zip_file|
|
143
|
+
zip_file.each do |f|
|
144
|
+
fpath = File.join(destination, f.name)
|
145
|
+
FileUtils.mkdir_p(File.dirname(fpath))
|
146
|
+
zip_file.extract(f, fpath) unless File.exist?(fpath)
|
147
|
+
end
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
124
151
|
def untarCLIPackage(archive,destination)
|
125
152
|
Gem::Package::TarReader.new( Zlib::GzipReader.open(archive) ) do |tar|
|
126
153
|
tar.each do |entry|
|
@@ -157,8 +184,12 @@ if(IBM_DB_HOME == nil || IBM_DB_HOME == '')
|
|
157
184
|
puts "Environment variable IBM_DB_HOME is not set. Downloading and setting up the DB2 client driver\n"
|
158
185
|
destination = "#{File.expand_path(File.dirname(File.dirname(__FILE__)))}/../lib"
|
159
186
|
|
160
|
-
|
161
|
-
|
187
|
+
archive = downloadCLIPackage(destination)
|
188
|
+
if (ZIP)
|
189
|
+
extract_zip(archive, destination)
|
190
|
+
else
|
191
|
+
untarCLIPackage(archive,destination)
|
192
|
+
end
|
162
193
|
|
163
194
|
IBM_DB_HOME="#{destination}/clidriver"
|
164
195
|
|
data/ext/ibm_db.c
CHANGED
@@ -687,10 +687,9 @@ static void _ruby_ibm_db_mark_stmt_struct(stmt_handle *handle)
|
|
687
687
|
|
688
688
|
VALUE ibm_Ruby_Thread_Call(rb_blocking_function_t *func, void *data1, rb_unblock_function_t *ubf, void *data2)
|
689
689
|
{
|
690
|
-
#ifdef RUBY_API_VERSION_MAJOR
|
690
|
+
#ifdef RUBY_API_VERSION_MAJOR
|
691
691
|
if( RUBY_API_VERSION_MAJOR >=2 && RUBY_API_VERSION_MINOR >=2)
|
692
|
-
{
|
693
|
-
|
692
|
+
{
|
694
693
|
#ifdef _WIN32
|
695
694
|
void *(*f)(void*) = (void *(*)(void*))func;
|
696
695
|
return (VALUE)rb_thread_call_without_gvl(f, data1, ubf, data2);
|
@@ -698,7 +697,7 @@ VALUE ibm_Ruby_Thread_Call(rb_blocking_function_t *func, void *data1, rb_unblock
|
|
698
697
|
return rb_thread_call_without_gvl(func, data1, ubf, data2);
|
699
698
|
#else
|
700
699
|
rb_thread_call_without_gvl(func, data1, ubf, data2);
|
701
|
-
|
700
|
+
#endif
|
702
701
|
}
|
703
702
|
else
|
704
703
|
{
|
@@ -706,7 +705,7 @@ VALUE ibm_Ruby_Thread_Call(rb_blocking_function_t *func, void *data1, rb_unblock
|
|
706
705
|
}
|
707
706
|
#else
|
708
707
|
rb_thread_call_without_gvl(func, data1, ubf, data2);
|
709
|
-
#endif
|
708
|
+
#endif
|
710
709
|
}
|
711
710
|
|
712
711
|
|
@@ -739,7 +738,7 @@ static void _ruby_ibm_db_free_stmt_handle_and_resources(stmt_handle *handle)
|
|
739
738
|
|
740
739
|
/* static _ruby_ibm_db_free_stmt_struct */
|
741
740
|
static void _ruby_ibm_db_free_stmt_struct(stmt_handle *handle)
|
742
|
-
{
|
741
|
+
{
|
743
742
|
if ( handle != NULL ) {
|
744
743
|
_ruby_ibm_db_free_stmt_handle_and_resources( handle );
|
745
744
|
ruby_xfree( handle );
|
@@ -1027,7 +1026,7 @@ static void _ruby_ibm_db_check_sql_errors( void *conn_or_stmt, int resourceType,
|
|
1027
1026
|
|
1028
1027
|
#ifdef UNICODE_SUPPORT_VERSION
|
1029
1028
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLGetDiagRec_helper, get_DiagRec_args,
|
1030
|
-
|
1029
|
+
RUBY_UBF_IO, NULL);
|
1031
1030
|
return_code =get_DiagRec_args->return_code;
|
1032
1031
|
#else
|
1033
1032
|
return_code = _ruby_ibm_db_SQLGetDiagRec_helper( get_DiagRec_args );
|
@@ -2002,7 +2001,6 @@ static void _ruby_ibm_db_clear_stmt_err_cache()
|
|
2002
2001
|
/* static VALUE _ruby_ibm_db_connect_helper2( connect_helper_args *data )
|
2003
2002
|
*/
|
2004
2003
|
static VALUE _ruby_ibm_db_connect_helper2( connect_helper_args *data ) {
|
2005
|
-
|
2006
2004
|
SQLINTEGER conn_alive;
|
2007
2005
|
SQLINTEGER enable_numeric_literals = 1; /* Enable CLI numeric literals */
|
2008
2006
|
|
@@ -2527,8 +2525,7 @@ static VALUE _ruby_ibm_db_connect_helper( int argc, VALUE *argv, int isPersisten
|
|
2527
2525
|
}
|
2528
2526
|
/* Call the function where the actual logic is being run*/
|
2529
2527
|
#ifdef UNICODE_SUPPORT_VERSION
|
2530
|
-
|
2531
|
-
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_connect_helper2, helper_args, (void *)_ruby_ibm_db_Connection_level_UBF, NULL);
|
2528
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_connect_helper2, helper_args, RUBY_UBF_IO, NULL);
|
2532
2529
|
|
2533
2530
|
|
2534
2531
|
conn_res = helper_args->conn_res;
|
@@ -2555,9 +2552,9 @@ static VALUE _ruby_ibm_db_connect_helper( int argc, VALUE *argv, int isPersisten
|
|
2555
2552
|
return_value = Data_Wrap_Struct(le_conn_struct, _ruby_ibm_db_mark_conn_struct, _ruby_ibm_db_free_conn_struct, conn_res);
|
2556
2553
|
}
|
2557
2554
|
}
|
2558
|
-
|
2555
|
+
#else
|
2559
2556
|
return_value = _ruby_ibm_db_connect_helper2( helper_args );
|
2560
|
-
|
2557
|
+
#endif
|
2561
2558
|
/* Free the memory allocated */
|
2562
2559
|
if(conn_args != NULL) {
|
2563
2560
|
/* Memory to structure elements of helper_args is not allocated explicitly hence it is automatically freed by Ruby.
|
@@ -2826,10 +2823,8 @@ static void _ruby_ibm_db_clear_conn_err_cache()
|
|
2826
2823
|
*
|
2827
2824
|
*/
|
2828
2825
|
VALUE ibm_db_connect(int argc, VALUE *argv, VALUE self)
|
2829
|
-
{
|
2830
|
-
|
2826
|
+
{
|
2831
2827
|
_ruby_ibm_db_clear_conn_err_cache();
|
2832
|
-
|
2833
2828
|
return _ruby_ibm_db_connect_helper( argc, argv, 0 );
|
2834
2829
|
}
|
2835
2830
|
/* */
|
@@ -2975,7 +2970,7 @@ VALUE ruby_ibm_db_createDb_helper(VALUE connection, VALUE dbName, VALUE codeSet,
|
|
2975
2970
|
|
2976
2971
|
#ifdef UNICODE_SUPPORT_VERSION
|
2977
2972
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLCreateDB_helper, create_db_args,
|
2978
|
-
|
2973
|
+
RUBY_UBF_IO, NULL );
|
2979
2974
|
rc = create_db_args->rc;
|
2980
2975
|
#else
|
2981
2976
|
rc = _ruby_ibm_db_SQLCreateDB_helper( create_db_args );
|
@@ -3105,7 +3100,7 @@ VALUE ruby_ibm_db_dropDb_helper(VALUE connection, VALUE dbName) {
|
|
3105
3100
|
|
3106
3101
|
#ifdef UNICODE_SUPPORT_VERSION
|
3107
3102
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLDropDB_helper, drop_db_args,
|
3108
|
-
|
3103
|
+
RUBY_UBF_IO, NULL );
|
3109
3104
|
rc = drop_db_args->rc;
|
3110
3105
|
#else
|
3111
3106
|
rc = _ruby_ibm_db_SQLDropDB_helper( drop_db_args );
|
@@ -3460,10 +3455,9 @@ VALUE ibm_db_bind_param_helper(int argc, char * varname, long varname_len ,long
|
|
3460
3455
|
/* if argc == 3, then the default value for param_type will be used */
|
3461
3456
|
case 3:
|
3462
3457
|
param_type = SQL_PARAM_INPUT;
|
3463
|
-
|
3464
|
-
#ifdef
|
3465
|
-
|
3466
|
-
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLDescribeParam_helper, data,
|
3458
|
+
|
3459
|
+
#ifdef UNICODE_SUPPORT_VERSIO
|
3460
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLDescribeParam_helper, data,
|
3467
3461
|
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res);
|
3468
3462
|
rc = data->rc;
|
3469
3463
|
#else
|
@@ -3482,10 +3476,9 @@ VALUE ibm_db_bind_param_helper(int argc, char * varname, long varname_len ,long
|
|
3482
3476
|
break;
|
3483
3477
|
|
3484
3478
|
case 4:
|
3485
|
-
|
3486
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
3479
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
3487
3480
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLDescribeParam_helper, data,
|
3488
|
-
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res);
|
3481
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
3489
3482
|
rc = data->rc;
|
3490
3483
|
#else
|
3491
3484
|
rc = _ruby_ibm_db_SQLDescribeParam_helper( data );
|
@@ -3503,8 +3496,7 @@ VALUE ibm_db_bind_param_helper(int argc, char * varname, long varname_len ,long
|
|
3503
3496
|
break;
|
3504
3497
|
|
3505
3498
|
case 5:
|
3506
|
-
|
3507
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
3499
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
3508
3500
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLDescribeParam_helper, data,
|
3509
3501
|
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
3510
3502
|
rc = data->rc;
|
@@ -3525,10 +3517,9 @@ VALUE ibm_db_bind_param_helper(int argc, char * varname, long varname_len ,long
|
|
3525
3517
|
break;
|
3526
3518
|
|
3527
3519
|
case 6:
|
3528
|
-
|
3529
|
-
|
3530
|
-
|
3531
|
-
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
3520
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
3521
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLDescribeParam_helper, data,
|
3522
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
3532
3523
|
rc = data->rc;
|
3533
3524
|
#else
|
3534
3525
|
rc = _ruby_ibm_db_SQLDescribeParam_helper( data );
|
@@ -3763,7 +3754,7 @@ VALUE ibm_db_close(int argc, VALUE *argv, VALUE self)
|
|
3763
3754
|
|
3764
3755
|
#ifdef UNICODE_SUPPORT_VERSION
|
3765
3756
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLEndTran, end_X_args,
|
3766
|
-
|
3757
|
+
RUBY_UBF_IO, NULL);
|
3767
3758
|
rc = end_X_args->rc;
|
3768
3759
|
#else
|
3769
3760
|
rc = _ruby_ibm_db_SQLEndTran( end_X_args );
|
@@ -3782,7 +3773,7 @@ VALUE ibm_db_close(int argc, VALUE *argv, VALUE self)
|
|
3782
3773
|
|
3783
3774
|
#ifdef UNICODE_SUPPORT_VERSION
|
3784
3775
|
rc = ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLDisconnect_helper, &(conn_res->hdbc),
|
3785
|
-
|
3776
|
+
RUBY_UBF_IO, NULL);
|
3786
3777
|
#else
|
3787
3778
|
rc = _ruby_ibm_db_SQLDisconnect_helper( &(conn_res->hdbc) );
|
3788
3779
|
#endif
|
@@ -3956,10 +3947,9 @@ VALUE ibm_db_column_privileges(int argc, VALUE *argv, VALUE self)
|
|
3956
3947
|
#endif
|
3957
3948
|
}
|
3958
3949
|
col_privileges_args->stmt_res = stmt_res;
|
3959
|
-
|
3960
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
3950
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
3961
3951
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLColumnPrivileges_helper, col_privileges_args,
|
3962
|
-
|
3952
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
3963
3953
|
rc = col_privileges_args->rc;
|
3964
3954
|
#else
|
3965
3955
|
rc = _ruby_ibm_db_SQLColumnPrivileges_helper( col_privileges_args );
|
@@ -4137,8 +4127,8 @@ VALUE ibm_db_columns(int argc, VALUE *argv, VALUE self)
|
|
4137
4127
|
}
|
4138
4128
|
col_metadata_args->stmt_res = stmt_res;
|
4139
4129
|
|
4140
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
4141
|
-
|
4130
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
4131
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLColumns_helper, col_metadata_args,
|
4142
4132
|
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
4143
4133
|
rc = col_metadata_args->rc;
|
4144
4134
|
#else
|
@@ -4309,8 +4299,8 @@ VALUE ibm_db_foreign_keys(int argc, VALUE *argv, VALUE self)
|
|
4309
4299
|
|
4310
4300
|
col_metadata_args->stmt_res = stmt_res;
|
4311
4301
|
|
4312
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
4313
|
-
|
4302
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
4303
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLForeignKeys_helper, col_metadata_args,
|
4314
4304
|
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
4315
4305
|
rc = col_metadata_args->rc;
|
4316
4306
|
#else
|
@@ -4465,8 +4455,8 @@ VALUE ibm_db_primary_keys(int argc, VALUE *argv, VALUE self)
|
|
4465
4455
|
}
|
4466
4456
|
col_metadata_args->stmt_res = stmt_res;
|
4467
4457
|
|
4468
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
4469
|
-
|
4458
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
4459
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLPrimaryKeys_helper, col_metadata_args,
|
4470
4460
|
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
4471
4461
|
rc = col_metadata_args->rc;
|
4472
4462
|
#else
|
@@ -4656,9 +4646,9 @@ VALUE ibm_db_procedure_columns(int argc, VALUE *argv, VALUE self)
|
|
4656
4646
|
}
|
4657
4647
|
col_metadata_args->stmt_res = stmt_res;
|
4658
4648
|
|
4659
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
4660
|
-
|
4661
|
-
|
4649
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
4650
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLProcedureColumns_helper, col_metadata_args,
|
4651
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
4662
4652
|
rc = col_metadata_args->rc;
|
4663
4653
|
#else
|
4664
4654
|
rc = _ruby_ibm_db_SQLProcedureColumns_helper( col_metadata_args );
|
@@ -4813,8 +4803,8 @@ VALUE ibm_db_procedures(int argc, VALUE *argv, VALUE self)
|
|
4813
4803
|
}
|
4814
4804
|
proc_metadata_args->stmt_res = stmt_res;
|
4815
4805
|
|
4816
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
4817
|
-
|
4806
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
4807
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLProcedures_helper, proc_metadata_args,
|
4818
4808
|
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res);
|
4819
4809
|
rc = proc_metadata_args->rc;
|
4820
4810
|
#else
|
@@ -4990,9 +4980,9 @@ VALUE ibm_db_special_columns(int argc, VALUE *argv, VALUE self)
|
|
4990
4980
|
}
|
4991
4981
|
col_metadata_args->stmt_res = stmt_res;
|
4992
4982
|
|
4993
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
4994
|
-
|
4995
|
-
|
4983
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
4984
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLSpecialColumns_helper, col_metadata_args,
|
4985
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
4996
4986
|
rc = col_metadata_args->rc;
|
4997
4987
|
#else
|
4998
4988
|
rc = _ruby_ibm_db_SQLSpecialColumns_helper( col_metadata_args );
|
@@ -5186,9 +5176,9 @@ VALUE ibm_db_statistics(int argc, VALUE *argv, VALUE self)
|
|
5186
5176
|
}
|
5187
5177
|
col_metadata_args->stmt_res = stmt_res;
|
5188
5178
|
|
5189
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
5179
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
5190
5180
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLStatistics_helper, col_metadata_args,
|
5191
|
-
|
5181
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
5192
5182
|
rc = col_metadata_args->rc;
|
5193
5183
|
#else
|
5194
5184
|
rc = _ruby_ibm_db_SQLStatistics_helper( col_metadata_args );
|
@@ -5345,9 +5335,9 @@ VALUE ibm_db_table_privileges(int argc, VALUE *argv, VALUE self)
|
|
5345
5335
|
|
5346
5336
|
table_privileges_args->stmt_res = stmt_res;
|
5347
5337
|
|
5348
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
5349
|
-
|
5350
|
-
|
5338
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
5339
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLTablePrivileges_helper, table_privileges_args,
|
5340
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
5351
5341
|
rc = table_privileges_args->rc;
|
5352
5342
|
#else
|
5353
5343
|
rc = _ruby_ibm_db_SQLTablePrivileges_helper( table_privileges_args );
|
@@ -5519,8 +5509,8 @@ VALUE ibm_db_tables(int argc, VALUE *argv, VALUE self)
|
|
5519
5509
|
|
5520
5510
|
table_metadata_args->stmt_res = stmt_res;
|
5521
5511
|
|
5522
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
5523
|
-
|
5512
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
5513
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLTables_helper, table_metadata_args,
|
5524
5514
|
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
5525
5515
|
rc = table_metadata_args->rc;
|
5526
5516
|
#else
|
@@ -5603,7 +5593,7 @@ VALUE ibm_db_commit(int argc, VALUE *argv, VALUE self)
|
|
5603
5593
|
|
5604
5594
|
#ifdef UNICODE_SUPPORT_VERSION
|
5605
5595
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLEndTran, end_X_args,
|
5606
|
-
|
5596
|
+
RUBY_UBF_IO, NULL);
|
5607
5597
|
rc = end_X_args->rc;
|
5608
5598
|
#else
|
5609
5599
|
rc = _ruby_ibm_db_SQLEndTran( end_X_args );
|
@@ -5681,9 +5671,9 @@ static int _ruby_ibm_db_do_prepare(conn_handle *conn_res, VALUE stmt, stmt_handl
|
|
5681
5671
|
prepare_args->stmt_res = stmt_res;
|
5682
5672
|
|
5683
5673
|
/* Prepare the stmt. The cursor type requested has already been set in _ruby_ibm_db_assign_options */
|
5684
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
5685
|
-
|
5686
|
-
|
5674
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
5675
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLPrepare_helper, prepare_args,
|
5676
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
5687
5677
|
rc = prepare_args->rc;
|
5688
5678
|
#else
|
5689
5679
|
rc = _ruby_ibm_db_SQLPrepare_helper( prepare_args );
|
@@ -5823,9 +5813,9 @@ VALUE ibm_db_exec(int argc, VALUE *argv, VALUE self)
|
|
5823
5813
|
exec_direct_args->stmt_res = stmt_res;
|
5824
5814
|
|
5825
5815
|
|
5826
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
5827
|
-
|
5828
|
-
|
5816
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
5817
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLExecDirect_helper, exec_direct_args,
|
5818
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
5829
5819
|
rc = exec_direct_args->rc;
|
5830
5820
|
#else
|
5831
5821
|
rc = _ruby_ibm_db_SQLExecDirect_helper( exec_direct_args );
|
@@ -5897,8 +5887,8 @@ VALUE ibm_db_free_result(int argc, VALUE *argv, VALUE self)
|
|
5897
5887
|
freeStmt_args->stmt_res = stmt_res;
|
5898
5888
|
freeStmt_args->option = SQL_CLOSE;
|
5899
5889
|
|
5900
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
5901
|
-
|
5890
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
5891
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLFreeStmt_helper, freeStmt_args,
|
5902
5892
|
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
5903
5893
|
rc = freeStmt_args->rc;
|
5904
5894
|
#else
|
@@ -7015,9 +7005,9 @@ VALUE ibm_db_execute(int argc, VALUE *argv, VALUE self)
|
|
7015
7005
|
bind_array->num = 0;
|
7016
7006
|
bind_array->error = &error;
|
7017
7007
|
|
7018
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
7019
|
-
|
7020
|
-
|
7008
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
7009
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_execute_helper, bind_array,
|
7010
|
+
RUBY_UBF_IO, NULL );
|
7021
7011
|
ret_value = bind_array->return_value;
|
7022
7012
|
#else
|
7023
7013
|
ret_value = _ruby_ibm_db_execute_helper( bind_array );
|
@@ -7801,9 +7791,9 @@ VALUE ibm_db_next_result(int argc, VALUE *argv, VALUE self)
|
|
7801
7791
|
nextresultparams->stmt_res = stmt_res;
|
7802
7792
|
nextresultparams->new_hstmt = &new_hstmt;
|
7803
7793
|
|
7804
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
7805
|
-
|
7806
|
-
|
7794
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
7795
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLNextResult_helper, nextresultparams,
|
7796
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
7807
7797
|
rc = nextresultparams->rc;
|
7808
7798
|
#else
|
7809
7799
|
rc = _ruby_ibm_db_SQLNextResult_helper( nextresultparams );
|
@@ -7903,8 +7893,8 @@ VALUE ibm_db_num_fields(int argc, VALUE *argv, VALUE self)
|
|
7903
7893
|
result_cols_args->count = 0;
|
7904
7894
|
|
7905
7895
|
#ifdef UNICODE_SUPPORT_VERSION
|
7906
|
-
|
7907
|
-
|
7896
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLNumResultCols_helper, result_cols_args,
|
7897
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
7908
7898
|
rc = result_cols_args->rc;
|
7909
7899
|
#else
|
7910
7900
|
rc = _ruby_ibm_db_SQLNumResultCols_helper( result_cols_args );
|
@@ -7995,9 +7985,9 @@ VALUE ibm_db_num_rows(int argc, VALUE *argv, VALUE self)
|
|
7995
7985
|
row_count_args->stmt_res = stmt_res;
|
7996
7986
|
row_count_args->count = 0;
|
7997
7987
|
|
7998
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
7999
|
-
|
8000
|
-
|
7988
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
7989
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLRowCount_helper, row_count_args,
|
7990
|
+
RUBY_UBF_IO, NULL );
|
8001
7991
|
rc = row_count_args->rc;
|
8002
7992
|
#else
|
8003
7993
|
rc = _ruby_ibm_db_SQLRowCount_helper( row_count_args );
|
@@ -8053,8 +8043,8 @@ static int _ruby_ibm_db_get_column_by_name(stmt_handle *stmt_res, VALUE column,
|
|
8053
8043
|
if ( release_gil == 1 ) {
|
8054
8044
|
|
8055
8045
|
#ifdef UNICODE_SUPPORT_VERSION
|
8056
|
-
|
8057
|
-
|
8046
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_get_result_set_info, stmt_res,
|
8047
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
8058
8048
|
rc = stmt_res->rc;
|
8059
8049
|
#else
|
8060
8050
|
rc = _ruby_ibm_db_get_result_set_info( stmt_res );
|
@@ -8216,9 +8206,9 @@ VALUE ibm_db_field_display_size(int argc, VALUE *argv, VALUE self)
|
|
8216
8206
|
colattr_args->col_num = col+1;
|
8217
8207
|
colattr_args->FieldIdentifier = SQL_DESC_DISPLAY_SIZE;
|
8218
8208
|
|
8219
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
8220
|
-
|
8221
|
-
|
8209
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
8210
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLColAttributes_helper, colattr_args,
|
8211
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
8222
8212
|
rc = colattr_args->rc;
|
8223
8213
|
#else
|
8224
8214
|
rc = _ruby_ibm_db_SQLColAttributes_helper( colattr_args );
|
@@ -8537,9 +8527,9 @@ VALUE ibm_db_field_width(int argc, VALUE *argv, VALUE self)
|
|
8537
8527
|
colattr_args->col_num = col+1;
|
8538
8528
|
colattr_args->FieldIdentifier = SQL_DESC_LENGTH;
|
8539
8529
|
|
8540
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
8530
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
8541
8531
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLColAttributes_helper, colattr_args,
|
8542
|
-
|
8532
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res);
|
8543
8533
|
rc = colattr_args->rc;
|
8544
8534
|
#else
|
8545
8535
|
rc = _ruby_ibm_db_SQLColAttributes_helper( colattr_args );
|
@@ -8641,7 +8631,7 @@ VALUE ibm_db_rollback(int argc, VALUE *argv, VALUE self)
|
|
8641
8631
|
end_X_args->completionType = SQL_ROLLBACK; /*Remeber you are Rollingback the transaction*/
|
8642
8632
|
#ifdef UNICODE_SUPPORT_VERSION
|
8643
8633
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_SQLEndTran, end_X_args,
|
8644
|
-
|
8634
|
+
RUBY_UBF_IO, NULL);
|
8645
8635
|
rc = end_X_args->rc;
|
8646
8636
|
#else
|
8647
8637
|
rc = _ruby_ibm_db_SQLEndTran( end_X_args );
|
@@ -9262,8 +9252,8 @@ VALUE ibm_db_result(int argc, VALUE *argv, VALUE self)
|
|
9262
9252
|
Data_Get_Struct(stmt, stmt_handle, result_args->stmt_res);
|
9263
9253
|
|
9264
9254
|
#ifdef UNICODE_SUPPORT_VERSION
|
9265
|
-
|
9266
|
-
|
9255
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_result_helper, result_args,
|
9256
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, result_args->stmt_res );
|
9267
9257
|
ret_val = result_args->return_value;
|
9268
9258
|
#else
|
9269
9259
|
ret_val = _ruby_ibm_db_result_helper( result_args );
|
@@ -9600,7 +9590,7 @@ static VALUE _ruby_ibm_db_bind_fetch_helper(ibm_db_fetch_helper_args *data)
|
|
9600
9590
|
return Qnil;
|
9601
9591
|
}
|
9602
9592
|
|
9603
|
-
strcpy(tmpStr, "BigDecimal
|
9593
|
+
strcpy(tmpStr, "BigDecimal(\'");
|
9604
9594
|
strcat(tmpStr, row_data->str_val);
|
9605
9595
|
strcat(tmpStr, "\')");
|
9606
9596
|
|
@@ -10082,9 +10072,9 @@ VALUE ibm_db_fetch_row(int argc, VALUE *argv, VALUE self)
|
|
10082
10072
|
helper_args->arg_count = argc;
|
10083
10073
|
helper_args->error = &error;
|
10084
10074
|
|
10085
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
10075
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
10086
10076
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_fetch_row_helper, helper_args,
|
10087
|
-
|
10077
|
+
RUBY_UBF_IO, NULL );
|
10088
10078
|
ret_val = helper_args->return_value;
|
10089
10079
|
#else
|
10090
10080
|
ret_val = _ruby_ibm_db_fetch_row_helper( helper_args );
|
@@ -10251,9 +10241,9 @@ VALUE ibm_db_fetch_assoc(int argc, VALUE *argv, VALUE self) {
|
|
10251
10241
|
helper_args->error = &error;
|
10252
10242
|
helper_args->funcType = FETCH_ASSOC;
|
10253
10243
|
|
10254
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
10255
|
-
|
10256
|
-
|
10244
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
10245
|
+
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_bind_fetch_helper, helper_args,
|
10246
|
+
RUBY_UBF_IO, NULL );
|
10257
10247
|
ret_val = helper_args->return_value;
|
10258
10248
|
|
10259
10249
|
#else
|
@@ -10340,9 +10330,9 @@ VALUE ibm_db_fetch_object(int argc, VALUE *argv, VALUE self)
|
|
10340
10330
|
helper_args->error = &error;
|
10341
10331
|
helper_args->funcType = FETCH_ASSOC;
|
10342
10332
|
|
10343
|
-
#ifdef UNICODE_SUPPORT_VERSION
|
10333
|
+
#ifdef UNICODE_SUPPORT_VERSION
|
10344
10334
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_bind_fetch_helper, helper_args,
|
10345
|
-
|
10335
|
+
(void *)_ruby_ibm_db_Statement_level_UBF, stmt_res );
|
10346
10336
|
row_res->hash = helper_args->return_value;
|
10347
10337
|
#else
|
10348
10338
|
row_res->hash = _ruby_ibm_db_bind_fetch_helper( helper_args );
|
@@ -10422,17 +10412,15 @@ VALUE ibm_db_fetch_array(int argc, VALUE *argv, VALUE self)
|
|
10422
10412
|
helper_args->arg_count = argc;
|
10423
10413
|
helper_args->error = &error;
|
10424
10414
|
helper_args->funcType = FETCH_INDEX;
|
10425
|
-
|
10426
10415
|
//Call without thread API to avoid the Thread lock.
|
10427
10416
|
ret_val = _ruby_ibm_db_bind_fetch_helper( helper_args );
|
10428
|
-
|
10429
|
-
|
10430
|
-
|
10431
|
-
|
10432
|
-
|
10433
|
-
//
|
10417
|
+
//#ifdef UNICODE_SUPPORT_VERSION
|
10418
|
+
//ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_bind_fetch_helper, helper_args,
|
10419
|
+
// RUBY_UBF_IO, NULL );
|
10420
|
+
//ret_val = helper_args->return_value;
|
10421
|
+
|
10434
10422
|
//#else
|
10435
|
-
|
10423
|
+
//ret_val = _ruby_ibm_db_bind_fetch_helper( helper_args );
|
10436
10424
|
//#endif
|
10437
10425
|
|
10438
10426
|
/*Free Memory Allocated*/
|
@@ -10504,9 +10492,9 @@ VALUE ibm_db_fetch_both(int argc, VALUE *argv, VALUE self)
|
|
10504
10492
|
helper_args->error = &error;
|
10505
10493
|
helper_args->funcType = FETCH_BOTH;
|
10506
10494
|
|
10507
|
-
#ifdef
|
10495
|
+
#ifdef UNICODE_SUPPORT_VERSIO
|
10508
10496
|
ibm_Ruby_Thread_Call ( (void *)_ruby_ibm_db_bind_fetch_helper, helper_args,
|
10509
|
-
|
10497
|
+
RUBY_UBF_IO, NULL );
|
10510
10498
|
ret_val = helper_args->return_value;
|
10511
10499
|
#else
|
10512
10500
|
ret_val = _ruby_ibm_db_bind_fetch_helper( helper_args );
|
@@ -11272,8 +11260,9 @@ VALUE ibm_db_server_info(int argc, VALUE *argv, VALUE self)
|
|
11272
11260
|
getInfo_args->infoValue = NULL;
|
11273
11261
|
getInfo_args->buff_length = 0;
|
11274
11262
|
#ifdef UNICODE_SUPPORT_VERSION
|
11275
|
-
|
11276
|
-
|
11263
|
+
// Thread.current.report_on_exception = Qfalse;
|
11264
|
+
ibm_Ruby_Thread_Call ( (void *)ibm_db_server_info_helper, getInfo_args,
|
11265
|
+
RUBY_UBF_IO, NULL);
|
11277
11266
|
return_value = getInfo_args->return_value;
|
11278
11267
|
#else
|
11279
11268
|
return_value = ibm_db_server_info_helper( getInfo_args );
|
@@ -11567,10 +11556,10 @@ VALUE ibm_db_client_info(int argc, VALUE *argv, VALUE self)
|
|
11567
11556
|
getInfo_args->infoType = 0;
|
11568
11557
|
getInfo_args->infoValue = NULL;
|
11569
11558
|
getInfo_args->buff_length = 0;
|
11570
|
-
|
11559
|
+
// using the default unblock funtion RUBY_UBF_IO instead of defined unblock function
|
11571
11560
|
#ifdef UNICODE_SUPPORT_VERSION
|
11572
11561
|
ibm_Ruby_Thread_Call ( (void *)ibm_db_client_info_helper, getInfo_args,
|
11573
|
-
|
11562
|
+
RUBY_UBF_IO, NULL);
|
11574
11563
|
return_value = getInfo_args->return_value;
|
11575
11564
|
|
11576
11565
|
#else
|
@@ -11885,3 +11874,6 @@ VALUE ibm_db_get_last_serial_value(int argc, VALUE *argv, VALUE self)
|
|
11885
11874
|
* vim600: noet sw=4 ts=4 fdm=marker
|
11886
11875
|
* vim<600: noet sw=4 ts=4
|
11887
11876
|
*/
|
11877
|
+
|
11878
|
+
/*
|
11879
|
+
+----------------------------------------------------------------------+*/
|