1 2010-04-21 Veerapuram Varadhan <vvaradhan@novell.com>
4 * Tds70.cs (WriteParameterInfo): Write updated decimal value according
5 to specified scale value.
7 2009-08-17 Veerapuram Varadhan <vvaradhan@novell.com>
10 * Tds.cs (ProcessColumnInfo): Use Columns instead of creating a new list.
11 * TdsDataColumnCollection.cs (Clear, Add): New utility methods
12 * Tdsxx.cs: ProcessColumnInfo definition changes.
14 2009-07-25 Veerapuram Varadhan <vvaradhan@novell.com>
16 * Tds70.cs (ProcessColumnInfo): Update the new DataTypeName property.
17 * TdsDataColumn.cs: Added DataTypeName property accessors.
19 2009-07-25 Gert Driesen <drieseng@users.sourceforge.net>
21 * TdsConnectionPool.cs: Fixed typo in ResetConnectionPool.
23 2009-05-26 Veerapuram Varadhan <vvaradhan@novell.com>
26 * Tds80.cs: Consider queries with Parameters as RPCs and avoid formatting
27 param values as strings. Fixes issues with locale specific string
28 formatting/conversions.
30 * TdsRpcProcId.cs: New - enum of rpc Ids to use with RPC packet type.
32 2009-05-16 Veerapuram Varadhan <vvaradhan@novell.com>
34 * Tds70.cs (WriteParameterInfo): Default precision is 29 and not 28.
36 2009-05-16 Veerapuram Varadhan <vvaradhan@novell.com>
38 * Tds70.cs (WriteParameterInfo): Do not change the original
41 2009-05-16 Veerapuram Varadhan <vvaradhan@novell.com>
44 * Tds.cs (ServerTdsVersion): New property to access ServerVersion.
46 * Tds70.cs (WriteParameterInfo): Treat Decimal types as Numeric
47 types from SQL Server 2000.
49 * TdsVersion.cs: Add SQL Server 2008 version.
51 2009-05-02 Veerapuram Varadhan <vvaradhan@novell.com>
53 ** Fixes #462947 - Patch by Gert Driesen
54 * Tds.cs (InitExec): More intialization of variables.
56 2009-04-28 Veerapuram Varadhan <vvaradhan@novell.com>
58 * Tds.cs (InitExec): Move initialization of SequentialAccess related
61 2009-04-28 Veerapuram Varadhan <vvaradhan@novell.com>
63 * Tds.cs (ExecuteQuery): Reset all the variables related to LoadData
64 when performing queries with SequentialAccess set to true. Fixes
65 incorrect handling of data retrieval when multiple queries are run
66 with SequentialAccess set to true for the same instance of Tds.
68 2009-04-28 Veerapuram Varadhan <vvaradhan@novell.com>
70 * Tds.cs (ExecuteQuery): Reset SequentialAccess read state variables
71 in order to avoid blocking forever when two queries are executed with
72 SequentialAccess set to true for the same instance of Tds.
74 2009-04-28 Veerapuram Varadhan <vvaradhan@novell.com>
77 * Tds70.cs (Reset): Call base.Reset to update Database being used.
79 2009-04-28 Gonzalo Paniagua Javier <gonzalo@novell.com>
81 * TdsConnectionPool.cs: if GetConnection() fails to create a
82 connection, try again several times and then throw. Improved
83 ResetConnectionPool() so that it does not immediately close
84 connections in use. Don't re-add connections that have been closed.
86 * Tds.cs: Connected tests the socket connection too. Made Disconnect()
89 * TdsComm.cs: set more socket options (timeout and NoDelay) and have a
90 single entry point for reading from the stream.
92 2009-03-23 Veerapuram Varadhan <vvaradhan@novell.com>
94 * Tds.cs: Properly handle TdsColumnType.BigInt as we support TDS 8 now.
96 2009-03-15 Veerapuram Varadhan <vvaradhan@novell.com>
99 * Tds70.cs (Reset): Call base.Reset to update Database being used.
101 2009-03-14 Veerapuram Varadhan <vvaradhan@novell.com>
103 * Tds70.cs (WriteParameterInfo): Handle scenarios of Partlentype,
106 2009-03-04 Veerapuram Varadhan <vvaradhan@novell.com>
108 * TdsComm.cs (Append (*)): Do not create temporary byte arrays,
109 instead manipulate directly. Saves quite a bit of allocations
110 and improves performance.
111 (AppendInternal) : Do the math here.
112 (TdsByteOrder) : Property that indicates the byte-order-encoding which,
113 is independent of host's byte-order-encoding.
114 (SendPhysicalPacket): Add packet-id to the header
116 2009-02-26 Veerapuram Varadhan <vvaradhan@novell.com>
118 * Tds.cs (ProcessLoginAck): Set TdsVersion to the version
119 supported by the server.
120 (GetColumnValue): lcid and sortId are available only from Tds 8.
122 * Tds80.cs (ProcessColumnInfo, ProcessOutputParam): Call base
123 methods if the server version is less than Tds 8.
125 2009-02-19 Veerapuram Varadhan <vvaradhan@novell.com>
127 * Tds.cs: Tds 8 collation support
129 TdsComm.cs: - ditto -
130 TdsDataColumn.cs: - ditto -
131 TdsCollation.cs: New file. Based on patch from Dmitry S. Kataev
132 <dmitryskey@hotmail.com>
134 2009-02-02 Veerapuram Varadhan <vvaradhan@novell.com>
136 * Tds.cs: TDS 8 changes
139 TdsVersion.cs: - ditto -
140 TdsEnvPacketSubType.cs: - ditto -
141 TdsComm.cs: - ditto -
143 2009-01-29 Gonzalo Paniagua Javier <gonzalo@novell.com>
145 * Tds70.cs: fix for output parameters and '@'.
146 Fixes bug #470579. Patch from Varadhan.
148 2009-01-24 Gonzalo Paniagua Javier <gonzalo@novell.com>
150 * TdsConnectionPool.cs: made getting/releasing connections thread safe.
151 If we have a release connection available, we return that without locking
153 2009-01-21 Christian Hergert <christian.hergert@gmail.com>
155 * TdsComm.cs: optimize Append(byte[],int,byte) for adding data to
156 the buffer in the largest size of chunks possible. also optimize
157 other Append overloads to use this rather than lots of Append(byte).
159 2009-01-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
161 * TdsComm.cs: no need for the ManualResetEvent or the timeout instance
164 2009-01-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
166 * Tds70.cs: fix my mistake in the previous patch.
168 2009-01-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
170 * Tds70.cs: more '@' handling.
172 2009-01-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
174 * Tds70.cs: send the leading '@' for parameters that do not have one.
176 Thanks to William Shallum.
178 2009-01-04 Gert Driesen <drieseng@users.sourceforge.net>
180 * Tds.cs: Support detecting NULL value when sequentially reading
181 text/ntext/image column. Fixed typo in exception message in
182 GetSequentialColumnValue. Support reading zero-length binary data.
184 2008-12-30 Gert Driesen <drieseng@users.sourceforge.net>
186 * Tds.cs: Added IsWideType method.
187 * Tds70.cs: Fixed columnsize for unicode columns. Set precision
188 and scale for non-decimal/numeric column.
189 * TdsColumnType.cs: Adds tds names as comment.
191 2008-12-30 Gert Driesen <drieseng@users.sourceforge.net>
193 * Tds.cs (LoadData): Improve exception message when attempting to
194 read before the current position. Update the remaining length of the
195 stream when skipping bytes.
197 2008-12-05 Gonzalo Paniagua Javier <gonzalo@novell.com>
199 * Tds70.cs: support parameter names with or without a leading '@'.
201 2008-11-13 Veerapuram Varadhan <vvaradhan@novell.com>
203 * TdsComm.cs (ResetConnection, IsConnected): Added a property and
204 method. IsConnected will check for any connection-reset occurrance
205 from other end-point of the underlying socket. ResetConnection
206 adds the "reset" bit in the Status flag field of packet header.
207 Set socket option to keep alive, whereever supported and also, let
208 the socket close along with the underlying stream.
210 * Tds70.cs (Reset): Use the new ResetConnection property instead
211 of executing sp_reset_connection. Saves a round-trip.
213 2008-11-11 Gert Driesen <drieseng@users.sourceforge.net>
215 * Tds70.cs: Support writing negative (small)money values. Added
216 overflow check for smallmoney values. Fixes bug #428139.
217 * Tds.cs: Fixed reading negative (small)money values.
219 2008-11-09 Gert Driesen <drieseng@users.sourceforge.net>
221 * TdsConnectionPool.cs: Added TdsConnectionPoolManager.GetConnection
222 overload that can be used to retrieve an existing connection pool.
223 Modified ResetConnectionPool () to skip free slots in the pool and to
224 close pooled connections that are not in use. Pooled connections that
225 are in use are now marked as non-pooled so that they are no longer
226 returned to the pool when they are closed. Fixes bug #443131.
228 2008-09-16 Veerapuram Varadhan <vvaradhan@novell.com>
230 Patch from Christian Hergert <christian.hergert@gmail.com>
231 * TdsComm.cs: Expose the stream to be internally used by other
233 * Tds70.cs (Reset): Validate whether the connection is available
236 2008-07-09 Veerapuram Varadhan <vvaradhan@novell.com>
238 * TdsComm.cs: Cleanup stray Console.WriteLine that got in during last commit
240 2008-07-09 Veerapuram Varadhan <vvaradhan@novell.com>
242 Patch by Jon Larimer <jlarimer@gmail.com> fixes ##407208
243 * TdsComm.cs: Call DNS.GetHostEntry() only for host names and not for IPs.
245 2008-07-06 Gert Driesen <drieseng@users.sourceforge.net>
247 * TdsConnectionPool.cs: When pooled connection cannot be reset, remove
248 it from pool and allow slot to be re-used for a newly established
249 connection. Fixes part of bug #360157. When pool is full, and no
250 connection becomes available before the connect timeout has elapsed,
251 then throw an InvalidOperationException instead of a SqlException.
252 * Tds50.cs: Fixed compiler warning. Removed extra tabs, and changed
253 spaces to tabs. Minor code formatting.
254 * Tds70.cs: Removed extra tabs, and changed spaces to tabs. Code
255 formatting. Avoid calling Environment.UserDomainName if username
256 contains domain. Use String.Empty instead of "".
257 * TdsConnectionParameters.cs: Invoke Reset method for initializing
258 fields. Spaces to tabs.
260 2008-07-04 Gert Driesen <drieseng@users.sourceforge.net>
262 * TdsConnectionPool.cs: On 1.0 profile, use object[] for list of
263 connections. Patch provided by Christian Hergert. Fixes bug #406540.
265 2008-07-04 Gert Driesen <drieseng@users.sourceforge.net>
267 * Tds.cs: Avoid accessing TdsDataColumnCollection indexer. On 2.0
268 profile, use predefined properties on TdsDataColumn for setting the
269 BaseColumnName and BaseTableName. Fixes bug #406556.
270 * Tds50.cs: Avoid accessing TdsDataColumnCollection indexer, and
273 2008-07-01 Gert Driesen <drieseng@users.sourceforge.net>
275 * Tds70.cs: Avoid accessing TdsDataColumnCollection indexer.
276 * Tds.cs: Removed unused method.
277 * TdsComm.cs: Fixed compiler warning.
279 2008-07-01 Marek Habersack <mhabersack@novell.com>
281 * TdsDataColumnCollection.cs, Tds50.cs, Tds42.cs, Tds70.cs,
282 Tds.cs: adjust for changes below.
284 * TdsDataColumn.cs: use the named properties only in the 2.0
285 profile. The reason is that Mono.Data.TdsClient.TdsDataReader
286 needs to know if a property has been set or not. With 2.0 it is
287 easy to implement using nullable types, with 1.x it would require
288 using e.g. BitArray to control which field was set, and in
289 addition extra code would be needed to check whether a field was
290 set or not. Also, it would clutter the code with #ifdefs all over
293 2008-06-30 Zoltan Varga <vargaz@gmail.com>
295 * TdsDataColumn.cs: Do not inherit from Hashtable, add always set properties
296 as normal properties so code can access them without doing a hashtable lookup.
298 * Tds.cs Tds42.cs Tds50.cs Tds70.cs: Adapt to the TdsDataColumn changes.
300 2008-06-09 Veerapuram Varadhan <vvaradhan@novell.com>
302 Patch from Christian Hergert <christian.hergert@gmail.com>
303 * TdsConnectionPool.cs: Remove unnecessary locks and code refactoring
304 * Tds.cs: Add member to hold status of the connection pool
306 2008-06-09 Ankit Jain <jankit@novell.com>
308 Tds class doesn't need to inherit Component or implement ITds, fix.
310 * Tds42.cs, Tds50.cs, Tds70.cs, Tds80.cs:
311 Make Tds-derived classes sealed.
312 * TdsConnectionPool.cs: Update.
314 2008-05-17 Gert Driesen <drieseng@users.sourceforge.net>
316 * Tds.cs: Do not return 0 for decimal/numeric columns with value NULL.
317 Avoid unnecessary initialization of fields, and minor code formatting.
319 2008-05-15 Marek Habersack <mhabersack@novell.com>
321 * Tds.cs: deal with null columns when getting value for a Numeric
324 2008-05-05 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
326 * Tds.cs: a numeric column with no decimal digits and a precision <= 80
327 is translated into a long.
329 2007-11-10 Gert Driesen <drieseng@users.sourceforge.net>
331 * Tds.cs: Round milliseconds for datetime. Fixes part of bug #323646.
332 * Tds70.cs: Include milliseconds for datetime parameters. Fixes part
335 2007-10-17 Nagappan <anagappan@novell.com>
337 * TdsConnectionPool.cs: Default the pooling is enabled. It has to be
338 disabled only when we clear all the pools.
340 2007-09-25 Nagappan A <anagappan@novell.com>
342 * Tds.cs (Pooling): Added new property to get the internal
343 connection pooling list.
345 * ITds.cs (Pooling): Added new property to get the internal
346 connection pooling list.
348 * TdsConnectionPool.cs (ResetConnectionPool, GetConnectionPool)
349 (ReleaseConnection): Added new methods to clear connection pool.
351 2007-08-06 Nagappan A <anagappan@novell.com>
353 * TdsComm.cs (TdsComm): Now connects to the SqlServer in Async
354 mode. Fixes bug # 81934.
356 * Tds.cs (ProcessEnvironmentChange): Gets the server locale to use
357 them when required. Fixes bug # 82047.
358 When the server resets the connection, now the client code also
359 disconnects the session and remove the instance. Fixes bug #
361 Added new protected property Locale.
363 * TdsEnvPacketSubType.cs (Locale): Added new enumerator
364 entry. This gets the Locale type of SqlServer. Fixes bug # 82047.
366 * Tds70.cs (FormatParameter): Fixes the error when trying to add a
367 row with a DateTime field into an Italian SqlServer, bug # 82047.
369 2007-07-23 Nagappan A <anagappan@novell.com>
371 * TdsBulkCopy.cs: Removed all the Namespace that are not
374 2007-07-22 Nagappan A <anagappan@novell.com>
376 * TdsBulkCopy.cs: Added new file to handle the bulk copy
379 * Tds.cs (ExecBulkCopyMetaData, ExecBulkCopy): Added new methods
380 to send and receive bulk data information.
382 * Tds70.cs (IsBlobType, IsLargeType): Moved methods to Tds.cs.
384 * TdsComm.cs: Fixed 2.0 compilation warnings.
386 * Tds50.cs: Fixed compilation warnings.
388 * Tds42.cs: Fixed compilation warnings.
390 * TdsPacketType.cs: Added Bulk type.
392 2007-05-30 Nagappan A <anagappan@novell.com>
394 * TdsColumnType.cs: Added new types BigNVarChar, Variant to
395 TdsColumnType enumerator.
397 * TdsComm.cs (Append): Appends new data types to the TDS data
398 stream and also implemented new Append overloaded method.
400 * Tds.cs (BeginLoad): New case to handle BigBinary.
401 (GetMoneyValue): Simplified the switch / case conditions.
403 * TdsDataRow.cs: Instance of index checks for the given index to
404 be less than list count, else an exception will be thrown.
406 * Tds70.cs (sqlserverMagic): Modified byte values.
407 (ExecProc): Now directly calls ExecRPC for any number of
408 parameters being passed.
409 (ExecRPC): New logic to handle parameters.
410 (WriteParameterInfo): New private method to generate information
411 about each parameter.
412 (ProcessReturnStatus): New protected method to process the return
413 status of output parameter value.
415 2007-03-21 Nagappan A <anagappan@novell.com>
417 * Tds70.cs (BuildParameters, FormatParameter): Include @ before
418 parameter name, if doesnot exist.
420 2006-07-18 Dean Brettle <dean@brettle.com>
422 * Tds70.cs : Fixed bug in FormatParameter() which caused
423 ArgumentOutOfRangeException when formatting 0-length varbinary values
426 2006-05-03 Senganal T <tsenganal@novell.com>
429 - SetCharset () : Fix to set the Charset correctly.
430 Patch from Andrzej Kurzeja
432 2006-03-08 Senganal T <tsenganal@novell.com>
435 - ProcessColumnInfo () : Set IsAutoIncrement Value for the column.
437 2006-02-10 Senganal T <tsenganal@novell.com>
440 - GetSequentialColumn,BeginLoad, EndLoad,
441 LoadData, SkipRow, SkipToColumnIndex
442 New Methods to Support sequential loading of row data
444 - Skip : Changed arugment type from int to long.
446 2006-01-27 Senganal T <tsenganal@novell.com>
449 - Modified GetSqlMoney () , to set the precision and Scale correctly.
450 - Modified ProcessColumnDetails , to set the schema values correctly.
451 * TdsDataColumn.cs : Added some default values for the column schema
453 2005-12-07 Senganal T <tsenganal@novell.com>
456 - IsValidRowCount () : Find out if a row count is valid.
459 - ProcessEndToken (): Removed some redundant code.
461 2005-12-03 Senganal T <tsenganal@novell.com>
464 - FormatParameter () : For DateTime Parameters, convert the value if
465 specified as a string. Fixes bug#76880
467 2005-11-24 Senganal T <tsenganal@novell.com>
471 - Modifications to set the desired packetsize info when connecting
474 2005-11-23 Senganal T <tsenganal@novell.com>
477 - ResizeOutBuf : Modified to shrink the output buffer if
478 the block size is reduced. Fixed bug #76778
480 2005-10-27 Senganal T <tsenganal@novell.com>
483 - Added a virtual method IsValidRowCount ()
484 - Modified the way RecordsAffected is being counted
487 - Overrode IsValidRowCount(), to check if the rowcount
488 returned by sqlserver is valid.
490 2005-10-19 Senganal T <tsenganal@novell.com>
492 * TdsConnectionParameter.cs :
493 - Added a class variable 'AttachDBFileName' to store the location
496 * Tds70.cs (Connect) :
497 - Modified to append the bytes corresponding to AttachDBFileName
498 into the Tds Packets.
500 2005-08-26 Sureshkumar T <tsureshkumar@novell.com>
502 * Tds70.cs (ExecProc): if no parameters, execute via RPC. parameter
503 support has to be added.
505 * Tds.cs (ExecRPC): added virtual method to execute via RPC.
507 This fixes bug #68978 by enabling execution of sp_reset_connection.
509 2005-08-24 Sureshkumar T <tsureshkumar@novell.com>
511 * Tds.cs: ProcessColumnDetail (): expression columns don't have
514 2005-08-05 Sureshkumar T <tsureshkumar@novell.com>
516 * Tds70.cs: Reset (): remove exec.
518 2005-07-01 Sureshkumar T <tsureshkumar@novell.com>
520 * Tds70.cs: FormatParameter: For uniqueidentifier, pass the guid
521 as '..' rather than hex. Tested with SqlServer 2005.
523 patch from jsinger@eggmouse.com & Hubert FONGARNAND.
525 2005-06-29 Sureshkumar T <tsureshkumar@novell.com>
527 * TdsInternalException.cs: Add ctor for InnerException.
529 * TdsComm.cs: Throw TdsInternalException rather than
532 2005-06-01 Sureshkumar T <tsureshkumar@novell.com>
534 * Tds50.cs: add a special case for datetime parameters to convert
535 to invariant culture. fixes bug #74910.
537 2005-04-07 Sureshkumar T <tsureshkumar@novell.com>
538 Ankit Jain <radical@corewars.org>
540 * TdsComm.cs: GetPhysicalPacket is devided further into seperate
541 methods GetPhysicalPacketHeader and
542 GetPhysicalPacketData. Implemented asynchronous ReadPacket method.
544 * ITds.cs: Added additional methods for asynchronous operations.
546 * Tds.cs: Implemented base methods for asynchronous
547 operations. Version specific derivatives should override for
550 * Tds70.cs: For stored procedure, "exec" is prefixed by
551 default. Implemented asynchronous method for asynchronous command
554 * TdsAsyncState.cs: Added. Internal asynchronous state object.
556 * TdsAsyncResult.cs: Added. Internal asynchronous result
559 2005-04-04 Sureshkumar T <tsureshkumar@novell.com>
561 * Tds50.cs: Pass parameters to the server. cut & paste from
562 Tds70.cs. To make the parmeters work with SybaseClient.
564 2005-03-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
566 * Tds70.cs: turns out that sp_reset_connection procedure might not be
567 found ("Invalid object name 'sp_reset_connection'"). In this case, and
568 if we get a proper state ('Class' property in the SqlException), just
571 * TdsConnectionPool.cs: if the connection cannot be reset, attemp to
572 disconnect it before losing the last reference to it.
574 2005-03-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
576 * Tds.cs: set the charset for MS SQL 2000. Patch from Aleksandar
577 Dezelin. Closes bug #73591.
579 2005-02-04 Sureshkumar T <tsureshkumar@novell.com>
581 * Tds.cs (ProcessEndToken): Added a bool validRowCount and add to
582 recordsAffected count if we meet DoneInProc..
584 2005-02-02 Sureshkumar T <tsureshkumar@novell.com>
586 * TdsConnectionParameters.cs: added a method Reset to initialize
589 2005-01-16 Daniel Morgan <danielmorgan@verizon.net>
591 * Tds.cs: TDS 5.0 (Sybase) needs to get a DECIMAL
592 differently than TDS 7.0 (SqlServer). Fixes bug 70228.
593 Thanks to Sebastien Robitaille for the patch for Sybase.
595 2005-01-07 Sureshkumar T <tsureshkumar@novell.com>
598 - add a special case for datetime parameters to convert to
599 invariant culture. fixes bug #70209.
600 - change format to MMM dd yyyy, this works for both client locale
601 change and server login locale change. fixes bug #66564.
603 2005-01-06 Sureshkumar T <tsureshkumar@novell.com>
605 * Tds.cs: change the typecast to ushort for
606 GetDateTimeValue. fixes bug #70651.
608 2004-11-06 Gert Driesen <drieseng@users.sourceforge.net>
609 * Tds70.cs: avoid unnecessary property call.
611 2004-11-01 Gert Driesen <drieseng@users.sourceforge.net>
613 * Tds70.cs: when type of parameter value is enum, convert value to
614 underlying type before converting value to string as we'd otherwise
615 be using the enum field name
617 2004-10-30 Umadevi S <sumadevi@novell.com>
618 * Tds.cs : GetColumnValue method: handling null guid values correctly.
619 This fixes bug #68804.
620 Thanks for the patch /bug report by Aleksandar Dezelin
622 2004-10-14 Umadevi S <sumadevi@novell.com>
623 * Tds.cs : GetTextValue method- handling zero length string correctly
624 This fixes bug #67916
626 2004-08-14 Geoff Norton <gnorton@customerdna.com>
630 Make Tds70 work on Big Endian machines.
631 BitConverter uses unsafe and returns things in host order; we need to
632 swap some values to put them back into the approrpiate order for the wire.
634 2004-08-09 Sureshkumar T <tsureshkumar@novell.com>
635 * Tds70.cs - Prepare Method stored procedure handle read problem fixed.
637 2004-06-30 Umadevi S <sumadevi@novell.com>
638 * Tds.cs - In the NextResult method handling TdsPacketSubType. TableName.
641 2004-04-22 Sebastien Pouliot <sebastien@ximian.com>
643 * Tds70.cs: Updated to match changes in Mono.Security.dll.
645 2004-04-05 Lluis Sanchez Gual <lluis@ximian.com>
647 * ITds.cs: Added method for reseting a connection.
648 * Tds.cs: Added base implementation for ITds.Reset.
649 * Tds70.cs: Implemented ITds.Reset().
650 * TdsConnectionPool.cs: Implemented connection pool that can be reused by
653 2004-04-01 Lluis Sanchez Gual <lluis@ximian.com>
655 * Tds.cs: All methods now return DBNull instead of null for null values.
656 * Tds50.cs, Tds70.cs: Support parameters with DBNull value.
658 2003-12-21 Tim Coleman <tim@timcoleman.com>
660 Fix Integrated Security to work with Domain users.
662 2003-12-06 Sebastien Pouliot <spouliot@videotron.ca>
663 for Daniel Morgan <danielmorgan@verizon.net>
665 Sebastien Pouliot (spouliot@motus.com) helped me greatly with his
668 * Mono.Data.Tds.Protocol/Tds.cs
669 * Mono.Data.Tds.Protocol/Tds70.cs
670 * Mono.Data.Tds.Protocol/TdsConnectionParameters.cs
671 * Mono.Data.Tds.Protocol/TdsPacketSubType.cs
672 * Mono.Data.Tds.Protocol/TdsPacketType.cs: added NT Authentication aka
673 Integrated Security aka Domain Login
675 2003-10-19 Joerg Rosenkranz <joergr@voelcker.com>
677 * Tds.cs (GetStringValue): A string length of 0xFF (255) is not
678 misinterpreted as special value anymore.
680 This is a fix to bug #49835.
682 2003-10-03 Diego Caravana <diego@toth.it>
684 * Tds70.cs: Now handles parameters of type ReturnValue and
686 (BuildParameters): skips the ReturnValue params and builds the
687 set string considering the assigned value for InputOutput ones.
688 (BuildProcedureCall): like the preceding one plus adds the return
689 value to the final select.
691 2003-08-22 Duncan Mak <duncan@ximian.com>
693 * Tds.cs (ProcessEndToken): RecordsAffected was not filled
694 correctly. I've found out that the record count was submitted for
695 TdsPacketSubType.Done. So I changed the behaviour to include this
696 (without deeper knowledge of the TDS protocol). Patch from Jörg
697 Rosenkranz <joergr@voelcker.com>.
699 This is part of a fix to bug #40315.
701 2003-05-07 Miguel de Icaza <miguel@ximian.com>
703 Patches from Igor Nosyryev <nosyryev@attbi.com>
705 * TdsComm.cs: (GetString): GetString adds extra byte to a string
706 at end. It suppose to be '\0', but '\0' is valid value in .NET
707 string, so this byte must not be used.
709 * Tds.cs (GetDecimalValue):Method reads extra byte if a DECIMAL
710 field contains NULL. As a result server's response is parsed
711 incorrectly and this method fires an exception.
713 2003-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
716 (FormatParameter): send input/output parameter names. This way we don't
717 depend on the parameter position being different of the index in the
718 parameter collection.
720 2002-12-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
723 (Disconnect): close the stream and set connected to false.
724 (NextResult): check if after DoneProc we have a ColumnMetadata + Row,
725 which holds the values for the output parameters and read them.
726 (LoadRow): add the values to outputParameters if DoneProc.
727 When executing a stored procedure, we execute the procedure and then
728 select the parameter values.
731 (BuildParameters): check Parameters.
733 * TdsComm.cs: added Close () to close the stream.
735 * TdsConnectionParameters.cs: initialize all the string to be empty.
737 2002-11-04 Tim Coleman (tim@timcoleman.com)
739 New class added to handle (potentially) large
742 Modified to use TdsBigDecimal instead of
743 decimal for transit of (potentially) large
746 2002-11-03 Tim Coleman (tim@timcoleman.com)
747 * TdsColumnStatus.cs:
748 Newly added to handle column metadata
750 Handle table name and column detail results
754 rename TableName BaseTableName for consistency
755 * TdsPacketSubType.cs:
756 We now know what subtype 0xa5 is
757 * TdsPacketTableNameResult.cs:
758 Add means to store table names
760 Add new schema information
762 2002-11-01 Tim Coleman (tim@timcoleman.com)
764 Add DoneProc property
766 *Lots*. Some stuff to get binary types
767 to work, other stuff to get new prepares
769 * TdsPacketEndTokenResult.cs:
770 Add Packetsubtype property
771 * TdsPacketRowResult:
772 Now implements ICollection and IList.
774 2002-10-31 Tim Coleman (tim@timcoleman.com)
776 Added because I can't really use SchemaInfo
779 * TdsPacketColumnInfoResult.cs :
780 ChangeDefinition of schema
784 Add new information to schema
787 2002-10-30 Tim Coleman (tim@timcoleman.com)
788 * TdsColumnSchema.cs:
789 Ditch this in favor of System.Data.Common.SchemaInfo
791 Change ColumnInfo to Schema
793 Uses new SchemaInfo object
798 * TdsPacketColumnInfoResult.cs:
799 * TdsPacketRowResult.cs:
800 Uses new SchemaInfo object
803 2002-10-29 Tim Coleman (tim@timcoleman.com)
805 Add OutputParameters collection
807 Much reformatting, added handling for dates,
808 fixed handling of output parameters, and a
810 * TdsPacketEndTokenResult.cs:
811 Remove incorrect exception
813 Add Logoff packet type.
815 2002-10-28 Tim Coleman (tim@timcoleman.com)
817 Add much handling to get the following types
818 working in queries: string, int, decimal
819 All sorts of other bug fixing and general
824 ProcessColumnInfo was abstracted in Tds.cs
825 and subclassed, because 7.0 provides the information
826 in a different format.
827 * TdsColumnSchema.cs:
828 Added size, precision, scale
830 Fixed GetString because it wasn't working properly
833 Change state and severity to byte instead of int
834 because that is more consitent.
837 2002-10-25 Tim Coleman (tim@timcoleman.com)
838 * TdsPacketErrorResultCollection.cs:
839 New class added for exporting errors
844 * TdsPacketEndTokenResult.cs:
845 * TdsPacketRowResult.cs:
846 Changes to make SqlClient build.
848 2002-10-24 Tim Coleman (tim@timcoleman.com)
850 Added column info, and NextResult/NextRow
852 * TdsColumnSchema.cs:
853 New class added to keep track of column info
855 Many, many changes to get queries working
857 * TdsPacketColumnInfoResult.cs:
858 * TdsPacketColumnNamesResult.cs:
859 Doesn't use a DataColumnCollection anymore
861 * TdsPacketRowResult.cs:
864 2002-10-23 Tim Coleman (tim@timcoleman.com)
870 New classes added. Functionality
871 is split up because different protocols
872 have slight differences.
874 Remove some unnecessary code after
875 the above split, and add in a whole
876 lot more stuff for completeness.
878 Fix Int4. Wrong enum value.
880 Move the encoder out of constructor
881 because we don't know the charset at
883 * TdsConnectionParameters.cs:
885 * TdsPacketEndTokenResult.cs:
886 Implement ToString ()
889 2002-10-22 Tim Coleman (tim@timcoleman.com)
891 More implementation. Does some
892 query stuff now. Can also change
894 * TdsConnectionParameters.cs:
895 Rename Host to DataSource, and
896 add Hostname for the local hostname.
897 * TdsPacketEndTokenResult.cs:
898 Change TODO attribute
903 2002-10-21 Tim Coleman (tim@timcoleman.com)
906 A whole slew of changes to get logon
907 to work (it now works in both TDS 7.0
908 and TDS 4.2) ... danmorg can test with
910 TdsComm has some simplifications too,
911 because C# has some features not present
912 in the Java implementation.
913 * TdsConnectionParameters.cs:
914 Change a few default values.
916 Implement this class.
918 2002-10-20 Tim Coleman (tim@timcoleman.com)
921 * TdsEnvPacketSubType.cs:
923 * TdsPacketColumnInfoResult.cs:
924 * TdsPacketColumnNamesResult.cs:
925 * TdsPacketColumnOrderResult.cs:
926 * TdsPacketControlResult.cs:
927 * TdsPacketEndTokenResult.cs:
928 * TdsPacketErrorResult.cs:
929 * TdsPacketMessageResult.cs:
930 * TdsPacketOutputParam.cs:
931 * TdsPacketResult.cs:
932 * TdsPacketRetStatResult.cs:
933 * TdsPacketRowResult.cs:
934 * TdsPacketSubType.cs:
935 * TdsPacketTableNameResult.cs:
936 * TdsPacketUnknown.cs:
937 New classes added as part of TDS internal implementation.
939 Some work on receiving and interpreting packages received from
940 SQL Server. Still doesn't work completely.
942 Add some methods as part of the ongoing work with Tds.cs
943 * TdsConnectionParameters.cs:
944 Add default values for Encoding ("iso-8859-1"), Port (1433),
947 2002-10-18 Tim Coleman (tim@timcoleman.com)
948 * TdsConnectionInternal:
949 Add some implementation details
951 New class, which will handle the low-level
952 communication with the database
953 * TdsPacketTypeInternal:
954 Add new packet type, TdsPacketTypeInternal.None
955 which is used when no packet is being constructed.
958 2002-10-17 Tim Coleman (tim@timcoleman.com)
961 * TdsCommandInternal.cs:
962 * TdsConnectionInternal.cs:
963 * TdsPacketTypeInternal.cs:
964 * TdsServerTypeInternal.cs:
965 * TdsTransactionInternal.cs:
966 * TdsVersionInternal.cs:
967 New classes added. These are the
968 internal implementations, meant for
969 "wrapping" from other locations.