1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338
|
ODBC binding for Ruby
---------------------
Wed Feb 15 2017 version 0.99998 released
* minor update to compile with Ruby 2.4, thangs to Kevin Deisz
* preset output vars before SQLColAttributes() call
Wed Apr 15 2015 version 0.99997 released
* fixed bug (typo) when compiling with Ruby < 2.0
Wed Mar 25 2015 version 0.99996 released
* when built for Ruby >= 2.0 release GVL for potentially
long running ODBC API functions, thanks Matt Conover
for initial implementation
Wed Mar 13 2013 version 0.99995 released
* added ODBC::Database.use_sql_column_name= flag to switch
usage of SQLColAttributes(SQL_COLUMN_LABEL) to
SQLColAttributes(SQL_COLUMN_NAME) on per connection basis
Sat Jan 15 2011 version 0.99994 released
* fixed column key caching, thanks Sean Noonan for bug report
Fri Dec 24 2010 version 0.99993 released
* fixed error reporting in Database.transaction method,
thanks Shane Emmons for bug report and testing
Thu Sep 16 2010 version 0.99992 released
* ODBC::Statement.each/each_hash now output arrays when
invoked without block
* column keys in result hashes now are cached/recycled Ruby strings
* added ODBC::Database methods use_time/use_utc to directly
output Ruby Time/Date objects
* added encoding support in the UTF8 variant for Ruby >= 1.9
* added module constant ODBC::UTF8 to indicate variant of module
* fixes for M$SQL server reporting zero column sizes
and unknown data types for varchar(strmax) columns
* eliminated compiler warnings
* use StringValueCStr instead of STR2CSTR (Ruby >= 1.9.1)
* small change for decision when to use SQLGetData() loop
Sun Apr 25 2010 version 0.99991 released
* detect HAVE_LONG_LONG for builds with unixODBC
* UTF-8 coding/decoding fix for range 0x80..0xBF
Thu Feb 18 2010 version 0.9999 released
* integrated Bosko Ivanisevic's fixes in ext/utf8/extconf.rb
and test/test.rb and test/utf8/test.rb
Fri Jan 15 2010 version 0.9998 released
* documentation update
* reorganized directory layout for making a gem
Wed May 20 2009 version 0.9997 released
* added Chad Johnson's FreeTDS/MSSQL patch to prevent from
re-prepare of queries with SQL_VARCHAR parameters
Mon Feb 02 2009 version 0.9996 released
* updates for Ruby > 1.8
* added Stephen Veit's SQL_NO_TOTAL handling to improve
retrieving large SQL_C_BINARY data
* fixes for SQLExecute/SQLExecDirect returning SQL_NO_DATA
Sat Apr 07 2007 version 0.9995 released
* init.c: prefer libiodbc.so.2 over libiodbc.so and
libodbc.so.1 over libodbc.so and same logic for
the installer shared library
* no exception thrown on stale HSTMT for ODBC::Statement.nrows
Mon Dec 25 2006 version 0.9994 released
* improved doc on ODBC::Statement.*param*, ODBC::Parameter,
and related ODBCProc
* added support for output/input-output parameters in queries,
methods ODBC::Statement.param_iotype/param_output_type/
param_output_size/param_output_value
Fri Sep 15 2006 version 0.9993 released
* more tweaks in extconf.rb for --enable-dlopen'ed utf8 version
thanks Daigo Moriwaki for testing
* eliminated warnings for installer functions
Mon Sep 11 2006 version 0.9992 released
* added parameter "column" in ODBC::Database::columns
* intern most strings on module load
* enhanced ODBC::Statement.fetch_hash et.al. to produce
intern'ed strings or fixnums as hash keys as requested
by Neville Burnell
* handle SQL_NO_DATA for chunk-wise SQLGetData()
* determine dynamically which API (UNICODE or ANSI) to
use for ODBC installer functions
* more 64 bit fixes
* added missing SQLEndTran() in init.c
Sat Aug 05 2006 version 0.9991 released
* fixed more SQLLEN vs SQLINTEGER issues and 64 bit warnings
* bail out during extconf.rb when sql.h/sqlext.h is not
available as requested by Curt Sampson
* fixed transaction logic ENV vs. DBC and use SQLEndTran()
for ODBCVER >= 0x0300, thanks Adam Harper for patch
* detect SQL parameter strings containing '\0's and use
SQL_C_BINARY when appropriate as parameter types to support
BLOB data, thanks Daigo Moriwaki for report and testing
* don't use dlopen()/GCC weak attributes on MacOSX
Wed Jun 28 2006 version 0.999 released
* added ODBC::Column@autoincrement information
* added init.c and extconf.rb logic for resolving iODBC/unixODBC
library dependencies at runtime using GCC weak attribute in
conjunction with dlopen(), this feature can be enabled/disabled
with "ruby extconf.rb --enable-dlopen"
Sun May 21 2006 version 0.998 released
* added undocumented module methods ODBC::write_file_dsn and
ODBC::read_file_dsn
* fixes in SQLConfigDataSource/SQLInstallerError detect/usage
* added statement level option handling (SQLSetStmtOption),
ODBC::Database.newstmt, ODBC::Statement.prepare|run as
contributed by Carl Blakeley of OpenLink Software
* eliminated most GCC 4.x warnings
Sun Dec 25 2005 version 0.997 released
* 32/64 bit issues as pointed out by Lars Kanis
* ODBC::Database.get_info implementation and constants, idea
and initial coding contributed by Tim Haynes of OpenLink Software
* ODBC::Statement.param_type implemented as work around for
Ingres ODBC driver. Thanks Jon Chambers for idea and testing
Sun Nov 21 2004 version 0.996 released
* use SQLInstallerError() for adddsn/confdsn/deldsn if available,
code contributed by Ryszard Niewisiewicz
* retry SQLBindParameter() for SQL_VARCHAR when SQLDescribeParam()
doesn't work (e.g. on MS Jet Engine)
* fixed crashes when SQLBindParameter failed in stmt_exec_int(),
as reported by Ryszard Niewisiewicz
Tue Sep 07 2004 version 0.995 released
* fixed another buffer alignment bug fetching doubles on sparc,
thanks Dan Debertin for testing.
Wed Jul 14 2004 version 0.994 released
* fixed ODBC::Database.new|connect so that
ODBC::Database.new.drvconnect(string) works
* fixed SQLTCHAR detect for Win32 in extconf.rb,
thanks to Pedro Luis Castedo Cepeda
Mon Jun 28 2004 version 0.993 released
* use HAVE_TYPE_SQLTCHAR from extconf.rb for old iODBC versions
* don't rb_define_alloc_func of dsn_new/drv_new for Ruby >= 1.8,
gives stack overflows, thanks to Pedro Luis Castedo Cepeda
for fixing
* fixes for iODBC driver manager concerning SQLFetchScroll
availability (SQL state codes IM001 vs HYC000)
* blob handling fix as suggested by Kaspar Schiess
Mon Mar 22 2004 version 0.992 released
* fixed buggy UTF8->Unicode conversion code
* fixed handling of uppercase column names in row hashes
Fri Dec 26 2003 version 0.991 released
* use SQLConfigDataSourceW() in utf8 version
* SQLError() is now always called after error/warning from
other ODBC API invokations in order to cleanup error
messages in driver manager/driver
* tweaks for SQLColAttributes() problems as suggested
by Nathaniel Talbott <nathaniel@talbott.ws>
* modified extconf.rb as suggestedb by <RNicz@fibernet.pl>
* eliminated use of alloca() in utf8 converters
* reworked to use Ruby 1.8 rb_define_alloc_func() API
Wed May 21 2003 version 0.99 released
* no functional changes with respect to 0.98
but starting with 0.99 released under Ruby style license.
Thu May 08 2003 version 0.98 released
* added utf8 version (-DUNICODE, -D_UNICODE for CFLAGS),
which generates odbc_utf.so, for build instructions
see README. Thanks Bosko Ivanisevic <ivanisev@sezampro.yu>
for ideas and testing.
Fri Apr 25 2003 version 0.97 released
* align buffers for fetching scalar data (long, double et.al.)
to prevent alignment problems causing bus errors e.g. on sparc,
thanks sakazuki <QZS01353@nifty.ne.jp> for testing.
Wed Mar 19 2003 version 0.96 released
* added fall back to SQLFetch() when SQLFetchScroll(SQL_FETCH_NEXT)
or SQLExtendedFetch(SQL_FETCH_NEXT) report IM001 error,
thanks Kiyonori Takeda <takeda@newsline.net> for testing.
Mon May 13 2002 version 0.95 released
* doc updated
* minor code cleanups
* fixed ODBC::Database.run to properly accept blocks
as reported by Michael Neumann <neumann@s-direktnet.de>
* added ODBC::Statement.more_results method as
requested by Chris Morris <chris.morris@snelling.com>
Thu Oct 11 2001 version 0.94 released
* doc updated
* fixed off-by-one bug in do_fetch function
* added some more SQL_* constants
* added ODBC::Database.special_columns method
* added unique flag to ODBC::Database.indexes
Fri Sep 07 2001 version 0.93 released
* doc updated
* removed default column name conversion to upper case
as introduced in version 0.91
* added ignorecase, ignorecase= methods for ODBC::Database
and ODBC::Statement as suggested by
Sean O'Halpin <sean.ohalpin@bamberforsyth.com>
Fri Aug 31 2001 version 0.92 released
* ODBC::Parameter class and ODBC::Statement.make_proc method added
* changes to support libiodbc-2.50 eg on Debian, thanks
Massimiliano Mirra <info@chromatic-harp.com> for testing
* fixed typos in constant table (SQL_CP_* symbols, O_CONSTU macro)
* if odbcinst.h not available, make dummy DSN config methods
Sat Aug 25 2001 version 0.91 released
* handle non-unique keys in column name/result set hashes
by appending "#column-number" string
* convert column names to uppercase if ODBC driver is
identifier case insensitive as suggested by
Elmar Sonnenschein <eso@esomail.de>
* added cursorname method in Statement
* added assignment methods for Environment/Database/Statement
options
* taint strings
* use SQLExecDirect() in Statement.run/do when no parameters in query
Wed Aug 15 2001 version 0.9 released
* doc updated
* added alloc/free and ODBC API call tracing
(compile-time, -DTRACING)
* added array result for ODBC::Statement.columns
* statements are now by default dropped before SQLDisconnect
* rewrote resource tracking of environment, database connection
and statement objects due to crashes/hangs on Win32
* improved constructors for data/time/timestamp objects
* added clone methods for date/time/timestamp objects
Thu Jul 26 2001 version 0.8 released
* minor doc update
* added handling of block for ODBC::Statement.columns method
* revised error reporting and SQLRETURN handling with
respect to SQL_SUCCESS_WITH_INFO, introduced info method
to get warnings of last ODBC API call. Change was required
to support MS SQL Server, thanks to correspondence with
David Moore <david.moore@uk.dealogic.com>.
Wed Jun 20 2001 version 0.7 released
* minor doc update
* some more test cases in fetching data
* added some more fetch methods (fetch_many, fetch_all ...)
* added more tests for conditional include of <windows.h>
* again, fixes in parameter binding thanks to patches from
Steve Tuckner <sat@multitech.com>
Tue Jun 12 2001 version 0.6 released
* reviewed parameter and column information handling
* work around cases when SQLDescribeParam is not supported
by the selected ODBC driver
* bug fixes in parameter binding
Sun Jun 10 2001 version 0.5 released
* doc updated
* added environment attribute setting/getting methods
* eliminated alloca() in fetching data
* added missing SQL_CHAR constant
* fixed accessor methods for ODBC::(DSN|Driver|Column) as
suggested by Michael Neumann <neumann@s-direktnet.de>
Fri Jun 08 2001 version 0.4 released
* Cygwin fixes thanks to Michael Neumann <neumann@s-direktnet.de>
* minor optimizations
* cleanup GC related functions
Sun May 27 2001 version 0.3 released
* doc updated
* win32 port (mswin32 working, mingw untested)
* added types (ODBC::Date, ODBC::Time, ODBC::TimeStamp)
* reworked module/class organization
* major review
Thu May 17 2001 version 0.2 released
* updated and improved doc
* added fetch_hash, each_hash, column ODBCStmt methods
* added more constants in ODBC class
* added ODBCColumn class
* added accessor for ODBC::error
Sun May 13 2001 version 0.1 released
* initial release.
|