ruby-odbc-supported 1.0.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: a620919a56443b3e4dbe0a80f46645cae933a41fe69aeaa65748e4163e13317d
4
+ data.tar.gz: 82fc81db907ddf2b78afd1ac68bd58c73cc928baa83ebfd4603fab65efe7bc03
5
+ SHA512:
6
+ metadata.gz: 54204e5502b4abd419dae7f87837b0cbf2ae7fdf874cba1ee95274852f77562410ad7bff250d481ec75db47b9dc7feb782a5f1e8dc6e5422434d4783342cda3d
7
+ data.tar.gz: 9c7473f6c136f87621b55dbab63572e8e7debc71976407b9e7c3d3658d3bdf62bffa38cdbed1042c78aca42b447b16249faeb493799706b4708581e50fab7db8
data/COPYING ADDED
@@ -0,0 +1,53 @@
1
+ Ruby/ODBC is copyrighted free software by Christian Werner <chw@ch-werner.de>
2
+ You can redistribute it and/or modify it under either the terms of the GPL
3
+ (see the file GPL), or the conditions below:
4
+
5
+ 1. You may make and give away verbatim copies of the source form of the
6
+ software without restriction, provided that you duplicate all of the
7
+ original copyright notices and associated disclaimers.
8
+
9
+ 2. You may modify your copy of the software in any way, provided that
10
+ you do at least ONE of the following:
11
+
12
+ a) place your modifications in the Public Domain or otherwise
13
+ make them Freely Available, such as by posting said
14
+ modifications to Usenet or an equivalent medium, or by allowing
15
+ the author to include your modifications in the software.
16
+
17
+ b) use the modified software only within your corporation or
18
+ organization.
19
+
20
+ c) give non-standard binaries non-standard names, with
21
+ instructions on where to get the original software distribution.
22
+
23
+ d) make other distribution arrangements with the author.
24
+
25
+ 3. You may distribute the software in object code or binary form,
26
+ provided that you do at least ONE of the following:
27
+
28
+ a) distribute the binaries and library files of the software,
29
+ together with instructions (in the manual page or equivalent)
30
+ on where to get the original distribution.
31
+
32
+ b) accompany the distribution with the machine-readable source of
33
+ the software.
34
+
35
+ c) give non-standard binaries non-standard names, with
36
+ instructions on where to get the original software distribution.
37
+
38
+ d) make other distribution arrangements with the author.
39
+
40
+ 4. You may modify and include the part of the software into any other
41
+ software (possibly commercial).
42
+
43
+ 5. The scripts and library files supplied as input to or produced as
44
+ output from the software do not automatically fall under the
45
+ copyright of the software, but belong to whomever generated them,
46
+ and may be sold commercially, and may be aggregated with this
47
+ software.
48
+
49
+ 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
50
+ IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
51
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
52
+ PURPOSE.
53
+
data/ChangeLog ADDED
@@ -0,0 +1,369 @@
1
+ ODBC binding for Ruby
2
+ ---------------------
3
+
4
+ Fri Nov 14 2025 version 1.0.0 release <jyothu.kr@gmail.com>
5
+ * Renamed the gem from ruby-odbc to ruby-odbc-supported.
6
+ * Updated the gem version to 1.0.0.
7
+
8
+ Thu Jun 27 2024 version 0.103.cv release <pandeyam@vmware.com>
9
+ * Argument data type fix to support Ruby 3.3 by replacing NULL with 0 in method rb_funcall
10
+ * Include ruby/thread.h to implicitly declare rb_thread_call_without_gvl
11
+ * Cast first argument of rb_thread_call_without_gvl to void * data type
12
+
13
+ Mon Aug 21 2023 version 0.102.cv release <grajwade@vmware.com>
14
+ * Syntax changes to support Ruby 3.2 by using native "rb_str_new" instead of "rb_tainted_str_new"
15
+ Remove tained usage (thanks @vhermecz)
16
+ Fix error 'tried to create Proc object without a block (ArgumentError)'
17
+
18
+ Tue Feb 12 2019 version 0.101.cv release <slawson@vmware.com>
19
+ * Minor syntax changes to support Ruby 2.4
20
+ Don't pass "" as the second parameter to has_library()
21
+ Ensure char* are passed to rb_scan_args()
22
+
23
+ Wed August 31 2016 version 0.100.cv release <slawson@vmware.com>
24
+ * Add support for Ruby 2.x by using native "rb_thread_call_without_gvl" directly (thanks @shreyasahir)
25
+
26
+ Wed April 12 2014 version 0.99 release <matt@cloudvolumes.com>
27
+ * Remove debug log
28
+
29
+ Wed April 8 2014 version 0.98 release <matt@cloudvolumes.com>
30
+ * Set login time to 30 seconds
31
+
32
+ Wed Feb 26 2014 version 0.97 release <steve@cloudvolumes.com>
33
+ * Force encoding of all ruby strings in results to UTF8 if Encoding.default_external == 'UTF-8'
34
+ You must be saving and retrieving UTF8 compatible strings in the database.
35
+
36
+ Wed Jan 16 2014 version 0.99996 released
37
+
38
+ * Added call to rb_thread_blocking_region to release the global
39
+ interpreter lock during SQLExecute and SQLExecDirect and require it
40
+ afterwards.
41
+
42
+ This improves performance by not blocking all Ruby threads during long
43
+ running queries. This also fixes a deadlock which can occur in SQLExecute and
44
+ SQLExecDirect which can happen when trying to read (if isolation level is
45
+ "read committed", "repeatable read", "serializable", etc.) or when trying to
46
+ modify a dirty row that has been modified by an uncommitted transaction. If this
47
+ transaction was initiated by a ruby thread in the same process, all ruby threads
48
+ will hang and the ruby process will become unresponsive.
49
+
50
+ Wed Mar 13 2013 version 0.99995 released
51
+
52
+ * added ODBC::Database.use_sql_column_name= flag to switch
53
+ usage of SQLColAttributes(SQL_COLUMN_LABEL) to
54
+ SQLColAttributes(SQL_COLUMN_NAME) on per connection basis
55
+
56
+ Sat Jan 15 2011 version 0.99994 released
57
+
58
+ * fixed column key caching, thanks Sean Noonan for bug report
59
+
60
+ Fri Dec 24 2010 version 0.99993 released
61
+
62
+ * fixed error reporting in Database.transaction method,
63
+ thanks Shane Emmons for bug report and testing
64
+
65
+ Thu Sep 16 2010 version 0.99992 released
66
+
67
+ * ODBC::Statement.each/each_hash now output arrays when
68
+ invoked without block
69
+ * column keys in result hashes now are cached/recycled Ruby strings
70
+ * added ODBC::Database methods use_time/use_utc to directly
71
+ output Ruby Time/Date objects
72
+ * added encoding support in the UTF8 variant for Ruby >= 1.9
73
+ * added module constant ODBC::UTF8 to indicate variant of module
74
+ * fixes for M$SQL server reporting zero column sizes
75
+ and unknown data types for varchar(strmax) columns
76
+ * eliminated compiler warnings
77
+ * use StringValueCStr instead of STR2CSTR (Ruby >= 1.9.1)
78
+ * small change for decision when to use SQLGetData() loop
79
+
80
+ Sun Apr 25 2010 version 0.99991 released
81
+
82
+ * detect HAVE_LONG_LONG for builds with unixODBC
83
+ * UTF-8 coding/decoding fix for range 0x80..0xBF
84
+
85
+ Thu Feb 18 2010 version 0.9999 released
86
+
87
+ * integrated Bosko Ivanisevic's fixes in ext/utf8/extconf.rb
88
+ and test/test.rb and test/utf8/test.rb
89
+
90
+ Fri Jan 15 2010 version 0.9998 released
91
+
92
+ * documentation update
93
+ * reorganized directory layout for making a gem
94
+
95
+ Wed May 20 2009 version 0.9997 released
96
+
97
+ * added Chad Johnson's FreeTDS/MSSQL patch to prevent from
98
+ re-prepare of queries with SQL_VARCHAR parameters
99
+
100
+ Mon Feb 02 2009 version 0.9996 released
101
+
102
+ * updates for Ruby > 1.8
103
+ * added Stephen Veit's SQL_NO_TOTAL handling to improve
104
+ retrieving large SQL_C_BINARY data
105
+ * fixes for SQLExecute/SQLExecDirect returning SQL_NO_DATA
106
+
107
+ Sat Apr 07 2007 version 0.9995 released
108
+
109
+ * init.c: prefer libiodbc.so.2 over libiodbc.so and
110
+ libodbc.so.1 over libodbc.so and same logic for
111
+ the installer shared library
112
+ * no exception thrown on stale HSTMT for ODBC::Statement.nrows
113
+
114
+ Mon Dec 25 2006 version 0.9994 released
115
+
116
+ * improved doc on ODBC::Statement.*param*, ODBC::Parameter,
117
+ and related ODBCProc
118
+ * added support for output/input-output parameters in queries,
119
+ methods ODBC::Statement.param_iotype/param_output_type/
120
+ param_output_size/param_output_value
121
+
122
+ Fri Sep 15 2006 version 0.9993 released
123
+
124
+ * more tweaks in extconf.rb for --enable-dlopen'ed utf8 version
125
+ thanks Daigo Moriwaki for testing
126
+ * eliminated warnings for installer functions
127
+
128
+ Mon Sep 11 2006 version 0.9992 released
129
+
130
+ * added parameter "column" in ODBC::Database::columns
131
+ * intern most strings on module load
132
+ * enhanced ODBC::Statement.fetch_hash et.al. to produce
133
+ intern'ed strings or fixnums as hash keys as requested
134
+ by Neville Burnell
135
+ * handle SQL_NO_DATA for chunk-wise SQLGetData()
136
+ * determine dynamically which API (UNICODE or ANSI) to
137
+ use for ODBC installer functions
138
+ * more 64 bit fixes
139
+ * added missing SQLEndTran() in init.c
140
+
141
+ Sat Aug 05 2006 version 0.9991 released
142
+
143
+ * fixed more SQLLEN vs SQLINTEGER issues and 64 bit warnings
144
+ * bail out during extconf.rb when sql.h/sqlext.h is not
145
+ available as requested by Curt Sampson
146
+ * fixed transaction logic ENV vs. DBC and use SQLEndTran()
147
+ for ODBCVER >= 0x0300, thanks Adam Harper for patch
148
+ * detect SQL parameter strings containing '\0's and use
149
+ SQL_C_BINARY when appropriate as parameter types to support
150
+ BLOB data, thanks Daigo Moriwaki for report and testing
151
+ * don't use dlopen()/GCC weak attributes on MacOSX
152
+
153
+ Wed Jun 28 2006 version 0.999 released
154
+
155
+ * added ODBC::Column@autoincrement information
156
+ * added init.c and extconf.rb logic for resolving iODBC/unixODBC
157
+ library dependencies at runtime using GCC weak attribute in
158
+ conjunction with dlopen(), this feature can be enabled/disabled
159
+ with "ruby extconf.rb --enable-dlopen"
160
+
161
+ Sun May 21 2006 version 0.998 released
162
+
163
+ * added undocumented module methods ODBC::write_file_dsn and
164
+ ODBC::read_file_dsn
165
+ * fixes in SQLConfigDataSource/SQLInstallerError detect/usage
166
+ * added statement level option handling (SQLSetStmtOption),
167
+ ODBC::Database.newstmt, ODBC::Statement.prepare|run as
168
+ contributed by Carl Blakeley of OpenLink Software
169
+ * eliminated most GCC 4.x warnings
170
+
171
+ Sun Dec 25 2005 version 0.997 released
172
+
173
+ * 32/64 bit issues as pointed out by Lars Kanis
174
+ * ODBC::Database.get_info implementation and constants, idea
175
+ and initial coding contributed by Tim Haynes of OpenLink Software
176
+ * ODBC::Statement.param_type implemented as work around for
177
+ Ingres ODBC driver. Thanks Jon Chambers for idea and testing
178
+
179
+ Sun Nov 21 2004 version 0.996 released
180
+
181
+ * use SQLInstallerError() for adddsn/confdsn/deldsn if available,
182
+ code contributed by Ryszard Niewisiewicz
183
+ * retry SQLBindParameter() for SQL_VARCHAR when SQLDescribeParam()
184
+ doesn't work (e.g. on MS Jet Engine)
185
+ * fixed crashes when SQLBindParameter failed in stmt_exec_int(),
186
+ as reported by Ryszard Niewisiewicz
187
+
188
+ Tue Sep 07 2004 version 0.995 released
189
+
190
+ * fixed another buffer alignment bug fetching doubles on sparc,
191
+ thanks Dan Debertin for testing.
192
+
193
+ Wed Jul 14 2004 version 0.994 released
194
+
195
+ * fixed ODBC::Database.new|connect so that
196
+ ODBC::Database.new.drvconnect(string) works
197
+ * fixed SQLTCHAR detect for Win32 in extconf.rb,
198
+ thanks to Pedro Luis Castedo Cepeda
199
+
200
+ Mon Jun 28 2004 version 0.993 released
201
+
202
+ * use HAVE_TYPE_SQLTCHAR from extconf.rb for old iODBC versions
203
+ * don't rb_define_alloc_func of dsn_new/drv_new for Ruby >= 1.8,
204
+ gives stack overflows, thanks to Pedro Luis Castedo Cepeda
205
+ for fixing
206
+ * fixes for iODBC driver manager concerning SQLFetchScroll
207
+ availability (SQL state codes IM001 vs HYC000)
208
+ * blob handling fix as suggested by Kaspar Schiess
209
+
210
+ Mon Mar 22 2004 version 0.992 released
211
+
212
+ * fixed buggy UTF8->Unicode conversion code
213
+ * fixed handling of uppercase column names in row hashes
214
+
215
+ Fri Dec 26 2003 version 0.991 released
216
+
217
+ * use SQLConfigDataSourceW() in utf8 version
218
+ * SQLError() is now always called after error/warning from
219
+ other ODBC API invokations in order to cleanup error
220
+ messages in driver manager/driver
221
+ * tweaks for SQLColAttributes() problems as suggested
222
+ by Nathaniel Talbott <nathaniel@talbott.ws>
223
+ * modified extconf.rb as suggestedb by <RNicz@fibernet.pl>
224
+ * eliminated use of alloca() in utf8 converters
225
+ * reworked to use Ruby 1.8 rb_define_alloc_func() API
226
+
227
+ Wed May 21 2003 version 0.99 released
228
+
229
+ * no functional changes with respect to 0.98
230
+ but starting with 0.99 released under Ruby style license.
231
+
232
+ Thu May 08 2003 version 0.98 released
233
+
234
+ * added utf8 version (-DUNICODE, -D_UNICODE for CFLAGS),
235
+ which generates odbc_utf.so, for build instructions
236
+ see README. Thanks Bosko Ivanisevic <ivanisev@sezampro.yu>
237
+ for ideas and testing.
238
+
239
+ Fri Apr 25 2003 version 0.97 released
240
+
241
+ * align buffers for fetching scalar data (long, double et.al.)
242
+ to prevent alignment problems causing bus errors e.g. on sparc,
243
+ thanks sakazuki <QZS01353@nifty.ne.jp> for testing.
244
+
245
+ Wed Mar 19 2003 version 0.96 released
246
+
247
+ * added fall back to SQLFetch() when SQLFetchScroll(SQL_FETCH_NEXT)
248
+ or SQLExtendedFetch(SQL_FETCH_NEXT) report IM001 error,
249
+ thanks Kiyonori Takeda <takeda@newsline.net> for testing.
250
+
251
+ Mon May 13 2002 version 0.95 released
252
+
253
+ * doc updated
254
+ * minor code cleanups
255
+ * fixed ODBC::Database.run to properly accept blocks
256
+ as reported by Michael Neumann <neumann@s-direktnet.de>
257
+ * added ODBC::Statement.more_results method as
258
+ requested by Chris Morris <chris.morris@snelling.com>
259
+
260
+ Thu Oct 11 2001 version 0.94 released
261
+
262
+ * doc updated
263
+ * fixed off-by-one bug in do_fetch function
264
+ * added some more SQL_* constants
265
+ * added ODBC::Database.special_columns method
266
+ * added unique flag to ODBC::Database.indexes
267
+
268
+ Fri Sep 07 2001 version 0.93 released
269
+
270
+ * doc updated
271
+ * removed default column name conversion to upper case
272
+ as introduced in version 0.91
273
+ * added ignorecase, ignorecase= methods for ODBC::Database
274
+ and ODBC::Statement as suggested by
275
+ Sean O'Halpin <sean.ohalpin@bamberforsyth.com>
276
+
277
+ Fri Aug 31 2001 version 0.92 released
278
+
279
+ * ODBC::Parameter class and ODBC::Statement.make_proc method added
280
+ * changes to support libiodbc-2.50 eg on Debian, thanks
281
+ Massimiliano Mirra <info@chromatic-harp.com> for testing
282
+ * fixed typos in constant table (SQL_CP_* symbols, O_CONSTU macro)
283
+ * if odbcinst.h not available, make dummy DSN config methods
284
+
285
+ Sat Aug 25 2001 version 0.91 released
286
+
287
+ * handle non-unique keys in column name/result set hashes
288
+ by appending "#column-number" string
289
+ * convert column names to uppercase if ODBC driver is
290
+ identifier case insensitive as suggested by
291
+ Elmar Sonnenschein <eso@esomail.de>
292
+ * added cursorname method in Statement
293
+ * added assignment methods for Environment/Database/Statement
294
+ options
295
+ * taint strings
296
+ * use SQLExecDirect() in Statement.run/do when no parameters in query
297
+
298
+ Wed Aug 15 2001 version 0.9 released
299
+
300
+ * doc updated
301
+ * added alloc/free and ODBC API call tracing
302
+ (compile-time, -DTRACING)
303
+ * added array result for ODBC::Statement.columns
304
+ * statements are now by default dropped before SQLDisconnect
305
+ * rewrote resource tracking of environment, database connection
306
+ and statement objects due to crashes/hangs on Win32
307
+ * improved constructors for data/time/timestamp objects
308
+ * added clone methods for date/time/timestamp objects
309
+
310
+ Thu Jul 26 2001 version 0.8 released
311
+
312
+ * minor doc update
313
+ * added handling of block for ODBC::Statement.columns method
314
+ * revised error reporting and SQLRETURN handling with
315
+ respect to SQL_SUCCESS_WITH_INFO, introduced info method
316
+ to get warnings of last ODBC API call. Change was required
317
+ to support MS SQL Server, thanks to correspondence with
318
+ David Moore <david.moore@uk.dealogic.com>.
319
+
320
+ Wed Jun 20 2001 version 0.7 released
321
+
322
+ * minor doc update
323
+ * some more test cases in fetching data
324
+ * added some more fetch methods (fetch_many, fetch_all ...)
325
+ * added more tests for conditional include of <windows.h>
326
+ * again, fixes in parameter binding thanks to patches from
327
+ Steve Tuckner <sat@multitech.com>
328
+
329
+ Tue Jun 12 2001 version 0.6 released
330
+
331
+ * reviewed parameter and column information handling
332
+ * work around cases when SQLDescribeParam is not supported
333
+ by the selected ODBC driver
334
+ * bug fixes in parameter binding
335
+
336
+ Sun Jun 10 2001 version 0.5 released
337
+
338
+ * doc updated
339
+ * added environment attribute setting/getting methods
340
+ * eliminated alloca() in fetching data
341
+ * added missing SQL_CHAR constant
342
+ * fixed accessor methods for ODBC::(DSN|Driver|Column) as
343
+ suggested by Michael Neumann <neumann@s-direktnet.de>
344
+
345
+ Fri Jun 08 2001 version 0.4 released
346
+
347
+ * Cygwin fixes thanks to Michael Neumann <neumann@s-direktnet.de>
348
+ * minor optimizations
349
+ * cleanup GC related functions
350
+
351
+ Sun May 27 2001 version 0.3 released
352
+
353
+ * doc updated
354
+ * win32 port (mswin32 working, mingw untested)
355
+ * added types (ODBC::Date, ODBC::Time, ODBC::TimeStamp)
356
+ * reworked module/class organization
357
+ * major review
358
+
359
+ Thu May 17 2001 version 0.2 released
360
+
361
+ * updated and improved doc
362
+ * added fetch_hash, each_hash, column ODBCStmt methods
363
+ * added more constants in ODBC class
364
+ * added ODBCColumn class
365
+ * added accessor for ODBC::error
366
+
367
+ Sun May 13 2001 version 0.1 released
368
+
369
+ * initial release.