1 2007-07-22 Nagappan A <anagappan@novell.com>
3 * TdsBulkCopy.cs: Added new file to handle the bulk copy
6 * Tds.cs (ExecBulkCopyMetaData, ExecBulkCopy): Added new methods
7 to send and receive bulk data information.
9 * Tds70.cs (IsBlobType, IsLargeType): Moved methods to Tds.cs.
11 * TdsComm.cs: Fixed 2.0 compilation warnings.
13 * Tds50.cs: Fixed compilation warnings.
15 * Tds42.cs: Fixed compilation warnings.
17 * TdsPacketType.cs: Added Bulk type.
19 2007-05-30 Nagappan A <anagappan@novell.com>
21 * TdsColumnType.cs: Added new types BigNVarChar, Variant to
22 TdsColumnType enumerator.
24 * TdsComm.cs (Append): Appends new data types to the TDS data
25 stream and also implemented new Append overloaded method.
27 * Tds.cs (BeginLoad): New case to handle BigBinary.
28 (GetMoneyValue): Simplified the switch / case conditions.
30 * TdsDataRow.cs: Instance of index checks for the given index to
31 be less than list count, else an exception will be thrown.
33 * Tds70.cs (sqlserverMagic): Modified byte values.
34 (ExecProc): Now directly calls ExecRPC for any number of
35 parameters being passed.
36 (ExecRPC): New logic to handle parameters.
37 (WriteParameterInfo): New private method to generate information
39 (ProcessReturnStatus): New protected method to process the return
40 status of output parameter value.
42 2007-03-21 Nagappan A <anagappan@novell.com>
44 * Tds70.cs (BuildParameters, FormatParameter): Include @ before
45 parameter name, if doesnot exist.
47 2006-07-18 Dean Brettle <dean@brettle.com>
49 * Tds70.cs : Fixed bug in FormatParameter() which caused
50 ArgumentOutOfRangeException when formatting 0-length varbinary values
53 2006-05-03 Senganal T <tsenganal@novell.com>
56 - SetCharset () : Fix to set the Charset correctly.
57 Patch from Andrzej Kurzeja
59 2006-03-08 Senganal T <tsenganal@novell.com>
62 - ProcessColumnInfo () : Set IsAutoIncrement Value for the column.
64 2006-02-10 Senganal T <tsenganal@novell.com>
67 - GetSequentialColumn,BeginLoad, EndLoad,
68 LoadData, SkipRow, SkipToColumnIndex
69 New Methods to Support sequential loading of row data
71 - Skip : Changed arugment type from int to long.
73 2006-01-27 Senganal T <tsenganal@novell.com>
76 - Modified GetSqlMoney () , to set the precision and Scale correctly.
77 - Modified ProcessColumnDetails , to set the schema values correctly.
78 * TdsDataColumn.cs : Added some default values for the column schema
80 2005-12-07 Senganal T <tsenganal@novell.com>
83 - IsValidRowCount () : Find out if a row count is valid.
86 - ProcessEndToken (): Removed some redundant code.
88 2005-12-03 Senganal T <tsenganal@novell.com>
91 - FormatParameter () : For DateTime Parameters, convert the value if
92 specified as a string. Fixes bug#76880
94 2005-11-24 Senganal T <tsenganal@novell.com>
98 - Modifications to set the desired packetsize info when connecting
101 2005-11-23 Senganal T <tsenganal@novell.com>
104 - ResizeOutBuf : Modified to shrink the output buffer if
105 the block size is reduced. Fixed bug #76778
107 2005-10-27 Senganal T <tsenganal@novell.com>
110 - Added a virtual method IsValidRowCount ()
111 - Modified the way RecordsAffected is being counted
114 - Overrode IsValidRowCount(), to check if the rowcount
115 returned by sqlserver is valid.
117 2005-10-19 Senganal T <tsenganal@novell.com>
119 * TdsConnectionParameter.cs :
120 - Added a class variable 'AttachDBFileName' to store the location
123 * Tds70.cs (Connect) :
124 - Modified to append the bytes corresponding to AttachDBFileName
125 into the Tds Packets.
127 2005-08-26 Sureshkumar T <tsureshkumar@novell.com>
129 * Tds70.cs (ExecProc): if no parameters, execute via RPC. parameter
130 support has to be added.
132 * Tds.cs (ExecRPC): added virtual method to execute via RPC.
134 This fixes bug #68978 by enabling execution of sp_reset_connection.
136 2005-08-24 Sureshkumar T <tsureshkumar@novell.com>
138 * Tds.cs: ProcessColumnDetail (): expression columns don't have
141 2005-08-05 Sureshkumar T <tsureshkumar@novell.com>
143 * Tds70.cs: Reset (): remove exec.
145 2005-07-01 Sureshkumar T <tsureshkumar@novell.com>
147 * Tds70.cs: FormatParameter: For uniqueidentifier, pass the guid
148 as '..' rather than hex. Tested with SqlServer 2005.
150 patch from jsinger@eggmouse.com & Hubert FONGARNAND.
152 2005-06-29 Sureshkumar T <tsureshkumar@novell.com>
154 * TdsInternalException.cs: Add ctor for InnerException.
156 * TdsComm.cs: Throw TdsInternalException rather than
159 2005-06-01 Sureshkumar T <tsureshkumar@novell.com>
161 * Tds50.cs: add a special case for datetime parameters to convert
162 to invariant culture. fixes bug #74910.
164 2005-04-07 Sureshkumar T <tsureshkumar@novell.com>
165 Ankit Jain <radical@corewars.org>
167 * TdsComm.cs: GetPhysicalPacket is devided further into seperate
168 methods GetPhysicalPacketHeader and
169 GetPhysicalPacketData. Implemented asynchronous ReadPacket method.
171 * ITds.cs: Added additional methods for asynchronous operations.
173 * Tds.cs: Implemented base methods for asynchronous
174 operations. Version specific derivatives should override for
177 * Tds70.cs: For stored procedure, "exec" is prefixed by
178 default. Implemented asynchronous method for asynchronous command
181 * TdsAsyncState.cs: Added. Internal asynchronous state object.
183 * TdsAsyncResult.cs: Added. Internal asynchronous result
186 2005-04-04 Sureshkumar T <tsureshkumar@novell.com>
188 * Tds50.cs: Pass parameters to the server. cut & paste from
189 Tds70.cs. To make the parmeters work with SybaseClient.
191 2005-03-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
193 * Tds70.cs: turns out that sp_reset_connection procedure might not be
194 found ("Invalid object name 'sp_reset_connection'"). In this case, and
195 if we get a proper state ('Class' property in the SqlException), just
198 * TdsConnectionPool.cs: if the connection cannot be reset, attemp to
199 disconnect it before losing the last reference to it.
201 2005-03-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
203 * Tds.cs: set the charset for MS SQL 2000. Patch from Aleksandar
204 Dezelin. Closes bug #73591.
206 2005-02-04 Sureshkumar T <tsureshkumar@novell.com>
208 * Tds.cs (ProcessEndToken): Added a bool validRowCount and add to
209 recordsAffected count if we meet DoneInProc..
211 2005-02-02 Sureshkumar T <tsureshkumar@novell.com>
213 * TdsConnectionParameters.cs: added a method Reset to initialize
216 2005-01-16 Daniel Morgan <danielmorgan@verizon.net>
218 * Tds.cs: TDS 5.0 (Sybase) needs to get a DECIMAL
219 differently than TDS 7.0 (SqlServer). Fixes bug 70228.
220 Thanks to Sebastien Robitaille for the patch for Sybase.
222 2005-01-07 Sureshkumar T <tsureshkumar@novell.com>
225 - add a special case for datetime parameters to convert to
226 invariant culture. fixes bug #70209.
227 - change format to MMM dd yyyy, this works for both client locale
228 change and server login locale change. fixes bug #66564.
230 2005-01-06 Sureshkumar T <tsureshkumar@novell.com>
232 * Tds.cs: change the typecast to ushort for
233 GetDateTimeValue. fixes bug #70651.
235 2004-11-06 Gert Driesen <drieseng@users.sourceforge.net>
236 * Tds70.cs: avoid unnecessary property call.
238 2004-11-01 Gert Driesen <drieseng@users.sourceforge.net>
240 * Tds70.cs: when type of parameter value is enum, convert value to
241 underlying type before converting value to string as we'd otherwise
242 be using the enum field name
244 2004-10-30 Umadevi S <sumadevi@novell.com>
245 * Tds.cs : GetColumnValue method: handling null guid values correctly.
246 This fixes bug #68804.
247 Thanks for the patch /bug report by Aleksandar Dezelin
249 2004-10-14 Umadevi S <sumadevi@novell.com>
250 * Tds.cs : GetTextValue method- handling zero length string correctly
251 This fixes bug #67916
253 2004-08-14 Geoff Norton <gnorton@customerdna.com>
257 Make Tds70 work on Big Endian machines.
258 BitConverter uses unsafe and returns things in host order; we need to
259 swap some values to put them back into the approrpiate order for the wire.
261 2004-08-09 Sureshkumar T <tsureshkumar@novell.com>
262 * Tds70.cs - Prepare Method stored procedure handle read problem fixed.
264 2004-06-30 Umadevi S <sumadevi@novell.com>
265 * Tds.cs - In the NextResult method handling TdsPacketSubType. TableName.
268 2004-04-22 Sebastien Pouliot <sebastien@ximian.com>
270 * Tds70.cs: Updated to match changes in Mono.Security.dll.
272 2004-04-05 Lluis Sanchez Gual <lluis@ximian.com>
274 * ITds.cs: Added method for reseting a connection.
275 * Tds.cs: Added base implementation for ITds.Reset.
276 * Tds70.cs: Implemented ITds.Reset().
277 * TdsConnectionPool.cs: Implemented connection pool that can be reused by
280 2004-04-01 Lluis Sanchez Gual <lluis@ximian.com>
282 * Tds.cs: All methods now return DBNull instead of null for null values.
283 * Tds50.cs, Tds70.cs: Support parameters with DBNull value.
285 2003-12-21 Tim Coleman <tim@timcoleman.com>
287 Fix Integrated Security to work with Domain users.
289 2003-12-06 Sebastien Pouliot <spouliot@videotron.ca>
290 for Daniel Morgan <danielmorgan@verizon.net>
292 Sebastien Pouliot (spouliot@motus.com) helped me greatly with his
295 * Mono.Data.Tds.Protocol/Tds.cs
296 * Mono.Data.Tds.Protocol/Tds70.cs
297 * Mono.Data.Tds.Protocol/TdsConnectionParameters.cs
298 * Mono.Data.Tds.Protocol/TdsPacketSubType.cs
299 * Mono.Data.Tds.Protocol/TdsPacketType.cs: added NT Authentication aka
300 Integrated Security aka Domain Login
302 2003-10-19 Joerg Rosenkranz <joergr@voelcker.com>
304 * Tds.cs (GetStringValue): A string length of 0xFF (255) is not
305 misinterpreted as special value anymore.
307 This is a fix to bug #49835.
309 2003-10-03 Diego Caravana <diego@toth.it>
311 * Tds70.cs: Now handles parameters of type ReturnValue and
313 (BuildParameters): skips the ReturnValue params and builds the
314 set string considering the assigned value for InputOutput ones.
315 (BuildProcedureCall): like the preceding one plus adds the return
316 value to the final select.
318 2003-08-22 Duncan Mak <duncan@ximian.com>
320 * Tds.cs (ProcessEndToken): RecordsAffected was not filled
321 correctly. I've found out that the record count was submitted for
322 TdsPacketSubType.Done. So I changed the behaviour to include this
323 (without deeper knowledge of the TDS protocol). Patch from Jörg
324 Rosenkranz <joergr@voelcker.com>.
326 This is part of a fix to bug #40315.
328 2003-05-07 Miguel de Icaza <miguel@ximian.com>
330 Patches from Igor Nosyryev <nosyryev@attbi.com>
332 * TdsComm.cs: (GetString): GetString adds extra byte to a string
333 at end. It suppose to be '\0', but '\0' is valid value in .NET
334 string, so this byte must not be used.
336 * Tds.cs (GetDecimalValue):Method reads extra byte if a DECIMAL
337 field contains NULL. As a result server's response is parsed
338 incorrectly and this method fires an exception.
340 2003-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
343 (FormatParameter): send input/output parameter names. This way we don't
344 depend on the parameter position being different of the index in the
345 parameter collection.
347 2002-12-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
350 (Disconnect): close the stream and set connected to false.
351 (NextResult): check if after DoneProc we have a ColumnMetadata + Row,
352 which holds the values for the output parameters and read them.
353 (LoadRow): add the values to outputParameters if DoneProc.
354 When executing a stored procedure, we execute the procedure and then
355 select the parameter values.
358 (BuildParameters): check Parameters.
360 * TdsComm.cs: added Close () to close the stream.
362 * TdsConnectionParameters.cs: initialize all the string to be empty.
364 2002-11-04 Tim Coleman (tim@timcoleman.com)
366 New class added to handle (potentially) large
369 Modified to use TdsBigDecimal instead of
370 decimal for transit of (potentially) large
373 2002-11-03 Tim Coleman (tim@timcoleman.com)
374 * TdsColumnStatus.cs:
375 Newly added to handle column metadata
377 Handle table name and column detail results
381 rename TableName BaseTableName for consistency
382 * TdsPacketSubType.cs:
383 We now know what subtype 0xa5 is
384 * TdsPacketTableNameResult.cs:
385 Add means to store table names
387 Add new schema information
389 2002-11-01 Tim Coleman (tim@timcoleman.com)
391 Add DoneProc property
393 *Lots*. Some stuff to get binary types
394 to work, other stuff to get new prepares
396 * TdsPacketEndTokenResult.cs:
397 Add Packetsubtype property
398 * TdsPacketRowResult:
399 Now implements ICollection and IList.
401 2002-10-31 Tim Coleman (tim@timcoleman.com)
403 Added because I can't really use SchemaInfo
406 * TdsPacketColumnInfoResult.cs :
407 ChangeDefinition of schema
411 Add new information to schema
414 2002-10-30 Tim Coleman (tim@timcoleman.com)
415 * TdsColumnSchema.cs:
416 Ditch this in favor of System.Data.Common.SchemaInfo
418 Change ColumnInfo to Schema
420 Uses new SchemaInfo object
425 * TdsPacketColumnInfoResult.cs:
426 * TdsPacketRowResult.cs:
427 Uses new SchemaInfo object
430 2002-10-29 Tim Coleman (tim@timcoleman.com)
432 Add OutputParameters collection
434 Much reformatting, added handling for dates,
435 fixed handling of output parameters, and a
437 * TdsPacketEndTokenResult.cs:
438 Remove incorrect exception
440 Add Logoff packet type.
442 2002-10-28 Tim Coleman (tim@timcoleman.com)
444 Add much handling to get the following types
445 working in queries: string, int, decimal
446 All sorts of other bug fixing and general
451 ProcessColumnInfo was abstracted in Tds.cs
452 and subclassed, because 7.0 provides the information
453 in a different format.
454 * TdsColumnSchema.cs:
455 Added size, precision, scale
457 Fixed GetString because it wasn't working properly
460 Change state and severity to byte instead of int
461 because that is more consitent.
464 2002-10-25 Tim Coleman (tim@timcoleman.com)
465 * TdsPacketErrorResultCollection.cs:
466 New class added for exporting errors
471 * TdsPacketEndTokenResult.cs:
472 * TdsPacketRowResult.cs:
473 Changes to make SqlClient build.
475 2002-10-24 Tim Coleman (tim@timcoleman.com)
477 Added column info, and NextResult/NextRow
479 * TdsColumnSchema.cs:
480 New class added to keep track of column info
482 Many, many changes to get queries working
484 * TdsPacketColumnInfoResult.cs:
485 * TdsPacketColumnNamesResult.cs:
486 Doesn't use a DataColumnCollection anymore
488 * TdsPacketRowResult.cs:
491 2002-10-23 Tim Coleman (tim@timcoleman.com)
497 New classes added. Functionality
498 is split up because different protocols
499 have slight differences.
501 Remove some unnecessary code after
502 the above split, and add in a whole
503 lot more stuff for completeness.
505 Fix Int4. Wrong enum value.
507 Move the encoder out of constructor
508 because we don't know the charset at
510 * TdsConnectionParameters.cs:
512 * TdsPacketEndTokenResult.cs:
513 Implement ToString ()
516 2002-10-22 Tim Coleman (tim@timcoleman.com)
518 More implementation. Does some
519 query stuff now. Can also change
521 * TdsConnectionParameters.cs:
522 Rename Host to DataSource, and
523 add Hostname for the local hostname.
524 * TdsPacketEndTokenResult.cs:
525 Change TODO attribute
530 2002-10-21 Tim Coleman (tim@timcoleman.com)
533 A whole slew of changes to get logon
534 to work (it now works in both TDS 7.0
535 and TDS 4.2) ... danmorg can test with
537 TdsComm has some simplifications too,
538 because C# has some features not present
539 in the Java implementation.
540 * TdsConnectionParameters.cs:
541 Change a few default values.
543 Implement this class.
545 2002-10-20 Tim Coleman (tim@timcoleman.com)
548 * TdsEnvPacketSubType.cs:
550 * TdsPacketColumnInfoResult.cs:
551 * TdsPacketColumnNamesResult.cs:
552 * TdsPacketColumnOrderResult.cs:
553 * TdsPacketControlResult.cs:
554 * TdsPacketEndTokenResult.cs:
555 * TdsPacketErrorResult.cs:
556 * TdsPacketMessageResult.cs:
557 * TdsPacketOutputParam.cs:
558 * TdsPacketResult.cs:
559 * TdsPacketRetStatResult.cs:
560 * TdsPacketRowResult.cs:
561 * TdsPacketSubType.cs:
562 * TdsPacketTableNameResult.cs:
563 * TdsPacketUnknown.cs:
564 New classes added as part of TDS internal implementation.
566 Some work on receiving and interpreting packages received from
567 SQL Server. Still doesn't work completely.
569 Add some methods as part of the ongoing work with Tds.cs
570 * TdsConnectionParameters.cs:
571 Add default values for Encoding ("iso-8859-1"), Port (1433),
574 2002-10-18 Tim Coleman (tim@timcoleman.com)
575 * TdsConnectionInternal:
576 Add some implementation details
578 New class, which will handle the low-level
579 communication with the database
580 * TdsPacketTypeInternal:
581 Add new packet type, TdsPacketTypeInternal.None
582 which is used when no packet is being constructed.
585 2002-10-17 Tim Coleman (tim@timcoleman.com)
588 * TdsCommandInternal.cs:
589 * TdsConnectionInternal.cs:
590 * TdsPacketTypeInternal.cs:
591 * TdsServerTypeInternal.cs:
592 * TdsTransactionInternal.cs:
593 * TdsVersionInternal.cs:
594 New classes added. These are the
595 internal implementations, meant for
596 "wrapping" from other locations.