forked from FreeTDS/freetds
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
611 lines (574 loc) · 23.7 KB
/
NEWS
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
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
$Id$
Summary of Changes in release 1.0
--------------------------------------------
User visible (not in a particular order):
- Removed "8.0" from protocol version string accepted. Please
update configuration files;
- Default protocol version is now auto. This could slow down
connection but make user experience less painful;
- Sybase encrypted login. Set encryption to get it;
- Support protocol version 7.4;
- Add intent support to specify we don't want to change data;
- Allow to attach database file during the login (MS SQL Server);
- Support for Sybase time/date/bigdate/bigdatetime;
- Pool is working again;
- ODBC BCP (not complete);
- Improved dbconvert and dbconvert_ps (more compatible);
- Fixed dbspid;
- Improved ODBC type information;
- Better certificate verification;
- AppVeyor is used for every build;
- Try all IPs from DNS. This allows SQL Cluster connection
to secondary servers.
Implementation:
- Removed Nmake support;
- Type conversions simplified;
- Better type handle code.
Summary of Changes in release 0.95
--------------------------------------------
User visible (not in a particular order):
- Support for build with CMake under Windows.
- Support MSSQL 2008:
- new date/time types;
- NBCROWs;
- able to retrieve CLR UDT types in binary format.
- Moved from CVS to git.
- Support MARS under ODBC.
- IPv6 support.
- Support unsigned Sybase types.
- Sybase use some characters conversion like MSSQL.
- Bulk-copy improvements:
- more types;
- support for empty fields;
- no needs for seekable file;
- avoid possible buffer overflows;
- less memory consumption;
- handle different BIT fields in Sybase;
- -T option for datacopy.
- datacopy:
- prompting for password (use "-" password on command line);
- empty user/password (to use Kerberos).
- Support for query notifications in ODBC.
- Support for protocols 7.2 and 7.3 under dblib and ctlib.
- dblib:
- dbpivot extension;
- dbprcollen extension to get printable column size;
- add DBCOL2 structure for dbtablecolinfo;
- support DBTEXTSIZE option for dbsetopt;
- support SRCNUMERICBIND and SRCDECIMALBIND binding;
- DATETIME2BIND extension binding to support new mssql 2008 type;
- ODBC:
- add SQL_INFO_FREETDS_TDS_VERSION option to SQLGetInfo to retrieve FreeTDS
version;
- add --enable-odbc-wide-tests configure option to use wide functions in
unit tests.
- Better thread support.
- Allow to specify server SPN for GSSAPI.
- Sybase graceful disconnects.
- Better support for VARCHAR(MAX)/VARBINARY(MAX).
- Better error reporting from login failure.
- More strict test for configuration errors, fails if configuration is wrong.
- "use utf-16" option to enable use of UTF-16 for server encoding (MSSQL).
- Remove support for Dev-C++.
- Remove support for bad iconv, use libiconv instead (Tru64 and HP-UX should
be affected), connect will fail.
- New NTLM options:
- "use lanman";
- "use ntlmv2".
- New Kerberos options:
- "realm" ("REALM" in ODBC);
- "spn" ("ServerSPN" in ODBC).
- New certificate options:
- "ca file";
- "crl file";
- "check certificate hostname".
- Many bug fixes, majors:
- SSPI with Kerberos on some setup;
- SQLCancel threading;
- ctlib numeric;
- ODBC statistic function quotings.
Implementation:
- Introdude streams support to make easier handling large data and
making conversions faster.
- Use array of flags to make faster to retrieve data type features.
- Use callbacks for handling various type functions.
- Optimize data conversions.
- Store TDS packets in a new structure to handle multiple packets.
- New DSTR implementation which use less memory.
- Faster logging.
- Put mostly data handling in src/tds/data.c.
- Move mostly headers to include/freetds directory.
- Add a include/freetds/proto.h header to separate protocol declarations.
- Add src/tds/packet.c to separate code handling TDS packets.
- Modify libTDS error codes, not only TDS_FAIL.
- Use DSTR for names in TDSCOLUMN.
- Generate graphs in Doxygen.
Summary of Changes in release 0.91
--------------------------------------------
1. Full Kerberos and SSPI support for passwordless login to
Microsoft SQL Server from Unix and Windows clients.
Includes Kerberos delegation option.
2. Full support for DB-Library under Win32/64 via NMAKE.EXE.
3. Built-in support for UTF-8.
4. Support for wide characters in ODBC.
5. Support for varchar(max) and varbinary(max).
6. Better thread-safety in ODBC.
7. Distinguish between connect and login errors.
8. Bulk-copy functions in CT-Library.
TDS versions now reflect Microsoft's nomenclature. The previous
version numbers (8.0 and 9.0) are now 7.1 and 7.2. See the UG
for details.
Executive Summary of Changes in release 0.82
--------------------------------------------
1. timeout handling
2. encrypted connections
3. fisql (and odbc utilities)
4. autoconf improvements
5. 23,710 lines added or deleted (101,022 total).
6. 85 files added
7. 21 unit tests added
Details
-------
db-lib
- timeouts work!
- corrected dbnextrow
- implemented dbsetnull and dbsetinterrupt
- improved error reporting and checking
- fixed rpc parameter processing, now php works correctly
ct-lib
- added cs_loc_alloc, cs_loc_drop, cs_locale implementations
odbc
- cursors (mssql)
- fixed database setting
- return error always if odbc returns SQL_ERROR
- fixed SQLGetData result
utilities
- added support for NUL characters inside terminators in freebcp
- added row termination and column termination option to tsql
- new fisql application
- new ODBC utilities
documentation
- significant updates to TDS protocol documentation
- freetds.conf man page
- added tenderfoot sample code
general
- fixed timeout handling
- added freetds.conf option for encryption
- added protocol version discovery
- NTLM2 session response
- read table and real column name from wire
- experimental Kerberos support using gssapi
- some optimizations for GCC4
- optimized conversions avoiding some memory copy
- minor improves to server stuff
- improved MingW compile (even cross one)
- more verbose log for dblib and odbc
- many test added
1 test for libTDS
1 test for ctlib
3 tests for dblib
13 tests for odbc
libTDS API changes
- tds_add_row_column_size removed
- tds_alloc_row return now TDS_SUCCEED/TDS_FAIL
- tds_alloc_compute_row return now TDS_SUCCEED/TDS_FAIL
- removed TDSCOLUMN->column_offset
- added TDSCOLUMN->column_data and TDSCOLUMN->column_data_free
- added TDSCURSOR->type and TDSCURSOR->concurrency for mssql support
- added fetch_type and i_row parameters to tds_cursor_fetch
- added tds_cursor_update and tds_cursor_setname functions
- made tds_alloc_get_string static
- removed tds_free_cursor
- added TDSCURSOR->ref_count
- added tds_cursor_deallocated and tds_release_cursor to handle
cursor release. tds_cursor_deallocated is called when cursor got
deallocated from server while tds_release_cursor is called to
decrement reference counter. Reference counter is used cause is difficult
to trace pointer owner between libTDS and upper libraries
- added TDS_COMPILETIME_SETTINGS->sysconfdir
- changed DSTR_STRUCT structure to include dstr_size
- changed DSTR type
- error handler cannot return TDS_INT_EXIT
- removed TDSSOCKET->query_timeout_func TDSSOCKET->query_timeout_param,
TDSSOCKET->query_start_time
- changed TDSLOGIN->host_name to client_host_name
- changed TDSCONNECTION->host_name to client_host_name
- changed TDSLOGIN->encrypted to encryption_level
- changed TDSCONNECTION->encrypted to encryption_level
- added TDSRESULTINFO->row_free handler to free row
- added TDSCONTEXT->int_handler handler
- removed tds_prtype
- removed tds_alloc_param_row
- added tds_alloc_param_data
- added flags parameter to tds7_send_auth
- removed tds_client_msg
- added tdserror to report error
- added flags parameter to tds_answer_challenge
- added is_variable_type macro
- added TDSCOLUMN->table_column_name
- added tds parameter to tds_set_column_type
- renamed BCPCOLDATA->null_column to is_null
- added TDSMESSAGE->oserr
- remove length, number_upd_cols and cur_col_list from TDSCURSOR (never used)
- added new TDSAUTHENTICATION to handle authentication modules
- added TDSSOCKET->authentication
- added tds_ntlm_get_auth and tds_gss_get_auth
- removed TDSANSWER
- removed tds7_send_auth (use new tds_ntlm_get_auth)
- added tds_get_int8
- add TDSPARAMINFO *params argument to tds_cursor_declare
- add TDSPARAMINFO *params argument to tds_cursor_open
- changed TDSSOCKET->rows_affected from int to TDS_INT8
- added TDSSOCKET->tds9_transaction (used internally for TDS9)
- added TDSCONNECTION->server_host_name needed for Kerberos support
* 0.64
- core library
- reduced network bandwidth use on Linux and *BSD
- do not free TDSSOCKET in tds_connect
- moved network stuff into net.c
- fixed conversion NUMERIC->NUMERIC changing precision/scale
- added named instance support (mssql2k)
- fixed cancel and timeout
- added support for encrypted connection using mssql
(using either GnuTLS or OpenSSL)
- improved numeric conversions performance
- improved debug logging (added "debug flags" option)
- ctlib
- ct_dynamic and friends (placeholder support)
- dblib
- more functions
- made threadsafe
- improved bcp
- support for large files using BCP
- fixed buffering
- ODBC
- fixed compute handling in ODBC
- paramset support
- constant parameters in rpc (ie {?=call func(10,?)} )
- configure use automatically odbc_config if available
- compatibility
- improve PHP support
- improve DBD::ODBC support
- partial dos32 support
- improve JDBC support
- added msvc6 project to build dblib library on windows
- support long password on tsql for all platforms
- improved pool server
- RPMs
- ODBC driver registration (in odbcinst.ini)
- better dependency for RedHat and SUSE
- a lot of fixes
libTDS API changes
- tds_connect does not free TDSSOCKET* on failure
- TDSSOCKET->env is not a pointer anymore
- tds_free_compute_result and tds_free_compute_results are now static
- added TDSDYNAMIC->next for linked list
- removed TDSCURSOR->client_cursor_id
- use TDSCURSOR* cursor instead of TDS_INT client_cursor_it in
tds_cursor_* functions
- added const char* file param to tdsdump_dump_buf and tdsdump_log and
added line information in level
- changed tds_alloc_compute_results declaration, pass a TDSSOCKET*
- removed tds_do_until_done (not used)
- removed tds_set_longquery_handler function (not used)
- changed some fields in TDSSOCKET
- removed out_len (not used)
- renamed cursor to cursors
- removed client_cursor_id
- added cur_cursor (instead of removed client_cursor_id)
- dyns now a pointer to a pointer to first dynamic allocated
- removed num_dyns (now useless with linked list)
- removed chkintr and hndlintr (use longquery_*)
- removed longquery_timeout (use query_timeout)
- renamed longquery_func to query_timeout_func
- renamed longquery_param to query_timeout_param
- queryStarttime to query_start_time
- add a DSTR instance_name to TDSCONNECTION
- add tds7_get_instance_port
- removed tds_free_all_dynamic
- tdsdump_append now static
- new tds_process_tokens to replace removed
- tds_process_result_tokens
- tds_process_row_tokens
- tds_process_row_tokens_ct
- tds_process_trailing_tokens
- removed tds_ctx_set_parent/tds_ctx_get_parent, use parent member
- added void * parent argument to tds_alloc_context
- tds_process_tokens return a TDS_CANCELLED if handle cancellation
- removed query_timeout_func and query_timeout_param from
TDSCONNECTION and TDSLOGIN
- add tds_free_row
- renamed TDSLOCALE->char_set to server_charset
* 0.63
- ODBC: use tds_dstr* functions to store descriptor information
- header privatizations (removing tds.h dependency). This is quite
important for future binary compatibility.
- ODBC: SQLFetch returns error correctly
- ODBC: fix problem rebinding parameters
- ODBC: ability to fetch data types after prepare (needed for Oracle
bindings and OTL library).
- Builds cleanly under OS X.
- Improved BCP support for NULL fields and native file format.
- ct-lib: ct_blk support (bcp for ct-lib).
- ct-lib: Cursors!
- apps: added bsqldb and defncopy.
- iconv: better collation support, e.g. SQL_Scandinavian_CP850_CI_AS
* 0.62
- ct-lib: cursor support
- fixed PHP problem handling empty recordsets. See messages on ML:
Damian Kramer, September 23, "Possible bug in freeTDS"
Steve Hanselman, September 16 "Issue with freetds 0.61.2 ..."
- ODBC: improved, best error report
- ct-lib: support ct_diag (for Python)
- ODBC: fixed SQLMoreResults/SQLRowCount and batch behavior
- ODBC: fixes call to {?=store(?)}
- ODBC: multiple record with
"select id,name from sysobjects where name = 'sysobjects'"
- ODBC: fixed early binding
- ODBC: autodetect iODBC or unixODBC during configure
- ODBC: implemented option 109 in SQLGetConnectOption (for OpenOffice)
- freebcp understand \n as newline. Also \r and \0 (null byte).
- added --without-libiconv configure option to switch off iconv library
- ODBC: test and fixes for NUMERIC parameter
- ODBC: dynamic query
- SQLPutData
- Sybase and blobs
ported code for string building from ODBC to libtds
- extended TDSSOCKET::iconv_info as an array. Keep converters for non-UCS-2
server charsets. Every TDSCOLINFO holding character data should point to
one of these elements.
- dblib: src/dblib/unittests/t0017.c (bcp) fixed
- changed tds_get_char_data(), ML 2 May 2003, "tds_get_char_data and iconv".
- rewrote tds_iconv:
- use iconv() signature.
- rely on TDSCOLINFO::iconv_info for conversion descriptor, instead
of inferring it from the column sizes.
- on read error, emit Msg 2403, Severity 16 (EX_INFO):
"WARNING! Some character(s) could not be converted into client's character
set. Unconverted bytes were changed to question marks ('?')."
- on write error emit Msg 2402, Severity 16 (EX_USER):
"Error converting client characters into server's character set. Some
character(s) could not be converted."
and return an error code. Do not proceed.
- Cf. ML 16 Apr 2003. "conversion error management".
- added doxygen to the nightly build
- "make install" put the UG in PREFIX/share/doc/freetds/userguide
- "make install" put doxygen html in PREFIX/share/doc/freetds/reference
- moved website docs (not UG) to doc/htdoc, put in CVS
- added bcp support to tds/dblib/ctlib. (started in dblib)
- RPC stuff
- added support for TDS 8.0
- TDS 7 Unicode to native charset conversion using iconv
- autoconf the connection pooling stuff
- DBLIB: output params
- set database during login process
- libtds: dynamic query
- ctlib: null returns zero-length string
(see "SELECT '' and TDS 7.0" in message list on 26 Jan 2003)
* Jan 2003
- Version 0.61
- Dynamic SQL
- Output parameters
- Compute rows
- Varbinary support
- dsn-less ODBC connections
- RPC support (db-lib)
- Compatibility with DBD::Sybase 0.95
- 68 new functions! (see doc/api_status.txt)
- Error/message handling rewritten, uses real error numbers
- new sample programs
- much cleaner code, warning-free compiles
- namespace cleanup
- public domain versions of functions for OSs that lack them
- autoconf portability improvements
- builds in HP-UX, Win32, and cygwin
- No dependency on OpenSSL
* Sep 2002
- Version 0.60
- Support for SQL Server 2000 datatypes and domain logins.
- Support and convertibility of all major datatypes.
- Much expanded coverage of the ODBC API.
- An all-new BCP implementation, including host variable support.
- Character set conversions, via the iconv library.
- Threadsafe operation.
* [late 2001?]
- tdspool now working for big endian systems
- Fixed mem leak in ctlib
- Added some descriptive text to the PWD file
- EINTR handling during login (Kostya Ivanov)
- Added support for TLI style interfaces files (thanks Michael for explaining)
- Added 'text size' config option which changes textsize on connect
- Added preliminary TDS 8.0 support (no new datatypes supported though)
- Added 'emulate little endian' config flag
- Some TDS5 placeholder stuff. Not ready for primetime yet.
- Fixed interfaces handling seg fault
* Jul 2001 Brian Bruns <camber@ais.org>
- Version 0.52
- Mem leak fixes in dbloginfree() and tds_free_env() (John Dumas)
- Added support for new configuration format (freetds.conf)
- unixODBC now working
- Fixed error in two's complement function for money types
- Added support for nullable bits (BITN)
- checked in work on tds connection pooling server
- added preliminary userguide (James Lowden and me)
- a lot of work on ODBC driver, now works with PHP
- added config options for iodbc/unixodbc (unixODBC doesn't actually work yet)
- image -> char now works (verified with ctlib only)
- varbinary -> char now works with destlen of -1
- New config routines
- Free socket on login fail
- 64bit patches
- off by one error
- numeric problem with 7.0 fixed
- digit cutoff on numerics/floats fixed
* Nov 2000 Brian Bruns <camber@ais.org>
- Version 0.51
- removed all the old unittests from the samples directory
- endian detection fixed
- 'make check' and ctlib unittests (Mark)
- TDS 7.0 fixes, numerics et al. (Scott)
- dead connection handling (Geoff)
- query timeout stuff (Jeff)
* Dec 1999 Brian Bruns <camber@ais.org>
- Version 0.50
- Added TDS 7.0 support for MS SQL 7
- Added hostfile bulk copy for dblib
- Added writetext support for dblib
- Added CS_CON_STATUS property to ctlib
- Fixed bugs for ctlib version of PHP 3/4
- Many changes to text/image handling
- New script for running the unittests
- dbcancel/ct_cancel now working properly
- inserts/updates now return proper rowcount
- Numerous bug fixes
* Sep 1999 Brian Bruns <camber@ais.org>
- Version 0.47
- Added workaround for SQL 7.0 bug handling datetime/money
for big endian (testing/bug report - Paul Schaap)
- Added TDS 7.0 login function (untested)
- Fixed many big endian bugs
- Fixed some bus errors on Sparc
- Fixed big endian detection
- DBD::Sybase 0.19 now passes all tests
- Fixed date bug working with PHP 3.x
- binary/varbinary support added
- Fixed Text datatypes in tds layer
- More conversions implemented (Mark Schaal)
- Fix make install for not overwriting interfaces (Michael Peppler)
- CS_USERDATA now works
- Numerous bug fixes (many people)
* Thu Aug xx 1999 Brian Bruns <camber@ais.org>
- Version 0.46
- Fixed floating type support
- Fixed lots of little datatype conversion bugs
- Fixed 5.0 login acknowledgement bug
- Message processing was cleaned up (Mark Schaal)
- Fixed login bug for SQL Server 7.0
- DBD::Sybase 0.19 now compiles and partially works (very partially)
- Fixed Solaris #define clash
- Numerous bug fixes
* Thu Jun 03 1999 Brian Bruns <camber@ais.org>
- Version 0.45
- Capabilities added to ctlib code
- Numeric support working
- MONEY to string conversions now support > 32 bit values
- Fixed underread in message handling
- Fixed various buffer overflow problems
- Fixed NULL handling
- Added support for length binding (copied arguement to ct_bind)
- Converted ODBC to use iODBC driver manager
- SQSH 1.7 runs
- PHP 3.0.x with ctlib now runs
* Thu Jan 14 1999 Brian Bruns <camber@ais.org>
- Version 0.41
- Better row buffering (Craig Spannring)
- CT-Lib code improved greatly
- Closer behaviour to real dblib
- Commonized datatype conversions
- Server side code is running somewhat.
- SQSH 1.6 running
- More ODBC functionality
- Many bug fixes
- Lots of other stuff I've already forgotten
* Sun Nov 22 1998 Brian Bruns <camber@ais.org>
- Version 0.40
- Row buffering is now supported for dblib.
- Better row handling (side effect of above)
- Improved conversion code
- Preliminary ODBC layer
- PHP now runs basic scripts, maybe more
- Many many bug fixes
- General cleanup (better error handling, C++ friendly headers, etc...)
* Fri Sep 04 1998 Mihai Ibanescu <misa@dntis.ro>
- Version 0.31
- By default the install dir is /usr/local/freetds
- The Makefile in the samples dir is automatically built from Makefile.am.
The samples dir is not installed, only packaged in the distribution.
* Wed Sep 02 1998 Brian Bruns <camber@ais.org>
- Version 0.3
- Updated the AUTHORS file
- FIXME Brian (added by misa)
* Mon Aug 31 1998 Mihai Ibanescu <misa@dntis.ro>
- Version 0.21
- GNUified
- Fixed a couple of the TODO issues: byte order is automatically determined,
and the TDS version is a configurable option
- Modified the README file to reflect the new directory structure
Pre-GNUification log by Brian <camber@ais.org>:
2/8/98 Should be able to send the first packet to a server soon, my output is
only slightly different than open clients.
This codes pretty crappy right now. I need to clean up alot of stuff,
remove hardcode values, etc...but I'm anxious to see something work!
2/7/98 Broke the code up a bit, tds.c now handles all wire level stuff,
dblib.c handles dblib specific stuff. So, in the future there can be
ctlib.c and obdc.c can also sit on top of tds.c to handle the other CLIs
3/16/98 Been working on the code here and there...We can now send a query to
the server, dbnumcols() and dbcolname() both work. Almost ready to get
some data back. I put in a dummy dbbind to just handle strings so,
I could do some work on dbnextrow(). However, we will have revisit
almost everything later.
3/23/98 Haven't been able to work on it lately. Still trying to decide on the
best way to propagate the row data from tds.c to dblib.c to the calling
func. Not that hard, but nothing strikes me as the "Right Way" (tm).
4/2/98 Ok we are ready to release 0.01 (marked by the fact that a simple dblib
program actually works!)
5/1/98 Haven't updated in quite a while. A few more dblib commands are
supported. dbconvert() support is preliminary. Fixed alot of bugs. A
little bit of cleanup. dbbind() sorta works now, needs work still.
At least one mem leak that I know of (haven't gotten around to fixing
it. Wish I had more time to work on it...
5/2/98 Decided to release what I have. executing sp_who seems to mostly work..
a step in the right direction. Version 0.02. Seem to have generated a
little interest after mentioning it in a usenet post.
5/6/98 Can compile against sqsh!!! Did a reorg on tds.c, all dblib func that
read data now go through tds_process_messages() which read the marker
and calls other routines as necessary. sqsh's output is a little screwy
(well I don't have a real dbprrow() yet, but the number of result sets
coming back is too many). So, anyway Version 0.04
5/9/98 Decided to upload some new code, mostly just stubs. Sybperl compiles
I can't get my perl to work with it. (I need to download perl and link
statically, the one that comes on the system won't do). Anyway,
most of dblib is present in stub form.
5/17/98 Managed to scrape up some time and release new code. Duplicate result
sets went away, and handling of more datatypes (money, bit, more int
stuff). Also, improved dbprhead()/row() function.
5/26/98 Ok, I'm doing the long overdue cleaning up of the code. All the kludges
should be gone. Thanks, to everyone who contributed
code/idea/corrections.
6/3/98 The majority of the overhaul is done...still some work to do, but this
is much better than before. I'm bumping the version to 0.1 signifying
that I actually use sqsh compiled against it on a regular basis.
6/5/98 TDS 4.2 support seems to be working properly
6/26/98 Gregg Jenson has added support for err and msg handling among other
things. I've added some prelimary ctlib support (nothing working yet)
7/3/98 I think we are about ready to release 0.2. Gregg sent some datetime code
which appears to work great. I added TDS 4.6 support (small changes
really) and tested all the byte order issues on an RS/6000. Also, ctlib
code will run the unittest.c and will compile all modules in sqsh 1.6,
however there are many missing functions before it will link!
7/10/98 Haven't been able to work on it lately (moved this week). Anyway,
trying to add some functions to server.
7/13/98 Tom Poindexter made some changes to get sybtcl to work.
8/8/98 Haven't had much time lately (again), however some small stuff has
been fixed and the protocol version stuff has (mostly) been moved to a
runtime option. sybperl is supposedly running for simple stuff.