1 2011-05-05 Veerapuram Varadhan <v.varadhan@gmail.com>
4 * Tds70.cs (WriteParameterInfo): Handle null value for Image
5 or varbinary(max) parameters as well.
7 2010-09-29 Veerapuram Varadhan <vvaradhan@novell.com>
9 ** Fixes failed test for smallmoney
10 * Tds70.cs (WriteParameterInfo): Round money values to 4 decimals, for smallmoney too.
12 2010-07-13 Veerapuram Varadhan <vvaradhan@novell.com>
15 * Tds70.cs (WriteParameterInfo): Round money values to 4 decimals.
17 2010-07-12 Veerapuram Varadhan <vvaradhan@novell.com>
20 * Tds70.cs (ExecPrepared): Revert back to old changes.
21 * Tds80.cs (ExecPrepared): Override for Tds 8 version that optimizes
24 2010-07-10 Veerapuram Varadhan <vvaradhan@novell.com>
27 * Tds70.cs (Precision): New virtual property to handle Precision values
28 across different Tds versions.
29 (WriteParameterInfo): Use defined Precision property instead of
30 constant value. Also handle Ulong and long max/min values properly.
31 * Tds80.cs (Precision): Override property to provide Tds 8 precision value.
33 2010-07-07 Veerapuram Varadhan <vvaradhan@novell.com>
35 * TdsComm.cs (Append[DateTime]): Ugh.. ugh.. final fix for handling MinValue for DateTime.
37 2010-07-07 Veerapuram Varadhan <vvaradhan@novell.com>
39 ** Fixes #609109 - DateTime part
40 * TdsComm.cs (Append[DateTime]): More fix for handling SqlServer MinValue for DateTime.
42 2010-07-06 Veerapuram Varadhan <vvaradhan@novell.com>
45 * TdsComm.cs (Append[DateTime]): Handle datetime values sanely that are less than epoch.
46 (Append[string]): Fix boundary checking for availability of enough buffer
48 2010-07-03 Veerapuram Varadhan <vvaradhan@novell.com>
51 * TdsComm.cs (Append[string]): Fix boundary calculations of bytes
52 to be written and available free buffer.
54 2010-06-15 Jonathan Chambers <joncham@gmail.com>
56 * Tds.cs: Add {} around default switch case.
58 2010-06-15 Veerapuram Varadhan <vvaradhan@novell.com>
61 * Tds.cs (ProcessLoginAck): Fix server version being compared in
63 * Tds70.cs (BuildPreparedParameters, BuildProcedureCall): Set default
64 precision to 18 as used by MS.Net when connecting to SqlServer 7.0.
65 (BuildExec, ExecRPC): Marked protected in order to be used by Tds80
67 * Tds80.cs (Execute): Separated from Tds70 to include Tds80 changes.
69 2010-04-21 Veerapuram Varadhan <vvaradhan@novell.com>
72 * Tds70.cs (WriteParameterInfo): Write updated decimal value according
73 to specified scale value.
75 2009-08-17 Veerapuram Varadhan <vvaradhan@novell.com>
78 * Tds.cs (ProcessColumnInfo): Use Columns instead of creating a new list.
79 * TdsDataColumnCollection.cs (Clear, Add): New utility methods
80 * Tdsxx.cs: ProcessColumnInfo definition changes.
82 2009-07-25 Veerapuram Varadhan <vvaradhan@novell.com>
84 * Tds70.cs (ProcessColumnInfo): Update the new DataTypeName property.
85 * TdsDataColumn.cs: Added DataTypeName property accessors.
87 2009-07-25 Gert Driesen <drieseng@users.sourceforge.net>
89 * TdsConnectionPool.cs: Fixed typo in ResetConnectionPool.
91 2009-05-26 Veerapuram Varadhan <vvaradhan@novell.com>
94 * Tds80.cs: Consider queries with Parameters as RPCs and avoid formatting
95 param values as strings. Fixes issues with locale specific string
96 formatting/conversions.
98 * TdsRpcProcId.cs: New - enum of rpc Ids to use with RPC packet type.
100 2009-05-16 Veerapuram Varadhan <vvaradhan@novell.com>
102 * Tds70.cs (WriteParameterInfo): Default precision is 29 and not 28.
104 2009-05-16 Veerapuram Varadhan <vvaradhan@novell.com>
106 * Tds70.cs (WriteParameterInfo): Do not change the original
107 param.TypeName value.
109 2009-05-16 Veerapuram Varadhan <vvaradhan@novell.com>
112 * Tds.cs (ServerTdsVersion): New property to access ServerVersion.
114 * Tds70.cs (WriteParameterInfo): Treat Decimal types as Numeric
115 types from SQL Server 2000.
117 * TdsVersion.cs: Add SQL Server 2008 version.
119 2009-05-02 Veerapuram Varadhan <vvaradhan@novell.com>
121 ** Fixes #462947 - Patch by Gert Driesen
122 * Tds.cs (InitExec): More intialization of variables.
124 2009-04-28 Veerapuram Varadhan <vvaradhan@novell.com>
126 * Tds.cs (InitExec): Move initialization of SequentialAccess related
129 2009-04-28 Veerapuram Varadhan <vvaradhan@novell.com>
131 * Tds.cs (ExecuteQuery): Reset all the variables related to LoadData
132 when performing queries with SequentialAccess set to true. Fixes
133 incorrect handling of data retrieval when multiple queries are run
134 with SequentialAccess set to true for the same instance of Tds.
136 2009-04-28 Veerapuram Varadhan <vvaradhan@novell.com>
138 * Tds.cs (ExecuteQuery): Reset SequentialAccess read state variables
139 in order to avoid blocking forever when two queries are executed with
140 SequentialAccess set to true for the same instance of Tds.
142 2009-04-28 Veerapuram Varadhan <vvaradhan@novell.com>
145 * Tds70.cs (Reset): Call base.Reset to update Database being used.
147 2009-04-28 Gonzalo Paniagua Javier <gonzalo@novell.com>
149 * TdsConnectionPool.cs: if GetConnection() fails to create a
150 connection, try again several times and then throw. Improved
151 ResetConnectionPool() so that it does not immediately close
152 connections in use. Don't re-add connections that have been closed.
154 * Tds.cs: Connected tests the socket connection too. Made Disconnect()
157 * TdsComm.cs: set more socket options (timeout and NoDelay) and have a
158 single entry point for reading from the stream.
160 2009-03-23 Veerapuram Varadhan <vvaradhan@novell.com>
162 * Tds.cs: Properly handle TdsColumnType.BigInt as we support TDS 8 now.
164 2009-03-15 Veerapuram Varadhan <vvaradhan@novell.com>
167 * Tds70.cs (Reset): Call base.Reset to update Database being used.
169 2009-03-14 Veerapuram Varadhan <vvaradhan@novell.com>
171 * Tds70.cs (WriteParameterInfo): Handle scenarios of Partlentype,
174 2009-03-04 Veerapuram Varadhan <vvaradhan@novell.com>
176 * TdsComm.cs (Append (*)): Do not create temporary byte arrays,
177 instead manipulate directly. Saves quite a bit of allocations
178 and improves performance.
179 (AppendInternal) : Do the math here.
180 (TdsByteOrder) : Property that indicates the byte-order-encoding which,
181 is independent of host's byte-order-encoding.
182 (SendPhysicalPacket): Add packet-id to the header
184 2009-02-26 Veerapuram Varadhan <vvaradhan@novell.com>
186 * Tds.cs (ProcessLoginAck): Set TdsVersion to the version
187 supported by the server.
188 (GetColumnValue): lcid and sortId are available only from Tds 8.
190 * Tds80.cs (ProcessColumnInfo, ProcessOutputParam): Call base
191 methods if the server version is less than Tds 8.
193 2009-02-19 Veerapuram Varadhan <vvaradhan@novell.com>
195 * Tds.cs: Tds 8 collation support
197 TdsComm.cs: - ditto -
198 TdsDataColumn.cs: - ditto -
199 TdsCollation.cs: New file. Based on patch from Dmitry S. Kataev
200 <dmitryskey@hotmail.com>
202 2009-02-02 Veerapuram Varadhan <vvaradhan@novell.com>
204 * Tds.cs: TDS 8 changes
207 TdsVersion.cs: - ditto -
208 TdsEnvPacketSubType.cs: - ditto -
209 TdsComm.cs: - ditto -
211 2009-01-29 Gonzalo Paniagua Javier <gonzalo@novell.com>
213 * Tds70.cs: fix for output parameters and '@'.
214 Fixes bug #470579. Patch from Varadhan.
216 2009-01-24 Gonzalo Paniagua Javier <gonzalo@novell.com>
218 * TdsConnectionPool.cs: made getting/releasing connections thread safe.
219 If we have a release connection available, we return that without locking
221 2009-01-21 Christian Hergert <christian.hergert@gmail.com>
223 * TdsComm.cs: optimize Append(byte[],int,byte) for adding data to
224 the buffer in the largest size of chunks possible. also optimize
225 other Append overloads to use this rather than lots of Append(byte).
227 2009-01-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
229 * TdsComm.cs: no need for the ManualResetEvent or the timeout instance
232 2009-01-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
234 * Tds70.cs: fix my mistake in the previous patch.
236 2009-01-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
238 * Tds70.cs: more '@' handling.
240 2009-01-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
242 * Tds70.cs: send the leading '@' for parameters that do not have one.
244 Thanks to William Shallum.
246 2009-01-04 Gert Driesen <drieseng@users.sourceforge.net>
248 * Tds.cs: Support detecting NULL value when sequentially reading
249 text/ntext/image column. Fixed typo in exception message in
250 GetSequentialColumnValue. Support reading zero-length binary data.
252 2008-12-30 Gert Driesen <drieseng@users.sourceforge.net>
254 * Tds.cs: Added IsWideType method.
255 * Tds70.cs: Fixed columnsize for unicode columns. Set precision
256 and scale for non-decimal/numeric column.
257 * TdsColumnType.cs: Adds tds names as comment.
259 2008-12-30 Gert Driesen <drieseng@users.sourceforge.net>
261 * Tds.cs (LoadData): Improve exception message when attempting to
262 read before the current position. Update the remaining length of the
263 stream when skipping bytes.
265 2008-12-05 Gonzalo Paniagua Javier <gonzalo@novell.com>
267 * Tds70.cs: support parameter names with or without a leading '@'.
269 2008-11-13 Veerapuram Varadhan <vvaradhan@novell.com>
271 * TdsComm.cs (ResetConnection, IsConnected): Added a property and
272 method. IsConnected will check for any connection-reset occurrance
273 from other end-point of the underlying socket. ResetConnection
274 adds the "reset" bit in the Status flag field of packet header.
275 Set socket option to keep alive, whereever supported and also, let
276 the socket close along with the underlying stream.
278 * Tds70.cs (Reset): Use the new ResetConnection property instead
279 of executing sp_reset_connection. Saves a round-trip.
281 2008-11-11 Gert Driesen <drieseng@users.sourceforge.net>
283 * Tds70.cs: Support writing negative (small)money values. Added
284 overflow check for smallmoney values. Fixes bug #428139.
285 * Tds.cs: Fixed reading negative (small)money values.
287 2008-11-09 Gert Driesen <drieseng@users.sourceforge.net>
289 * TdsConnectionPool.cs: Added TdsConnectionPoolManager.GetConnection
290 overload that can be used to retrieve an existing connection pool.
291 Modified ResetConnectionPool () to skip free slots in the pool and to
292 close pooled connections that are not in use. Pooled connections that
293 are in use are now marked as non-pooled so that they are no longer
294 returned to the pool when they are closed. Fixes bug #443131.
296 2008-09-16 Veerapuram Varadhan <vvaradhan@novell.com>
298 Patch from Christian Hergert <christian.hergert@gmail.com>
299 * TdsComm.cs: Expose the stream to be internally used by other
301 * Tds70.cs (Reset): Validate whether the connection is available
304 2008-07-09 Veerapuram Varadhan <vvaradhan@novell.com>
306 * TdsComm.cs: Cleanup stray Console.WriteLine that got in during last commit
308 2008-07-09 Veerapuram Varadhan <vvaradhan@novell.com>
310 Patch by Jon Larimer <jlarimer@gmail.com> fixes ##407208
311 * TdsComm.cs: Call DNS.GetHostEntry() only for host names and not for IPs.
313 2008-07-06 Gert Driesen <drieseng@users.sourceforge.net>
315 * TdsConnectionPool.cs: When pooled connection cannot be reset, remove
316 it from pool and allow slot to be re-used for a newly established
317 connection. Fixes part of bug #360157. When pool is full, and no
318 connection becomes available before the connect timeout has elapsed,
319 then throw an InvalidOperationException instead of a SqlException.
320 * Tds50.cs: Fixed compiler warning. Removed extra tabs, and changed
321 spaces to tabs. Minor code formatting.
322 * Tds70.cs: Removed extra tabs, and changed spaces to tabs. Code
323 formatting. Avoid calling Environment.UserDomainName if username
324 contains domain. Use String.Empty instead of "".
325 * TdsConnectionParameters.cs: Invoke Reset method for initializing
326 fields. Spaces to tabs.
328 2008-07-04 Gert Driesen <drieseng@users.sourceforge.net>
330 * TdsConnectionPool.cs: On 1.0 profile, use object[] for list of
331 connections. Patch provided by Christian Hergert. Fixes bug #406540.
333 2008-07-04 Gert Driesen <drieseng@users.sourceforge.net>
335 * Tds.cs: Avoid accessing TdsDataColumnCollection indexer. On 2.0
336 profile, use predefined properties on TdsDataColumn for setting the
337 BaseColumnName and BaseTableName. Fixes bug #406556.
338 * Tds50.cs: Avoid accessing TdsDataColumnCollection indexer, and
341 2008-07-01 Gert Driesen <drieseng@users.sourceforge.net>
343 * Tds70.cs: Avoid accessing TdsDataColumnCollection indexer.
344 * Tds.cs: Removed unused method.
345 * TdsComm.cs: Fixed compiler warning.
347 2008-07-01 Marek Habersack <mhabersack@novell.com>
349 * TdsDataColumnCollection.cs, Tds50.cs, Tds42.cs, Tds70.cs,
350 Tds.cs: adjust for changes below.
352 * TdsDataColumn.cs: use the named properties only in the 2.0
353 profile. The reason is that Mono.Data.TdsClient.TdsDataReader
354 needs to know if a property has been set or not. With 2.0 it is
355 easy to implement using nullable types, with 1.x it would require
356 using e.g. BitArray to control which field was set, and in
357 addition extra code would be needed to check whether a field was
358 set or not. Also, it would clutter the code with #ifdefs all over
361 2008-06-30 Zoltan Varga <vargaz@gmail.com>
363 * TdsDataColumn.cs: Do not inherit from Hashtable, add always set properties
364 as normal properties so code can access them without doing a hashtable lookup.
366 * Tds.cs Tds42.cs Tds50.cs Tds70.cs: Adapt to the TdsDataColumn changes.
368 2008-06-09 Veerapuram Varadhan <vvaradhan@novell.com>
370 Patch from Christian Hergert <christian.hergert@gmail.com>
371 * TdsConnectionPool.cs: Remove unnecessary locks and code refactoring
372 * Tds.cs: Add member to hold status of the connection pool
374 2008-06-09 Ankit Jain <jankit@novell.com>
376 Tds class doesn't need to inherit Component or implement ITds, fix.
378 * Tds42.cs, Tds50.cs, Tds70.cs, Tds80.cs:
379 Make Tds-derived classes sealed.
380 * TdsConnectionPool.cs: Update.
382 2008-05-17 Gert Driesen <drieseng@users.sourceforge.net>
384 * Tds.cs: Do not return 0 for decimal/numeric columns with value NULL.
385 Avoid unnecessary initialization of fields, and minor code formatting.
387 2008-05-15 Marek Habersack <mhabersack@novell.com>
389 * Tds.cs: deal with null columns when getting value for a Numeric
392 2008-05-05 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
394 * Tds.cs: a numeric column with no decimal digits and a precision <= 80
395 is translated into a long.
397 2007-11-10 Gert Driesen <drieseng@users.sourceforge.net>
399 * Tds.cs: Round milliseconds for datetime. Fixes part of bug #323646.
400 * Tds70.cs: Include milliseconds for datetime parameters. Fixes part
403 2007-10-17 Nagappan <anagappan@novell.com>
405 * TdsConnectionPool.cs: Default the pooling is enabled. It has to be
406 disabled only when we clear all the pools.
408 2007-09-25 Nagappan A <anagappan@novell.com>
410 * Tds.cs (Pooling): Added new property to get the internal
411 connection pooling list.
413 * ITds.cs (Pooling): Added new property to get the internal
414 connection pooling list.
416 * TdsConnectionPool.cs (ResetConnectionPool, GetConnectionPool)
417 (ReleaseConnection): Added new methods to clear connection pool.
419 2007-08-06 Nagappan A <anagappan@novell.com>
421 * TdsComm.cs (TdsComm): Now connects to the SqlServer in Async
422 mode. Fixes bug # 81934.
424 * Tds.cs (ProcessEnvironmentChange): Gets the server locale to use
425 them when required. Fixes bug # 82047.
426 When the server resets the connection, now the client code also
427 disconnects the session and remove the instance. Fixes bug #
429 Added new protected property Locale.
431 * TdsEnvPacketSubType.cs (Locale): Added new enumerator
432 entry. This gets the Locale type of SqlServer. Fixes bug # 82047.
434 * Tds70.cs (FormatParameter): Fixes the error when trying to add a
435 row with a DateTime field into an Italian SqlServer, bug # 82047.
437 2007-07-23 Nagappan A <anagappan@novell.com>
439 * TdsBulkCopy.cs: Removed all the Namespace that are not
442 2007-07-22 Nagappan A <anagappan@novell.com>
444 * TdsBulkCopy.cs: Added new file to handle the bulk copy
447 * Tds.cs (ExecBulkCopyMetaData, ExecBulkCopy): Added new methods
448 to send and receive bulk data information.
450 * Tds70.cs (IsBlobType, IsLargeType): Moved methods to Tds.cs.
452 * TdsComm.cs: Fixed 2.0 compilation warnings.
454 * Tds50.cs: Fixed compilation warnings.
456 * Tds42.cs: Fixed compilation warnings.
458 * TdsPacketType.cs: Added Bulk type.
460 2007-05-30 Nagappan A <anagappan@novell.com>
462 * TdsColumnType.cs: Added new types BigNVarChar, Variant to
463 TdsColumnType enumerator.
465 * TdsComm.cs (Append): Appends new data types to the TDS data
466 stream and also implemented new Append overloaded method.
468 * Tds.cs (BeginLoad): New case to handle BigBinary.
469 (GetMoneyValue): Simplified the switch / case conditions.
471 * TdsDataRow.cs: Instance of index checks for the given index to
472 be less than list count, else an exception will be thrown.
474 * Tds70.cs (sqlserverMagic): Modified byte values.
475 (ExecProc): Now directly calls ExecRPC for any number of
476 parameters being passed.
477 (ExecRPC): New logic to handle parameters.
478 (WriteParameterInfo): New private method to generate information
479 about each parameter.
480 (ProcessReturnStatus): New protected method to process the return
481 status of output parameter value.
483 2007-03-21 Nagappan A <anagappan@novell.com>
485 * Tds70.cs (BuildParameters, FormatParameter): Include @ before
486 parameter name, if doesnot exist.
488 2006-07-18 Dean Brettle <dean@brettle.com>
490 * Tds70.cs : Fixed bug in FormatParameter() which caused
491 ArgumentOutOfRangeException when formatting 0-length varbinary values
494 2006-05-03 Senganal T <tsenganal@novell.com>
497 - SetCharset () : Fix to set the Charset correctly.
498 Patch from Andrzej Kurzeja
500 2006-03-08 Senganal T <tsenganal@novell.com>
503 - ProcessColumnInfo () : Set IsAutoIncrement Value for the column.
505 2006-02-10 Senganal T <tsenganal@novell.com>
508 - GetSequentialColumn,BeginLoad, EndLoad,
509 LoadData, SkipRow, SkipToColumnIndex
510 New Methods to Support sequential loading of row data
512 - Skip : Changed arugment type from int to long.
514 2006-01-27 Senganal T <tsenganal@novell.com>
517 - Modified GetSqlMoney () , to set the precision and Scale correctly.
518 - Modified ProcessColumnDetails , to set the schema values correctly.
519 * TdsDataColumn.cs : Added some default values for the column schema
521 2005-12-07 Senganal T <tsenganal@novell.com>
524 - IsValidRowCount () : Find out if a row count is valid.
527 - ProcessEndToken (): Removed some redundant code.
529 2005-12-03 Senganal T <tsenganal@novell.com>
532 - FormatParameter () : For DateTime Parameters, convert the value if
533 specified as a string. Fixes bug#76880
535 2005-11-24 Senganal T <tsenganal@novell.com>
539 - Modifications to set the desired packetsize info when connecting
542 2005-11-23 Senganal T <tsenganal@novell.com>
545 - ResizeOutBuf : Modified to shrink the output buffer if
546 the block size is reduced. Fixed bug #76778
548 2005-10-27 Senganal T <tsenganal@novell.com>
551 - Added a virtual method IsValidRowCount ()
552 - Modified the way RecordsAffected is being counted
555 - Overrode IsValidRowCount(), to check if the rowcount
556 returned by sqlserver is valid.
558 2005-10-19 Senganal T <tsenganal@novell.com>
560 * TdsConnectionParameter.cs :
561 - Added a class variable 'AttachDBFileName' to store the location
564 * Tds70.cs (Connect) :
565 - Modified to append the bytes corresponding to AttachDBFileName
566 into the Tds Packets.
568 2005-08-26 Sureshkumar T <tsureshkumar@novell.com>
570 * Tds70.cs (ExecProc): if no parameters, execute via RPC. parameter
571 support has to be added.
573 * Tds.cs (ExecRPC): added virtual method to execute via RPC.
575 This fixes bug #68978 by enabling execution of sp_reset_connection.
577 2005-08-24 Sureshkumar T <tsureshkumar@novell.com>
579 * Tds.cs: ProcessColumnDetail (): expression columns don't have
582 2005-08-05 Sureshkumar T <tsureshkumar@novell.com>
584 * Tds70.cs: Reset (): remove exec.
586 2005-07-01 Sureshkumar T <tsureshkumar@novell.com>
588 * Tds70.cs: FormatParameter: For uniqueidentifier, pass the guid
589 as '..' rather than hex. Tested with SqlServer 2005.
591 patch from jsinger@eggmouse.com & Hubert FONGARNAND.
593 2005-06-29 Sureshkumar T <tsureshkumar@novell.com>
595 * TdsInternalException.cs: Add ctor for InnerException.
597 * TdsComm.cs: Throw TdsInternalException rather than
600 2005-06-01 Sureshkumar T <tsureshkumar@novell.com>
602 * Tds50.cs: add a special case for datetime parameters to convert
603 to invariant culture. fixes bug #74910.
605 2005-04-07 Sureshkumar T <tsureshkumar@novell.com>
606 Ankit Jain <radical@corewars.org>
608 * TdsComm.cs: GetPhysicalPacket is devided further into seperate
609 methods GetPhysicalPacketHeader and
610 GetPhysicalPacketData. Implemented asynchronous ReadPacket method.
612 * ITds.cs: Added additional methods for asynchronous operations.
614 * Tds.cs: Implemented base methods for asynchronous
615 operations. Version specific derivatives should override for
618 * Tds70.cs: For stored procedure, "exec" is prefixed by
619 default. Implemented asynchronous method for asynchronous command
622 * TdsAsyncState.cs: Added. Internal asynchronous state object.
624 * TdsAsyncResult.cs: Added. Internal asynchronous result
627 2005-04-04 Sureshkumar T <tsureshkumar@novell.com>
629 * Tds50.cs: Pass parameters to the server. cut & paste from
630 Tds70.cs. To make the parmeters work with SybaseClient.
632 2005-03-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
634 * Tds70.cs: turns out that sp_reset_connection procedure might not be
635 found ("Invalid object name 'sp_reset_connection'"). In this case, and
636 if we get a proper state ('Class' property in the SqlException), just
639 * TdsConnectionPool.cs: if the connection cannot be reset, attemp to
640 disconnect it before losing the last reference to it.
642 2005-03-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
644 * Tds.cs: set the charset for MS SQL 2000. Patch from Aleksandar
645 Dezelin. Closes bug #73591.
647 2005-02-04 Sureshkumar T <tsureshkumar@novell.com>
649 * Tds.cs (ProcessEndToken): Added a bool validRowCount and add to
650 recordsAffected count if we meet DoneInProc..
652 2005-02-02 Sureshkumar T <tsureshkumar@novell.com>
654 * TdsConnectionParameters.cs: added a method Reset to initialize
657 2005-01-16 Daniel Morgan <danielmorgan@verizon.net>
659 * Tds.cs: TDS 5.0 (Sybase) needs to get a DECIMAL
660 differently than TDS 7.0 (SqlServer). Fixes bug 70228.
661 Thanks to Sebastien Robitaille for the patch for Sybase.
663 2005-01-07 Sureshkumar T <tsureshkumar@novell.com>
666 - add a special case for datetime parameters to convert to
667 invariant culture. fixes bug #70209.
668 - change format to MMM dd yyyy, this works for both client locale
669 change and server login locale change. fixes bug #66564.
671 2005-01-06 Sureshkumar T <tsureshkumar@novell.com>
673 * Tds.cs: change the typecast to ushort for
674 GetDateTimeValue. fixes bug #70651.
676 2004-11-06 Gert Driesen <drieseng@users.sourceforge.net>
677 * Tds70.cs: avoid unnecessary property call.
679 2004-11-01 Gert Driesen <drieseng@users.sourceforge.net>
681 * Tds70.cs: when type of parameter value is enum, convert value to
682 underlying type before converting value to string as we'd otherwise
683 be using the enum field name
685 2004-10-30 Umadevi S <sumadevi@novell.com>
686 * Tds.cs : GetColumnValue method: handling null guid values correctly.
687 This fixes bug #68804.
688 Thanks for the patch /bug report by Aleksandar Dezelin
690 2004-10-14 Umadevi S <sumadevi@novell.com>
691 * Tds.cs : GetTextValue method- handling zero length string correctly
692 This fixes bug #67916
694 2004-08-14 Geoff Norton <gnorton@customerdna.com>
698 Make Tds70 work on Big Endian machines.
699 BitConverter uses unsafe and returns things in host order; we need to
700 swap some values to put them back into the approrpiate order for the wire.
702 2004-08-09 Sureshkumar T <tsureshkumar@novell.com>
703 * Tds70.cs - Prepare Method stored procedure handle read problem fixed.
705 2004-06-30 Umadevi S <sumadevi@novell.com>
706 * Tds.cs - In the NextResult method handling TdsPacketSubType. TableName.
709 2004-04-22 Sebastien Pouliot <sebastien@ximian.com>
711 * Tds70.cs: Updated to match changes in Mono.Security.dll.
713 2004-04-05 Lluis Sanchez Gual <lluis@ximian.com>
715 * ITds.cs: Added method for reseting a connection.
716 * Tds.cs: Added base implementation for ITds.Reset.
717 * Tds70.cs: Implemented ITds.Reset().
718 * TdsConnectionPool.cs: Implemented connection pool that can be reused by
721 2004-04-01 Lluis Sanchez Gual <lluis@ximian.com>
723 * Tds.cs: All methods now return DBNull instead of null for null values.
724 * Tds50.cs, Tds70.cs: Support parameters with DBNull value.
726 2003-12-21 Tim Coleman <tim@timcoleman.com>
728 Fix Integrated Security to work with Domain users.
730 2003-12-06 Sebastien Pouliot <spouliot@videotron.ca>
731 for Daniel Morgan <danielmorgan@verizon.net>
733 Sebastien Pouliot (spouliot@motus.com) helped me greatly with his
736 * Mono.Data.Tds.Protocol/Tds.cs
737 * Mono.Data.Tds.Protocol/Tds70.cs
738 * Mono.Data.Tds.Protocol/TdsConnectionParameters.cs
739 * Mono.Data.Tds.Protocol/TdsPacketSubType.cs
740 * Mono.Data.Tds.Protocol/TdsPacketType.cs: added NT Authentication aka
741 Integrated Security aka Domain Login
743 2003-10-19 Joerg Rosenkranz <joergr@voelcker.com>
745 * Tds.cs (GetStringValue): A string length of 0xFF (255) is not
746 misinterpreted as special value anymore.
748 This is a fix to bug #49835.
750 2003-10-03 Diego Caravana <diego@toth.it>
752 * Tds70.cs: Now handles parameters of type ReturnValue and
754 (BuildParameters): skips the ReturnValue params and builds the
755 set string considering the assigned value for InputOutput ones.
756 (BuildProcedureCall): like the preceding one plus adds the return
757 value to the final select.
759 2003-08-22 Duncan Mak <duncan@ximian.com>
761 * Tds.cs (ProcessEndToken): RecordsAffected was not filled
762 correctly. I've found out that the record count was submitted for
763 TdsPacketSubType.Done. So I changed the behaviour to include this
764 (without deeper knowledge of the TDS protocol). Patch from Jörg
765 Rosenkranz <joergr@voelcker.com>.
767 This is part of a fix to bug #40315.
769 2003-05-07 Miguel de Icaza <miguel@ximian.com>
771 Patches from Igor Nosyryev <nosyryev@attbi.com>
773 * TdsComm.cs: (GetString): GetString adds extra byte to a string
774 at end. It suppose to be '\0', but '\0' is valid value in .NET
775 string, so this byte must not be used.
777 * Tds.cs (GetDecimalValue):Method reads extra byte if a DECIMAL
778 field contains NULL. As a result server's response is parsed
779 incorrectly and this method fires an exception.
781 2003-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
784 (FormatParameter): send input/output parameter names. This way we don't
785 depend on the parameter position being different of the index in the
786 parameter collection.
788 2002-12-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
791 (Disconnect): close the stream and set connected to false.
792 (NextResult): check if after DoneProc we have a ColumnMetadata + Row,
793 which holds the values for the output parameters and read them.
794 (LoadRow): add the values to outputParameters if DoneProc.
795 When executing a stored procedure, we execute the procedure and then
796 select the parameter values.
799 (BuildParameters): check Parameters.
801 * TdsComm.cs: added Close () to close the stream.
803 * TdsConnectionParameters.cs: initialize all the string to be empty.
805 2002-11-04 Tim Coleman (tim@timcoleman.com)
807 New class added to handle (potentially) large
810 Modified to use TdsBigDecimal instead of
811 decimal for transit of (potentially) large
814 2002-11-03 Tim Coleman (tim@timcoleman.com)
815 * TdsColumnStatus.cs:
816 Newly added to handle column metadata
818 Handle table name and column detail results
822 rename TableName BaseTableName for consistency
823 * TdsPacketSubType.cs:
824 We now know what subtype 0xa5 is
825 * TdsPacketTableNameResult.cs:
826 Add means to store table names
828 Add new schema information
830 2002-11-01 Tim Coleman (tim@timcoleman.com)
832 Add DoneProc property
834 *Lots*. Some stuff to get binary types
835 to work, other stuff to get new prepares
837 * TdsPacketEndTokenResult.cs:
838 Add Packetsubtype property
839 * TdsPacketRowResult:
840 Now implements ICollection and IList.
842 2002-10-31 Tim Coleman (tim@timcoleman.com)
844 Added because I can't really use SchemaInfo
847 * TdsPacketColumnInfoResult.cs :
848 ChangeDefinition of schema
852 Add new information to schema
855 2002-10-30 Tim Coleman (tim@timcoleman.com)
856 * TdsColumnSchema.cs:
857 Ditch this in favor of System.Data.Common.SchemaInfo
859 Change ColumnInfo to Schema
861 Uses new SchemaInfo object
866 * TdsPacketColumnInfoResult.cs:
867 * TdsPacketRowResult.cs:
868 Uses new SchemaInfo object
871 2002-10-29 Tim Coleman (tim@timcoleman.com)
873 Add OutputParameters collection
875 Much reformatting, added handling for dates,
876 fixed handling of output parameters, and a
878 * TdsPacketEndTokenResult.cs:
879 Remove incorrect exception
881 Add Logoff packet type.
883 2002-10-28 Tim Coleman (tim@timcoleman.com)
885 Add much handling to get the following types
886 working in queries: string, int, decimal
887 All sorts of other bug fixing and general
892 ProcessColumnInfo was abstracted in Tds.cs
893 and subclassed, because 7.0 provides the information
894 in a different format.
895 * TdsColumnSchema.cs:
896 Added size, precision, scale
898 Fixed GetString because it wasn't working properly
901 Change state and severity to byte instead of int
902 because that is more consitent.
905 2002-10-25 Tim Coleman (tim@timcoleman.com)
906 * TdsPacketErrorResultCollection.cs:
907 New class added for exporting errors
912 * TdsPacketEndTokenResult.cs:
913 * TdsPacketRowResult.cs:
914 Changes to make SqlClient build.
916 2002-10-24 Tim Coleman (tim@timcoleman.com)
918 Added column info, and NextResult/NextRow
920 * TdsColumnSchema.cs:
921 New class added to keep track of column info
923 Many, many changes to get queries working
925 * TdsPacketColumnInfoResult.cs:
926 * TdsPacketColumnNamesResult.cs:
927 Doesn't use a DataColumnCollection anymore
929 * TdsPacketRowResult.cs:
932 2002-10-23 Tim Coleman (tim@timcoleman.com)
938 New classes added. Functionality
939 is split up because different protocols
940 have slight differences.
942 Remove some unnecessary code after
943 the above split, and add in a whole
944 lot more stuff for completeness.
946 Fix Int4. Wrong enum value.
948 Move the encoder out of constructor
949 because we don't know the charset at
951 * TdsConnectionParameters.cs:
953 * TdsPacketEndTokenResult.cs:
954 Implement ToString ()
957 2002-10-22 Tim Coleman (tim@timcoleman.com)
959 More implementation. Does some
960 query stuff now. Can also change
962 * TdsConnectionParameters.cs:
963 Rename Host to DataSource, and
964 add Hostname for the local hostname.
965 * TdsPacketEndTokenResult.cs:
966 Change TODO attribute
971 2002-10-21 Tim Coleman (tim@timcoleman.com)
974 A whole slew of changes to get logon
975 to work (it now works in both TDS 7.0
976 and TDS 4.2) ... danmorg can test with
978 TdsComm has some simplifications too,
979 because C# has some features not present
980 in the Java implementation.
981 * TdsConnectionParameters.cs:
982 Change a few default values.
984 Implement this class.
986 2002-10-20 Tim Coleman (tim@timcoleman.com)
989 * TdsEnvPacketSubType.cs:
991 * TdsPacketColumnInfoResult.cs:
992 * TdsPacketColumnNamesResult.cs:
993 * TdsPacketColumnOrderResult.cs:
994 * TdsPacketControlResult.cs:
995 * TdsPacketEndTokenResult.cs:
996 * TdsPacketErrorResult.cs:
997 * TdsPacketMessageResult.cs:
998 * TdsPacketOutputParam.cs:
999 * TdsPacketResult.cs:
1000 * TdsPacketRetStatResult.cs:
1001 * TdsPacketRowResult.cs:
1002 * TdsPacketSubType.cs:
1003 * TdsPacketTableNameResult.cs:
1004 * TdsPacketUnknown.cs:
1005 New classes added as part of TDS internal implementation.
1007 Some work on receiving and interpreting packages received from
1008 SQL Server. Still doesn't work completely.
1010 Add some methods as part of the ongoing work with Tds.cs
1011 * TdsConnectionParameters.cs:
1012 Add default values for Encoding ("iso-8859-1"), Port (1433),
1015 2002-10-18 Tim Coleman (tim@timcoleman.com)
1016 * TdsConnectionInternal:
1017 Add some implementation details
1019 New class, which will handle the low-level
1020 communication with the database
1021 * TdsPacketTypeInternal:
1022 Add new packet type, TdsPacketTypeInternal.None
1023 which is used when no packet is being constructed.
1026 2002-10-17 Tim Coleman (tim@timcoleman.com)
1029 * TdsCommandInternal.cs:
1030 * TdsConnectionInternal.cs:
1031 * TdsPacketTypeInternal.cs:
1032 * TdsServerTypeInternal.cs:
1033 * TdsTransactionInternal.cs:
1034 * TdsVersionInternal.cs:
1035 New classes added. These are the
1036 internal implementations, meant for
1037 "wrapping" from other locations.