1 2009-08-17 Veerapuram Varadhan <vvaradhan@novell.com>
4 * Tds.cs (ProcessColumnInfo): Use Columns instead of creating a new list.
5 * TdsDataColumnCollection.cs (Clear, Add): New utility methods
6 * Tdsxx.cs: ProcessColumnInfo definition changes.
8 2009-07-25 Veerapuram Varadhan <vvaradhan@novell.com>
10 * Tds70.cs (ProcessColumnInfo): Update the new DataTypeName property.
11 * TdsDataColumn.cs: Added DataTypeName property accessors.
13 2009-07-25 Gert Driesen <drieseng@users.sourceforge.net>
15 * TdsConnectionPool.cs: Fixed typo in ResetConnectionPool.
17 2009-05-26 Veerapuram Varadhan <vvaradhan@novell.com>
20 * Tds80.cs: Consider queries with Parameters as RPCs and avoid formatting
21 param values as strings. Fixes issues with locale specific string
22 formatting/conversions.
24 * TdsRpcProcId.cs: New - enum of rpc Ids to use with RPC packet type.
26 2009-05-16 Veerapuram Varadhan <vvaradhan@novell.com>
28 * Tds70.cs (WriteParameterInfo): Default precision is 29 and not 28.
30 2009-05-16 Veerapuram Varadhan <vvaradhan@novell.com>
32 * Tds70.cs (WriteParameterInfo): Do not change the original
35 2009-05-16 Veerapuram Varadhan <vvaradhan@novell.com>
38 * Tds.cs (ServerTdsVersion): New property to access ServerVersion.
40 * Tds70.cs (WriteParameterInfo): Treat Decimal types as Numeric
41 types from SQL Server 2000.
43 * TdsVersion.cs: Add SQL Server 2008 version.
45 2009-05-02 Veerapuram Varadhan <vvaradhan@novell.com>
47 ** Fixes #462947 - Patch by Gert Driesen
48 * Tds.cs (InitExec): More intialization of variables.
50 2009-04-28 Veerapuram Varadhan <vvaradhan@novell.com>
52 * Tds.cs (InitExec): Move initialization of SequentialAccess related
55 2009-04-28 Veerapuram Varadhan <vvaradhan@novell.com>
57 * Tds.cs (ExecuteQuery): Reset all the variables related to LoadData
58 when performing queries with SequentialAccess set to true. Fixes
59 incorrect handling of data retrieval when multiple queries are run
60 with SequentialAccess set to true for the same instance of Tds.
62 2009-04-28 Veerapuram Varadhan <vvaradhan@novell.com>
64 * Tds.cs (ExecuteQuery): Reset SequentialAccess read state variables
65 in order to avoid blocking forever when two queries are executed with
66 SequentialAccess set to true for the same instance of Tds.
68 2009-04-28 Veerapuram Varadhan <vvaradhan@novell.com>
71 * Tds70.cs (Reset): Call base.Reset to update Database being used.
73 2009-04-28 Gonzalo Paniagua Javier <gonzalo@novell.com>
75 * TdsConnectionPool.cs: if GetConnection() fails to create a
76 connection, try again several times and then throw. Improved
77 ResetConnectionPool() so that it does not immediately close
78 connections in use. Don't re-add connections that have been closed.
80 * Tds.cs: Connected tests the socket connection too. Made Disconnect()
83 * TdsComm.cs: set more socket options (timeout and NoDelay) and have a
84 single entry point for reading from the stream.
86 2009-03-23 Veerapuram Varadhan <vvaradhan@novell.com>
88 * Tds.cs: Properly handle TdsColumnType.BigInt as we support TDS 8 now.
90 2009-03-15 Veerapuram Varadhan <vvaradhan@novell.com>
93 * Tds70.cs (Reset): Call base.Reset to update Database being used.
95 2009-03-14 Veerapuram Varadhan <vvaradhan@novell.com>
97 * Tds70.cs (WriteParameterInfo): Handle scenarios of Partlentype,
100 2009-03-04 Veerapuram Varadhan <vvaradhan@novell.com>
102 * TdsComm.cs (Append (*)): Do not create temporary byte arrays,
103 instead manipulate directly. Saves quite a bit of allocations
104 and improves performance.
105 (AppendInternal) : Do the math here.
106 (TdsByteOrder) : Property that indicates the byte-order-encoding which,
107 is independent of host's byte-order-encoding.
108 (SendPhysicalPacket): Add packet-id to the header
110 2009-02-26 Veerapuram Varadhan <vvaradhan@novell.com>
112 * Tds.cs (ProcessLoginAck): Set TdsVersion to the version
113 supported by the server.
114 (GetColumnValue): lcid and sortId are available only from Tds 8.
116 * Tds80.cs (ProcessColumnInfo, ProcessOutputParam): Call base
117 methods if the server version is less than Tds 8.
119 2009-02-19 Veerapuram Varadhan <vvaradhan@novell.com>
121 * Tds.cs: Tds 8 collation support
123 TdsComm.cs: - ditto -
124 TdsDataColumn.cs: - ditto -
125 TdsCollation.cs: New file. Based on patch from Dmitry S. Kataev
126 <dmitryskey@hotmail.com>
128 2009-02-02 Veerapuram Varadhan <vvaradhan@novell.com>
130 * Tds.cs: TDS 8 changes
133 TdsVersion.cs: - ditto -
134 TdsEnvPacketSubType.cs: - ditto -
135 TdsComm.cs: - ditto -
137 2009-01-29 Gonzalo Paniagua Javier <gonzalo@novell.com>
139 * Tds70.cs: fix for output parameters and '@'.
140 Fixes bug #470579. Patch from Varadhan.
142 2009-01-24 Gonzalo Paniagua Javier <gonzalo@novell.com>
144 * TdsConnectionPool.cs: made getting/releasing connections thread safe.
145 If we have a release connection available, we return that without locking
147 2009-01-21 Christian Hergert <christian.hergert@gmail.com>
149 * TdsComm.cs: optimize Append(byte[],int,byte) for adding data to
150 the buffer in the largest size of chunks possible. also optimize
151 other Append overloads to use this rather than lots of Append(byte).
153 2009-01-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
155 * TdsComm.cs: no need for the ManualResetEvent or the timeout instance
158 2009-01-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
160 * Tds70.cs: fix my mistake in the previous patch.
162 2009-01-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
164 * Tds70.cs: more '@' handling.
166 2009-01-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
168 * Tds70.cs: send the leading '@' for parameters that do not have one.
170 Thanks to William Shallum.
172 2009-01-04 Gert Driesen <drieseng@users.sourceforge.net>
174 * Tds.cs: Support detecting NULL value when sequentially reading
175 text/ntext/image column. Fixed typo in exception message in
176 GetSequentialColumnValue. Support reading zero-length binary data.
178 2008-12-30 Gert Driesen <drieseng@users.sourceforge.net>
180 * Tds.cs: Added IsWideType method.
181 * Tds70.cs: Fixed columnsize for unicode columns. Set precision
182 and scale for non-decimal/numeric column.
183 * TdsColumnType.cs: Adds tds names as comment.
185 2008-12-30 Gert Driesen <drieseng@users.sourceforge.net>
187 * Tds.cs (LoadData): Improve exception message when attempting to
188 read before the current position. Update the remaining length of the
189 stream when skipping bytes.
191 2008-12-05 Gonzalo Paniagua Javier <gonzalo@novell.com>
193 * Tds70.cs: support parameter names with or without a leading '@'.
195 2008-11-13 Veerapuram Varadhan <vvaradhan@novell.com>
197 * TdsComm.cs (ResetConnection, IsConnected): Added a property and
198 method. IsConnected will check for any connection-reset occurrance
199 from other end-point of the underlying socket. ResetConnection
200 adds the "reset" bit in the Status flag field of packet header.
201 Set socket option to keep alive, whereever supported and also, let
202 the socket close along with the underlying stream.
204 * Tds70.cs (Reset): Use the new ResetConnection property instead
205 of executing sp_reset_connection. Saves a round-trip.
207 2008-11-11 Gert Driesen <drieseng@users.sourceforge.net>
209 * Tds70.cs: Support writing negative (small)money values. Added
210 overflow check for smallmoney values. Fixes bug #428139.
211 * Tds.cs: Fixed reading negative (small)money values.
213 2008-11-09 Gert Driesen <drieseng@users.sourceforge.net>
215 * TdsConnectionPool.cs: Added TdsConnectionPoolManager.GetConnection
216 overload that can be used to retrieve an existing connection pool.
217 Modified ResetConnectionPool () to skip free slots in the pool and to
218 close pooled connections that are not in use. Pooled connections that
219 are in use are now marked as non-pooled so that they are no longer
220 returned to the pool when they are closed. Fixes bug #443131.
222 2008-09-16 Veerapuram Varadhan <vvaradhan@novell.com>
224 Patch from Christian Hergert <christian.hergert@gmail.com>
225 * TdsComm.cs: Expose the stream to be internally used by other
227 * Tds70.cs (Reset): Validate whether the connection is available
230 2008-07-09 Veerapuram Varadhan <vvaradhan@novell.com>
232 * TdsComm.cs: Cleanup stray Console.WriteLine that got in during last commit
234 2008-07-09 Veerapuram Varadhan <vvaradhan@novell.com>
236 Patch by Jon Larimer <jlarimer@gmail.com> fixes ##407208
237 * TdsComm.cs: Call DNS.GetHostEntry() only for host names and not for IPs.
239 2008-07-06 Gert Driesen <drieseng@users.sourceforge.net>
241 * TdsConnectionPool.cs: When pooled connection cannot be reset, remove
242 it from pool and allow slot to be re-used for a newly established
243 connection. Fixes part of bug #360157. When pool is full, and no
244 connection becomes available before the connect timeout has elapsed,
245 then throw an InvalidOperationException instead of a SqlException.
246 * Tds50.cs: Fixed compiler warning. Removed extra tabs, and changed
247 spaces to tabs. Minor code formatting.
248 * Tds70.cs: Removed extra tabs, and changed spaces to tabs. Code
249 formatting. Avoid calling Environment.UserDomainName if username
250 contains domain. Use String.Empty instead of "".
251 * TdsConnectionParameters.cs: Invoke Reset method for initializing
252 fields. Spaces to tabs.
254 2008-07-04 Gert Driesen <drieseng@users.sourceforge.net>
256 * TdsConnectionPool.cs: On 1.0 profile, use object[] for list of
257 connections. Patch provided by Christian Hergert. Fixes bug #406540.
259 2008-07-04 Gert Driesen <drieseng@users.sourceforge.net>
261 * Tds.cs: Avoid accessing TdsDataColumnCollection indexer. On 2.0
262 profile, use predefined properties on TdsDataColumn for setting the
263 BaseColumnName and BaseTableName. Fixes bug #406556.
264 * Tds50.cs: Avoid accessing TdsDataColumnCollection indexer, and
267 2008-07-01 Gert Driesen <drieseng@users.sourceforge.net>
269 * Tds70.cs: Avoid accessing TdsDataColumnCollection indexer.
270 * Tds.cs: Removed unused method.
271 * TdsComm.cs: Fixed compiler warning.
273 2008-07-01 Marek Habersack <mhabersack@novell.com>
275 * TdsDataColumnCollection.cs, Tds50.cs, Tds42.cs, Tds70.cs,
276 Tds.cs: adjust for changes below.
278 * TdsDataColumn.cs: use the named properties only in the 2.0
279 profile. The reason is that Mono.Data.TdsClient.TdsDataReader
280 needs to know if a property has been set or not. With 2.0 it is
281 easy to implement using nullable types, with 1.x it would require
282 using e.g. BitArray to control which field was set, and in
283 addition extra code would be needed to check whether a field was
284 set or not. Also, it would clutter the code with #ifdefs all over
287 2008-06-30 Zoltan Varga <vargaz@gmail.com>
289 * TdsDataColumn.cs: Do not inherit from Hashtable, add always set properties
290 as normal properties so code can access them without doing a hashtable lookup.
292 * Tds.cs Tds42.cs Tds50.cs Tds70.cs: Adapt to the TdsDataColumn changes.
294 2008-06-09 Veerapuram Varadhan <vvaradhan@novell.com>
296 Patch from Christian Hergert <christian.hergert@gmail.com>
297 * TdsConnectionPool.cs: Remove unnecessary locks and code refactoring
298 * Tds.cs: Add member to hold status of the connection pool
300 2008-06-09 Ankit Jain <jankit@novell.com>
302 Tds class doesn't need to inherit Component or implement ITds, fix.
304 * Tds42.cs, Tds50.cs, Tds70.cs, Tds80.cs:
305 Make Tds-derived classes sealed.
306 * TdsConnectionPool.cs: Update.
308 2008-05-17 Gert Driesen <drieseng@users.sourceforge.net>
310 * Tds.cs: Do not return 0 for decimal/numeric columns with value NULL.
311 Avoid unnecessary initialization of fields, and minor code formatting.
313 2008-05-15 Marek Habersack <mhabersack@novell.com>
315 * Tds.cs: deal with null columns when getting value for a Numeric
318 2008-05-05 Gonzalo Paniagua Javier <gonzalo.mono@gmail.com>
320 * Tds.cs: a numeric column with no decimal digits and a precision <= 80
321 is translated into a long.
323 2007-11-10 Gert Driesen <drieseng@users.sourceforge.net>
325 * Tds.cs: Round milliseconds for datetime. Fixes part of bug #323646.
326 * Tds70.cs: Include milliseconds for datetime parameters. Fixes part
329 2007-10-17 Nagappan <anagappan@novell.com>
331 * TdsConnectionPool.cs: Default the pooling is enabled. It has to be
332 disabled only when we clear all the pools.
334 2007-09-25 Nagappan A <anagappan@novell.com>
336 * Tds.cs (Pooling): Added new property to get the internal
337 connection pooling list.
339 * ITds.cs (Pooling): Added new property to get the internal
340 connection pooling list.
342 * TdsConnectionPool.cs (ResetConnectionPool, GetConnectionPool)
343 (ReleaseConnection): Added new methods to clear connection pool.
345 2007-08-06 Nagappan A <anagappan@novell.com>
347 * TdsComm.cs (TdsComm): Now connects to the SqlServer in Async
348 mode. Fixes bug # 81934.
350 * Tds.cs (ProcessEnvironmentChange): Gets the server locale to use
351 them when required. Fixes bug # 82047.
352 When the server resets the connection, now the client code also
353 disconnects the session and remove the instance. Fixes bug #
355 Added new protected property Locale.
357 * TdsEnvPacketSubType.cs (Locale): Added new enumerator
358 entry. This gets the Locale type of SqlServer. Fixes bug # 82047.
360 * Tds70.cs (FormatParameter): Fixes the error when trying to add a
361 row with a DateTime field into an Italian SqlServer, bug # 82047.
363 2007-07-23 Nagappan A <anagappan@novell.com>
365 * TdsBulkCopy.cs: Removed all the Namespace that are not
368 2007-07-22 Nagappan A <anagappan@novell.com>
370 * TdsBulkCopy.cs: Added new file to handle the bulk copy
373 * Tds.cs (ExecBulkCopyMetaData, ExecBulkCopy): Added new methods
374 to send and receive bulk data information.
376 * Tds70.cs (IsBlobType, IsLargeType): Moved methods to Tds.cs.
378 * TdsComm.cs: Fixed 2.0 compilation warnings.
380 * Tds50.cs: Fixed compilation warnings.
382 * Tds42.cs: Fixed compilation warnings.
384 * TdsPacketType.cs: Added Bulk type.
386 2007-05-30 Nagappan A <anagappan@novell.com>
388 * TdsColumnType.cs: Added new types BigNVarChar, Variant to
389 TdsColumnType enumerator.
391 * TdsComm.cs (Append): Appends new data types to the TDS data
392 stream and also implemented new Append overloaded method.
394 * Tds.cs (BeginLoad): New case to handle BigBinary.
395 (GetMoneyValue): Simplified the switch / case conditions.
397 * TdsDataRow.cs: Instance of index checks for the given index to
398 be less than list count, else an exception will be thrown.
400 * Tds70.cs (sqlserverMagic): Modified byte values.
401 (ExecProc): Now directly calls ExecRPC for any number of
402 parameters being passed.
403 (ExecRPC): New logic to handle parameters.
404 (WriteParameterInfo): New private method to generate information
405 about each parameter.
406 (ProcessReturnStatus): New protected method to process the return
407 status of output parameter value.
409 2007-03-21 Nagappan A <anagappan@novell.com>
411 * Tds70.cs (BuildParameters, FormatParameter): Include @ before
412 parameter name, if doesnot exist.
414 2006-07-18 Dean Brettle <dean@brettle.com>
416 * Tds70.cs : Fixed bug in FormatParameter() which caused
417 ArgumentOutOfRangeException when formatting 0-length varbinary values
420 2006-05-03 Senganal T <tsenganal@novell.com>
423 - SetCharset () : Fix to set the Charset correctly.
424 Patch from Andrzej Kurzeja
426 2006-03-08 Senganal T <tsenganal@novell.com>
429 - ProcessColumnInfo () : Set IsAutoIncrement Value for the column.
431 2006-02-10 Senganal T <tsenganal@novell.com>
434 - GetSequentialColumn,BeginLoad, EndLoad,
435 LoadData, SkipRow, SkipToColumnIndex
436 New Methods to Support sequential loading of row data
438 - Skip : Changed arugment type from int to long.
440 2006-01-27 Senganal T <tsenganal@novell.com>
443 - Modified GetSqlMoney () , to set the precision and Scale correctly.
444 - Modified ProcessColumnDetails , to set the schema values correctly.
445 * TdsDataColumn.cs : Added some default values for the column schema
447 2005-12-07 Senganal T <tsenganal@novell.com>
450 - IsValidRowCount () : Find out if a row count is valid.
453 - ProcessEndToken (): Removed some redundant code.
455 2005-12-03 Senganal T <tsenganal@novell.com>
458 - FormatParameter () : For DateTime Parameters, convert the value if
459 specified as a string. Fixes bug#76880
461 2005-11-24 Senganal T <tsenganal@novell.com>
465 - Modifications to set the desired packetsize info when connecting
468 2005-11-23 Senganal T <tsenganal@novell.com>
471 - ResizeOutBuf : Modified to shrink the output buffer if
472 the block size is reduced. Fixed bug #76778
474 2005-10-27 Senganal T <tsenganal@novell.com>
477 - Added a virtual method IsValidRowCount ()
478 - Modified the way RecordsAffected is being counted
481 - Overrode IsValidRowCount(), to check if the rowcount
482 returned by sqlserver is valid.
484 2005-10-19 Senganal T <tsenganal@novell.com>
486 * TdsConnectionParameter.cs :
487 - Added a class variable 'AttachDBFileName' to store the location
490 * Tds70.cs (Connect) :
491 - Modified to append the bytes corresponding to AttachDBFileName
492 into the Tds Packets.
494 2005-08-26 Sureshkumar T <tsureshkumar@novell.com>
496 * Tds70.cs (ExecProc): if no parameters, execute via RPC. parameter
497 support has to be added.
499 * Tds.cs (ExecRPC): added virtual method to execute via RPC.
501 This fixes bug #68978 by enabling execution of sp_reset_connection.
503 2005-08-24 Sureshkumar T <tsureshkumar@novell.com>
505 * Tds.cs: ProcessColumnDetail (): expression columns don't have
508 2005-08-05 Sureshkumar T <tsureshkumar@novell.com>
510 * Tds70.cs: Reset (): remove exec.
512 2005-07-01 Sureshkumar T <tsureshkumar@novell.com>
514 * Tds70.cs: FormatParameter: For uniqueidentifier, pass the guid
515 as '..' rather than hex. Tested with SqlServer 2005.
517 patch from jsinger@eggmouse.com & Hubert FONGARNAND.
519 2005-06-29 Sureshkumar T <tsureshkumar@novell.com>
521 * TdsInternalException.cs: Add ctor for InnerException.
523 * TdsComm.cs: Throw TdsInternalException rather than
526 2005-06-01 Sureshkumar T <tsureshkumar@novell.com>
528 * Tds50.cs: add a special case for datetime parameters to convert
529 to invariant culture. fixes bug #74910.
531 2005-04-07 Sureshkumar T <tsureshkumar@novell.com>
532 Ankit Jain <radical@corewars.org>
534 * TdsComm.cs: GetPhysicalPacket is devided further into seperate
535 methods GetPhysicalPacketHeader and
536 GetPhysicalPacketData. Implemented asynchronous ReadPacket method.
538 * ITds.cs: Added additional methods for asynchronous operations.
540 * Tds.cs: Implemented base methods for asynchronous
541 operations. Version specific derivatives should override for
544 * Tds70.cs: For stored procedure, "exec" is prefixed by
545 default. Implemented asynchronous method for asynchronous command
548 * TdsAsyncState.cs: Added. Internal asynchronous state object.
550 * TdsAsyncResult.cs: Added. Internal asynchronous result
553 2005-04-04 Sureshkumar T <tsureshkumar@novell.com>
555 * Tds50.cs: Pass parameters to the server. cut & paste from
556 Tds70.cs. To make the parmeters work with SybaseClient.
558 2005-03-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
560 * Tds70.cs: turns out that sp_reset_connection procedure might not be
561 found ("Invalid object name 'sp_reset_connection'"). In this case, and
562 if we get a proper state ('Class' property in the SqlException), just
565 * TdsConnectionPool.cs: if the connection cannot be reset, attemp to
566 disconnect it before losing the last reference to it.
568 2005-03-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
570 * Tds.cs: set the charset for MS SQL 2000. Patch from Aleksandar
571 Dezelin. Closes bug #73591.
573 2005-02-04 Sureshkumar T <tsureshkumar@novell.com>
575 * Tds.cs (ProcessEndToken): Added a bool validRowCount and add to
576 recordsAffected count if we meet DoneInProc..
578 2005-02-02 Sureshkumar T <tsureshkumar@novell.com>
580 * TdsConnectionParameters.cs: added a method Reset to initialize
583 2005-01-16 Daniel Morgan <danielmorgan@verizon.net>
585 * Tds.cs: TDS 5.0 (Sybase) needs to get a DECIMAL
586 differently than TDS 7.0 (SqlServer). Fixes bug 70228.
587 Thanks to Sebastien Robitaille for the patch for Sybase.
589 2005-01-07 Sureshkumar T <tsureshkumar@novell.com>
592 - add a special case for datetime parameters to convert to
593 invariant culture. fixes bug #70209.
594 - change format to MMM dd yyyy, this works for both client locale
595 change and server login locale change. fixes bug #66564.
597 2005-01-06 Sureshkumar T <tsureshkumar@novell.com>
599 * Tds.cs: change the typecast to ushort for
600 GetDateTimeValue. fixes bug #70651.
602 2004-11-06 Gert Driesen <drieseng@users.sourceforge.net>
603 * Tds70.cs: avoid unnecessary property call.
605 2004-11-01 Gert Driesen <drieseng@users.sourceforge.net>
607 * Tds70.cs: when type of parameter value is enum, convert value to
608 underlying type before converting value to string as we'd otherwise
609 be using the enum field name
611 2004-10-30 Umadevi S <sumadevi@novell.com>
612 * Tds.cs : GetColumnValue method: handling null guid values correctly.
613 This fixes bug #68804.
614 Thanks for the patch /bug report by Aleksandar Dezelin
616 2004-10-14 Umadevi S <sumadevi@novell.com>
617 * Tds.cs : GetTextValue method- handling zero length string correctly
618 This fixes bug #67916
620 2004-08-14 Geoff Norton <gnorton@customerdna.com>
624 Make Tds70 work on Big Endian machines.
625 BitConverter uses unsafe and returns things in host order; we need to
626 swap some values to put them back into the approrpiate order for the wire.
628 2004-08-09 Sureshkumar T <tsureshkumar@novell.com>
629 * Tds70.cs - Prepare Method stored procedure handle read problem fixed.
631 2004-06-30 Umadevi S <sumadevi@novell.com>
632 * Tds.cs - In the NextResult method handling TdsPacketSubType. TableName.
635 2004-04-22 Sebastien Pouliot <sebastien@ximian.com>
637 * Tds70.cs: Updated to match changes in Mono.Security.dll.
639 2004-04-05 Lluis Sanchez Gual <lluis@ximian.com>
641 * ITds.cs: Added method for reseting a connection.
642 * Tds.cs: Added base implementation for ITds.Reset.
643 * Tds70.cs: Implemented ITds.Reset().
644 * TdsConnectionPool.cs: Implemented connection pool that can be reused by
647 2004-04-01 Lluis Sanchez Gual <lluis@ximian.com>
649 * Tds.cs: All methods now return DBNull instead of null for null values.
650 * Tds50.cs, Tds70.cs: Support parameters with DBNull value.
652 2003-12-21 Tim Coleman <tim@timcoleman.com>
654 Fix Integrated Security to work with Domain users.
656 2003-12-06 Sebastien Pouliot <spouliot@videotron.ca>
657 for Daniel Morgan <danielmorgan@verizon.net>
659 Sebastien Pouliot (spouliot@motus.com) helped me greatly with his
662 * Mono.Data.Tds.Protocol/Tds.cs
663 * Mono.Data.Tds.Protocol/Tds70.cs
664 * Mono.Data.Tds.Protocol/TdsConnectionParameters.cs
665 * Mono.Data.Tds.Protocol/TdsPacketSubType.cs
666 * Mono.Data.Tds.Protocol/TdsPacketType.cs: added NT Authentication aka
667 Integrated Security aka Domain Login
669 2003-10-19 Joerg Rosenkranz <joergr@voelcker.com>
671 * Tds.cs (GetStringValue): A string length of 0xFF (255) is not
672 misinterpreted as special value anymore.
674 This is a fix to bug #49835.
676 2003-10-03 Diego Caravana <diego@toth.it>
678 * Tds70.cs: Now handles parameters of type ReturnValue and
680 (BuildParameters): skips the ReturnValue params and builds the
681 set string considering the assigned value for InputOutput ones.
682 (BuildProcedureCall): like the preceding one plus adds the return
683 value to the final select.
685 2003-08-22 Duncan Mak <duncan@ximian.com>
687 * Tds.cs (ProcessEndToken): RecordsAffected was not filled
688 correctly. I've found out that the record count was submitted for
689 TdsPacketSubType.Done. So I changed the behaviour to include this
690 (without deeper knowledge of the TDS protocol). Patch from Jörg
691 Rosenkranz <joergr@voelcker.com>.
693 This is part of a fix to bug #40315.
695 2003-05-07 Miguel de Icaza <miguel@ximian.com>
697 Patches from Igor Nosyryev <nosyryev@attbi.com>
699 * TdsComm.cs: (GetString): GetString adds extra byte to a string
700 at end. It suppose to be '\0', but '\0' is valid value in .NET
701 string, so this byte must not be used.
703 * Tds.cs (GetDecimalValue):Method reads extra byte if a DECIMAL
704 field contains NULL. As a result server's response is parsed
705 incorrectly and this method fires an exception.
707 2003-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
710 (FormatParameter): send input/output parameter names. This way we don't
711 depend on the parameter position being different of the index in the
712 parameter collection.
714 2002-12-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
717 (Disconnect): close the stream and set connected to false.
718 (NextResult): check if after DoneProc we have a ColumnMetadata + Row,
719 which holds the values for the output parameters and read them.
720 (LoadRow): add the values to outputParameters if DoneProc.
721 When executing a stored procedure, we execute the procedure and then
722 select the parameter values.
725 (BuildParameters): check Parameters.
727 * TdsComm.cs: added Close () to close the stream.
729 * TdsConnectionParameters.cs: initialize all the string to be empty.
731 2002-11-04 Tim Coleman (tim@timcoleman.com)
733 New class added to handle (potentially) large
736 Modified to use TdsBigDecimal instead of
737 decimal for transit of (potentially) large
740 2002-11-03 Tim Coleman (tim@timcoleman.com)
741 * TdsColumnStatus.cs:
742 Newly added to handle column metadata
744 Handle table name and column detail results
748 rename TableName BaseTableName for consistency
749 * TdsPacketSubType.cs:
750 We now know what subtype 0xa5 is
751 * TdsPacketTableNameResult.cs:
752 Add means to store table names
754 Add new schema information
756 2002-11-01 Tim Coleman (tim@timcoleman.com)
758 Add DoneProc property
760 *Lots*. Some stuff to get binary types
761 to work, other stuff to get new prepares
763 * TdsPacketEndTokenResult.cs:
764 Add Packetsubtype property
765 * TdsPacketRowResult:
766 Now implements ICollection and IList.
768 2002-10-31 Tim Coleman (tim@timcoleman.com)
770 Added because I can't really use SchemaInfo
773 * TdsPacketColumnInfoResult.cs :
774 ChangeDefinition of schema
778 Add new information to schema
781 2002-10-30 Tim Coleman (tim@timcoleman.com)
782 * TdsColumnSchema.cs:
783 Ditch this in favor of System.Data.Common.SchemaInfo
785 Change ColumnInfo to Schema
787 Uses new SchemaInfo object
792 * TdsPacketColumnInfoResult.cs:
793 * TdsPacketRowResult.cs:
794 Uses new SchemaInfo object
797 2002-10-29 Tim Coleman (tim@timcoleman.com)
799 Add OutputParameters collection
801 Much reformatting, added handling for dates,
802 fixed handling of output parameters, and a
804 * TdsPacketEndTokenResult.cs:
805 Remove incorrect exception
807 Add Logoff packet type.
809 2002-10-28 Tim Coleman (tim@timcoleman.com)
811 Add much handling to get the following types
812 working in queries: string, int, decimal
813 All sorts of other bug fixing and general
818 ProcessColumnInfo was abstracted in Tds.cs
819 and subclassed, because 7.0 provides the information
820 in a different format.
821 * TdsColumnSchema.cs:
822 Added size, precision, scale
824 Fixed GetString because it wasn't working properly
827 Change state and severity to byte instead of int
828 because that is more consitent.
831 2002-10-25 Tim Coleman (tim@timcoleman.com)
832 * TdsPacketErrorResultCollection.cs:
833 New class added for exporting errors
838 * TdsPacketEndTokenResult.cs:
839 * TdsPacketRowResult.cs:
840 Changes to make SqlClient build.
842 2002-10-24 Tim Coleman (tim@timcoleman.com)
844 Added column info, and NextResult/NextRow
846 * TdsColumnSchema.cs:
847 New class added to keep track of column info
849 Many, many changes to get queries working
851 * TdsPacketColumnInfoResult.cs:
852 * TdsPacketColumnNamesResult.cs:
853 Doesn't use a DataColumnCollection anymore
855 * TdsPacketRowResult.cs:
858 2002-10-23 Tim Coleman (tim@timcoleman.com)
864 New classes added. Functionality
865 is split up because different protocols
866 have slight differences.
868 Remove some unnecessary code after
869 the above split, and add in a whole
870 lot more stuff for completeness.
872 Fix Int4. Wrong enum value.
874 Move the encoder out of constructor
875 because we don't know the charset at
877 * TdsConnectionParameters.cs:
879 * TdsPacketEndTokenResult.cs:
880 Implement ToString ()
883 2002-10-22 Tim Coleman (tim@timcoleman.com)
885 More implementation. Does some
886 query stuff now. Can also change
888 * TdsConnectionParameters.cs:
889 Rename Host to DataSource, and
890 add Hostname for the local hostname.
891 * TdsPacketEndTokenResult.cs:
892 Change TODO attribute
897 2002-10-21 Tim Coleman (tim@timcoleman.com)
900 A whole slew of changes to get logon
901 to work (it now works in both TDS 7.0
902 and TDS 4.2) ... danmorg can test with
904 TdsComm has some simplifications too,
905 because C# has some features not present
906 in the Java implementation.
907 * TdsConnectionParameters.cs:
908 Change a few default values.
910 Implement this class.
912 2002-10-20 Tim Coleman (tim@timcoleman.com)
915 * TdsEnvPacketSubType.cs:
917 * TdsPacketColumnInfoResult.cs:
918 * TdsPacketColumnNamesResult.cs:
919 * TdsPacketColumnOrderResult.cs:
920 * TdsPacketControlResult.cs:
921 * TdsPacketEndTokenResult.cs:
922 * TdsPacketErrorResult.cs:
923 * TdsPacketMessageResult.cs:
924 * TdsPacketOutputParam.cs:
925 * TdsPacketResult.cs:
926 * TdsPacketRetStatResult.cs:
927 * TdsPacketRowResult.cs:
928 * TdsPacketSubType.cs:
929 * TdsPacketTableNameResult.cs:
930 * TdsPacketUnknown.cs:
931 New classes added as part of TDS internal implementation.
933 Some work on receiving and interpreting packages received from
934 SQL Server. Still doesn't work completely.
936 Add some methods as part of the ongoing work with Tds.cs
937 * TdsConnectionParameters.cs:
938 Add default values for Encoding ("iso-8859-1"), Port (1433),
941 2002-10-18 Tim Coleman (tim@timcoleman.com)
942 * TdsConnectionInternal:
943 Add some implementation details
945 New class, which will handle the low-level
946 communication with the database
947 * TdsPacketTypeInternal:
948 Add new packet type, TdsPacketTypeInternal.None
949 which is used when no packet is being constructed.
952 2002-10-17 Tim Coleman (tim@timcoleman.com)
955 * TdsCommandInternal.cs:
956 * TdsConnectionInternal.cs:
957 * TdsPacketTypeInternal.cs:
958 * TdsServerTypeInternal.cs:
959 * TdsTransactionInternal.cs:
960 * TdsVersionInternal.cs:
961 New classes added. These are the
962 internal implementations, meant for
963 "wrapping" from other locations.