1 2006-05-03 Senganal T <tsenganal@novell.com>
4 - SetCharset () : Fix to set the Charset correctly.
5 Patch from Andrzej Kurzeja
7 2006-03-08 Senganal T <tsenganal@novell.com>
10 - ProcessColumnInfo () : Set IsAutoIncrement Value for the column.
12 2006-02-10 Senganal T <tsenganal@novell.com>
15 - GetSequentialColumn,BeginLoad, EndLoad,
16 LoadData, SkipRow, SkipToColumnIndex
17 New Methods to Support sequential loading of row data
19 - Skip : Changed arugment type from int to long.
21 2006-01-27 Senganal T <tsenganal@novell.com>
24 - Modified GetSqlMoney () , to set the precision and Scale correctly.
25 - Modified ProcessColumnDetails , to set the schema values correctly.
26 * TdsDataColumn.cs : Added some default values for the column schema
28 2005-12-07 Senganal T <tsenganal@novell.com>
31 - IsValidRowCount () : Find out if a row count is valid.
34 - ProcessEndToken (): Removed some redundant code.
36 2005-12-03 Senganal T <tsenganal@novell.com>
39 - FormatParameter () : For DateTime Parameters, convert the value if
40 specified as a string. Fixes bug#76880
42 2005-11-24 Senganal T <tsenganal@novell.com>
46 - Modifications to set the desired packetsize info when connecting
49 2005-11-23 Senganal T <tsenganal@novell.com>
52 - ResizeOutBuf : Modified to shrink the output buffer if
53 the block size is reduced. Fixed bug #76778
55 2005-10-27 Senganal T <tsenganal@novell.com>
58 - Added a virtual method IsValidRowCount ()
59 - Modified the way RecordsAffected is being counted
62 - Overrode IsValidRowCount(), to check if the rowcount
63 returned by sqlserver is valid.
65 2005-10-19 Senganal T <tsenganal@novell.com>
67 * TdsConnectionParameter.cs :
68 - Added a class variable 'AttachDBFileName' to store the location
71 * Tds70.cs (Connect) :
72 - Modified to append the bytes corresponding to AttachDBFileName
75 2005-08-26 Sureshkumar T <tsureshkumar@novell.com>
77 * Tds70.cs (ExecProc): if no parameters, execute via RPC. parameter
78 support has to be added.
80 * Tds.cs (ExecRPC): added virtual method to execute via RPC.
82 This fixes bug #68978 by enabling execution of sp_reset_connection.
84 2005-08-24 Sureshkumar T <tsureshkumar@novell.com>
86 * Tds.cs: ProcessColumnDetail (): expression columns don't have
89 2005-08-05 Sureshkumar T <tsureshkumar@novell.com>
91 * Tds70.cs: Reset (): remove exec.
93 2005-07-01 Sureshkumar T <tsureshkumar@novell.com>
95 * Tds70.cs: FormatParameter: For uniqueidentifier, pass the guid
96 as '..' rather than hex. Tested with SqlServer 2005.
98 patch from jsinger@eggmouse.com & Hubert FONGARNAND.
100 2005-06-29 Sureshkumar T <tsureshkumar@novell.com>
102 * TdsInternalException.cs: Add ctor for InnerException.
104 * TdsComm.cs: Throw TdsInternalException rather than
107 2005-06-01 Sureshkumar T <tsureshkumar@novell.com>
109 * Tds50.cs: add a special case for datetime parameters to convert
110 to invariant culture. fixes bug #74910.
112 2005-04-07 Sureshkumar T <tsureshkumar@novell.com>
113 Ankit Jain <radical@corewars.org>
115 * TdsComm.cs: GetPhysicalPacket is devided further into seperate
116 methods GetPhysicalPacketHeader and
117 GetPhysicalPacketData. Implemented asynchronous ReadPacket method.
119 * ITds.cs: Added additional methods for asynchronous operations.
121 * Tds.cs: Implemented base methods for asynchronous
122 operations. Version specific derivatives should override for
125 * Tds70.cs: For stored procedure, "exec" is prefixed by
126 default. Implemented asynchronous method for asynchronous command
129 * TdsAsyncState.cs: Added. Internal asynchronous state object.
131 * TdsAsyncResult.cs: Added. Internal asynchronous result
134 2005-04-04 Sureshkumar T <tsureshkumar@novell.com>
136 * Tds50.cs: Pass parameters to the server. cut & paste from
137 Tds70.cs. To make the parmeters work with SybaseClient.
139 2005-03-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
141 * Tds70.cs: turns out that sp_reset_connection procedure might not be
142 found ("Invalid object name 'sp_reset_connection'"). In this case, and
143 if we get a proper state ('Class' property in the SqlException), just
146 * TdsConnectionPool.cs: if the connection cannot be reset, attemp to
147 disconnect it before losing the last reference to it.
149 2005-03-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
151 * Tds.cs: set the charset for MS SQL 2000. Patch from Aleksandar
152 Dezelin. Closes bug #73591.
154 2005-02-04 Sureshkumar T <tsureshkumar@novell.com>
156 * Tds.cs (ProcessEndToken): Added a bool validRowCount and add to
157 recordsAffected count if we meet DoneInProc..
159 2005-02-02 Sureshkumar T <tsureshkumar@novell.com>
161 * TdsConnectionParameters.cs: added a method Reset to initialize
164 2005-01-16 Daniel Morgan <danielmorgan@verizon.net>
166 * Tds.cs: TDS 5.0 (Sybase) needs to get a DECIMAL
167 differently than TDS 7.0 (SqlServer). Fixes bug 70228.
168 Thanks to Sebastien Robitaille for the patch for Sybase.
170 2005-01-07 Sureshkumar T <tsureshkumar@novell.com>
173 - add a special case for datetime parameters to convert to
174 invariant culture. fixes bug #70209.
175 - change format to MMM dd yyyy, this works for both client locale
176 change and server login locale change. fixes bug #66564.
178 2005-01-06 Sureshkumar T <tsureshkumar@novell.com>
180 * Tds.cs: change the typecast to ushort for
181 GetDateTimeValue. fixes bug #70651.
183 2004-11-06 Gert Driesen <drieseng@users.sourceforge.net>
184 * Tds70.cs: avoid unnecessary property call.
186 2004-11-01 Gert Driesen <drieseng@users.sourceforge.net>
188 * Tds70.cs: when type of parameter value is enum, convert value to
189 underlying type before converting value to string as we'd otherwise
190 be using the enum field name
192 2004-10-30 Umadevi S <sumadevi@novell.com>
193 * Tds.cs : GetColumnValue method: handling null guid values correctly.
194 This fixes bug #68804.
195 Thanks for the patch /bug report by Aleksandar Dezelin
197 2004-10-14 Umadevi S <sumadevi@novell.com>
198 * Tds.cs : GetTextValue method- handling zero length string correctly
199 This fixes bug #67916
201 2004-08-14 Geoff Norton <gnorton@customerdna.com>
205 Make Tds70 work on Big Endian machines.
206 BitConverter uses unsafe and returns things in host order; we need to
207 swap some values to put them back into the approrpiate order for the wire.
209 2004-08-09 Sureshkumar T <tsureshkumar@novell.com>
210 * Tds70.cs - Prepare Method stored procedure handle read problem fixed.
212 2004-06-30 Umadevi S <sumadevi@novell.com>
213 * Tds.cs - In the NextResult method handling TdsPacketSubType. TableName.
216 2004-04-22 Sebastien Pouliot <sebastien@ximian.com>
218 * Tds70.cs: Updated to match changes in Mono.Security.dll.
220 2004-04-05 Lluis Sanchez Gual <lluis@ximian.com>
222 * ITds.cs: Added method for reseting a connection.
223 * Tds.cs: Added base implementation for ITds.Reset.
224 * Tds70.cs: Implemented ITds.Reset().
225 * TdsConnectionPool.cs: Implemented connection pool that can be reused by
228 2004-04-01 Lluis Sanchez Gual <lluis@ximian.com>
230 * Tds.cs: All methods now return DBNull instead of null for null values.
231 * Tds50.cs, Tds70.cs: Support parameters with DBNull value.
233 2003-12-21 Tim Coleman <tim@timcoleman.com>
235 Fix Integrated Security to work with Domain users.
237 2003-12-06 Sebastien Pouliot <spouliot@videotron.ca>
238 for Daniel Morgan <danielmorgan@verizon.net>
240 Sebastien Pouliot (spouliot@motus.com) helped me greatly with his
243 * Mono.Data.Tds.Protocol/Tds.cs
244 * Mono.Data.Tds.Protocol/Tds70.cs
245 * Mono.Data.Tds.Protocol/TdsConnectionParameters.cs
246 * Mono.Data.Tds.Protocol/TdsPacketSubType.cs
247 * Mono.Data.Tds.Protocol/TdsPacketType.cs: added NT Authentication aka
248 Integrated Security aka Domain Login
250 2003-10-19 Joerg Rosenkranz <joergr@voelcker.com>
252 * Tds.cs (GetStringValue): A string length of 0xFF (255) is not
253 misinterpreted as special value anymore.
255 This is a fix to bug #49835.
257 2003-10-03 Diego Caravana <diego@toth.it>
259 * Tds70.cs: Now handles parameters of type ReturnValue and
261 (BuildParameters): skips the ReturnValue params and builds the
262 set string considering the assigned value for InputOutput ones.
263 (BuildProcedureCall): like the preceding one plus adds the return
264 value to the final select.
266 2003-08-22 Duncan Mak <duncan@ximian.com>
268 * Tds.cs (ProcessEndToken): RecordsAffected was not filled
269 correctly. I've found out that the record count was submitted for
270 TdsPacketSubType.Done. So I changed the behaviour to include this
271 (without deeper knowledge of the TDS protocol). Patch from Jörg
272 Rosenkranz <joergr@voelcker.com>.
274 This is part of a fix to bug #40315.
276 2003-05-07 Miguel de Icaza <miguel@ximian.com>
278 Patches from Igor Nosyryev <nosyryev@attbi.com>
280 * TdsComm.cs: (GetString): GetString adds extra byte to a string
281 at end. It suppose to be '\0', but '\0' is valid value in .NET
282 string, so this byte must not be used.
284 * Tds.cs (GetDecimalValue):Method reads extra byte if a DECIMAL
285 field contains NULL. As a result server's response is parsed
286 incorrectly and this method fires an exception.
288 2003-01-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
291 (FormatParameter): send input/output parameter names. This way we don't
292 depend on the parameter position being different of the index in the
293 parameter collection.
295 2002-12-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
298 (Disconnect): close the stream and set connected to false.
299 (NextResult): check if after DoneProc we have a ColumnMetadata + Row,
300 which holds the values for the output parameters and read them.
301 (LoadRow): add the values to outputParameters if DoneProc.
302 When executing a stored procedure, we execute the procedure and then
303 select the parameter values.
306 (BuildParameters): check Parameters.
308 * TdsComm.cs: added Close () to close the stream.
310 * TdsConnectionParameters.cs: initialize all the string to be empty.
312 2002-11-04 Tim Coleman (tim@timcoleman.com)
314 New class added to handle (potentially) large
317 Modified to use TdsBigDecimal instead of
318 decimal for transit of (potentially) large
321 2002-11-03 Tim Coleman (tim@timcoleman.com)
322 * TdsColumnStatus.cs:
323 Newly added to handle column metadata
325 Handle table name and column detail results
329 rename TableName BaseTableName for consistency
330 * TdsPacketSubType.cs:
331 We now know what subtype 0xa5 is
332 * TdsPacketTableNameResult.cs:
333 Add means to store table names
335 Add new schema information
337 2002-11-01 Tim Coleman (tim@timcoleman.com)
339 Add DoneProc property
341 *Lots*. Some stuff to get binary types
342 to work, other stuff to get new prepares
344 * TdsPacketEndTokenResult.cs:
345 Add Packetsubtype property
346 * TdsPacketRowResult:
347 Now implements ICollection and IList.
349 2002-10-31 Tim Coleman (tim@timcoleman.com)
351 Added because I can't really use SchemaInfo
354 * TdsPacketColumnInfoResult.cs :
355 ChangeDefinition of schema
359 Add new information to schema
362 2002-10-30 Tim Coleman (tim@timcoleman.com)
363 * TdsColumnSchema.cs:
364 Ditch this in favor of System.Data.Common.SchemaInfo
366 Change ColumnInfo to Schema
368 Uses new SchemaInfo object
373 * TdsPacketColumnInfoResult.cs:
374 * TdsPacketRowResult.cs:
375 Uses new SchemaInfo object
378 2002-10-29 Tim Coleman (tim@timcoleman.com)
380 Add OutputParameters collection
382 Much reformatting, added handling for dates,
383 fixed handling of output parameters, and a
385 * TdsPacketEndTokenResult.cs:
386 Remove incorrect exception
388 Add Logoff packet type.
390 2002-10-28 Tim Coleman (tim@timcoleman.com)
392 Add much handling to get the following types
393 working in queries: string, int, decimal
394 All sorts of other bug fixing and general
399 ProcessColumnInfo was abstracted in Tds.cs
400 and subclassed, because 7.0 provides the information
401 in a different format.
402 * TdsColumnSchema.cs:
403 Added size, precision, scale
405 Fixed GetString because it wasn't working properly
408 Change state and severity to byte instead of int
409 because that is more consitent.
412 2002-10-25 Tim Coleman (tim@timcoleman.com)
413 * TdsPacketErrorResultCollection.cs:
414 New class added for exporting errors
419 * TdsPacketEndTokenResult.cs:
420 * TdsPacketRowResult.cs:
421 Changes to make SqlClient build.
423 2002-10-24 Tim Coleman (tim@timcoleman.com)
425 Added column info, and NextResult/NextRow
427 * TdsColumnSchema.cs:
428 New class added to keep track of column info
430 Many, many changes to get queries working
432 * TdsPacketColumnInfoResult.cs:
433 * TdsPacketColumnNamesResult.cs:
434 Doesn't use a DataColumnCollection anymore
436 * TdsPacketRowResult.cs:
439 2002-10-23 Tim Coleman (tim@timcoleman.com)
445 New classes added. Functionality
446 is split up because different protocols
447 have slight differences.
449 Remove some unnecessary code after
450 the above split, and add in a whole
451 lot more stuff for completeness.
453 Fix Int4. Wrong enum value.
455 Move the encoder out of constructor
456 because we don't know the charset at
458 * TdsConnectionParameters.cs:
460 * TdsPacketEndTokenResult.cs:
461 Implement ToString ()
464 2002-10-22 Tim Coleman (tim@timcoleman.com)
466 More implementation. Does some
467 query stuff now. Can also change
469 * TdsConnectionParameters.cs:
470 Rename Host to DataSource, and
471 add Hostname for the local hostname.
472 * TdsPacketEndTokenResult.cs:
473 Change TODO attribute
478 2002-10-21 Tim Coleman (tim@timcoleman.com)
481 A whole slew of changes to get logon
482 to work (it now works in both TDS 7.0
483 and TDS 4.2) ... danmorg can test with
485 TdsComm has some simplifications too,
486 because C# has some features not present
487 in the Java implementation.
488 * TdsConnectionParameters.cs:
489 Change a few default values.
491 Implement this class.
493 2002-10-20 Tim Coleman (tim@timcoleman.com)
496 * TdsEnvPacketSubType.cs:
498 * TdsPacketColumnInfoResult.cs:
499 * TdsPacketColumnNamesResult.cs:
500 * TdsPacketColumnOrderResult.cs:
501 * TdsPacketControlResult.cs:
502 * TdsPacketEndTokenResult.cs:
503 * TdsPacketErrorResult.cs:
504 * TdsPacketMessageResult.cs:
505 * TdsPacketOutputParam.cs:
506 * TdsPacketResult.cs:
507 * TdsPacketRetStatResult.cs:
508 * TdsPacketRowResult.cs:
509 * TdsPacketSubType.cs:
510 * TdsPacketTableNameResult.cs:
511 * TdsPacketUnknown.cs:
512 New classes added as part of TDS internal implementation.
514 Some work on receiving and interpreting packages received from
515 SQL Server. Still doesn't work completely.
517 Add some methods as part of the ongoing work with Tds.cs
518 * TdsConnectionParameters.cs:
519 Add default values for Encoding ("iso-8859-1"), Port (1433),
522 2002-10-18 Tim Coleman (tim@timcoleman.com)
523 * TdsConnectionInternal:
524 Add some implementation details
526 New class, which will handle the low-level
527 communication with the database
528 * TdsPacketTypeInternal:
529 Add new packet type, TdsPacketTypeInternal.None
530 which is used when no packet is being constructed.
533 2002-10-17 Tim Coleman (tim@timcoleman.com)
536 * TdsCommandInternal.cs:
537 * TdsConnectionInternal.cs:
538 * TdsPacketTypeInternal.cs:
539 * TdsServerTypeInternal.cs:
540 * TdsTransactionInternal.cs:
541 * TdsVersionInternal.cs:
542 New classes added. These are the
543 internal implementations, meant for
544 "wrapping" from other locations.