* roottypes.cs: Rename from tree.cs.
[mono.git] / mcs / class / Mono.Data.Tds / Mono.Data.Tds.Protocol / ChangeLog
1 2006-05-03  Senganal T  <tsenganal@novell.com>
2
3         * Tds.cs : 
4                 - SetCharset () : Fix to set the Charset correctly.
5                 Patch from Andrzej Kurzeja
6
7 2006-03-08  Senganal T  <tsenganal@novell.com>
8
9         * Tds70.cs :
10                 - ProcessColumnInfo () : Set IsAutoIncrement Value for the column.
11
12 2006-02-10  Senganal T  <tsenganal@novell.com>
13
14         * Tds.cs :
15                 - GetSequentialColumn,BeginLoad, EndLoad,
16                 LoadData, SkipRow, SkipToColumnIndex
17                 New Methods to Support sequential loading of row data
18         * TdsComm.cs :
19                 - Skip : Changed arugment type from int to long.
20
21 2006-01-27  Senganal T  <tsenganal@novell.com>
22
23         * Tds.cs :
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
27         
28 2005-12-07  Senganal T  <tsenganal@novell.com>
29
30         * Tds50.cs :
31                 - IsValidRowCount () : Find out if a row count is valid.
32                 Fixes bug #76280
33         * Tds.cs :
34                 - ProcessEndToken (): Removed some redundant code.
35
36 2005-12-03  Senganal T  <tsenganal@novell.com>
37
38         * Tds70.cs : 
39                 - FormatParameter () : For DateTime Parameters, convert the value if
40                 specified as a string. Fixes bug#76880
41
42 2005-11-24  Senganal T  <tsenganal@novell.com>
43
44         * Tds.cs 
45         * Tds70.cs : 
46                 - Modifications to set the desired packetsize info when connecting
47                 to database
48
49 2005-11-23  Senganal T  <tsenganal@novell.com>
50         
51         * TdsComm.cs : 
52                 - ResizeOutBuf : Modified to shrink the output buffer if
53                 the block size is reduced. Fixed bug #76778     
54
55 2005-10-27  Senganal T  <tsenganal@novell.com>
56         
57         * Tds.cs :
58                 - Added a virtual method IsValidRowCount ()
59                 - Modified the way RecordsAffected is being counted
60
61         * Tds70.cs :
62                 - Overrode IsValidRowCount(), to check if the rowcount
63                 returned by sqlserver is valid.
64
65 2005-10-19  Senganal T  <tsenganal@novell.com>
66
67         * TdsConnectionParameter.cs :
68                 - Added a class variable 'AttachDBFileName' to store the location
69                 of the DB file.
70
71         * Tds70.cs (Connect) :
72                 - Modified to append the bytes corresponding to AttachDBFileName 
73                 into the Tds Packets. 
74
75 2005-08-26  Sureshkumar T  <tsureshkumar@novell.com>
76
77         * Tds70.cs (ExecProc): if no parameters, execute via RPC. parameter
78         support has to be added.
79
80         * Tds.cs (ExecRPC): added virtual method to execute via RPC.
81
82         This fixes bug #68978 by enabling execution of sp_reset_connection.
83
84 2005-08-24  Sureshkumar T  <tsureshkumar@novell.com>
85
86         * Tds.cs: ProcessColumnDetail (): expression columns don't have
87         baseTableName.
88
89 2005-08-05  Sureshkumar T  <tsureshkumar@novell.com>
90
91         * Tds70.cs: Reset (): remove exec.
92
93 2005-07-01  Sureshkumar T  <tsureshkumar@novell.com>
94
95         * Tds70.cs: FormatParameter: For uniqueidentifier, pass the guid
96         as '..' rather than hex. Tested with SqlServer 2005.
97
98         patch from jsinger@eggmouse.com & Hubert FONGARNAND.
99
100 2005-06-29  Sureshkumar T  <tsureshkumar@novell.com>
101
102         * TdsInternalException.cs: Add ctor for InnerException.
103
104         * TdsComm.cs: Throw TdsInternalException rather than
105         SocketException.
106
107 2005-06-01  Sureshkumar T  <tsureshkumar@novell.com>
108
109         * Tds50.cs: add a special case for datetime parameters to convert
110         to invariant culture. fixes bug #74910.
111
112 2005-04-07  Sureshkumar T  <tsureshkumar@novell.com>
113             Ankit Jain     <radical@corewars.org>
114
115         * TdsComm.cs: GetPhysicalPacket is devided further into seperate
116         methods GetPhysicalPacketHeader and
117         GetPhysicalPacketData. Implemented asynchronous ReadPacket method.
118
119         * ITds.cs: Added additional methods for asynchronous operations.
120
121         * Tds.cs: Implemented base methods for asynchronous
122         operations. Version specific derivatives should override for
123         specific operations.
124
125         * Tds70.cs: For stored procedure, "exec" is prefixed by
126         default. Implemented asynchronous method for asynchronous command
127         execution.
128
129         * TdsAsyncState.cs: Added. Internal asynchronous state object.
130
131         * TdsAsyncResult.cs: Added. Internal asynchronous result
132         implementation.
133
134 2005-04-04  Sureshkumar T  <tsureshkumar@novell.com>
135
136         * Tds50.cs: Pass parameters to the server. cut & paste from
137         Tds70.cs. To make the parmeters work with SybaseClient.
138
139 2005-03-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
140
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
144         ignore the error.
145
146         * TdsConnectionPool.cs: if the connection cannot be reset, attemp to
147         disconnect it before losing the last reference to it.
148
149 2005-03-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
150
151         * Tds.cs: set the charset for MS SQL 2000. Patch from Aleksandar
152         Dezelin. Closes bug #73591.
153
154 2005-02-04  Sureshkumar T  <tsureshkumar@novell.com>
155
156         * Tds.cs (ProcessEndToken): Added a bool validRowCount and add to
157         recordsAffected count if we meet DoneInProc..
158
159 2005-02-02  Sureshkumar T  <tsureshkumar@novell.com>
160
161         * TdsConnectionParameters.cs: added a method Reset to initialize
162         parameters again.
163
164 2005-01-16  Daniel Morgan <danielmorgan@verizon.net>
165
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.
169         
170 2005-01-07  Sureshkumar T  <tsureshkumar@novell.com>
171
172         * Tds70.cs : 
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.
177
178 2005-01-06  Sureshkumar T  <tsureshkumar@novell.com>
179
180         * Tds.cs: change the typecast to ushort for
181         GetDateTimeValue. fixes bug #70651.
182
183 2004-11-06 Gert Driesen <drieseng@users.sourceforge.net>
184         * Tds70.cs: avoid unnecessary property call.    
185
186 2004-11-01 Gert Driesen <drieseng@users.sourceforge.net>
187         
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
191
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
196
197 2004-10-14 Umadevi S <sumadevi@novell.com>
198         * Tds.cs : GetTextValue method- handling zero length string correctly
199                 This fixes bug #67916
200
201 2004-08-14 Geoff Norton <gnorton@customerdna.com>
202
203         * TdsComm.cs: 
204           Tds70.cs: 
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.
208
209 2004-08-09 Sureshkumar T <tsureshkumar@novell.com>
210         * Tds70.cs - Prepare Method stored procedure handle read problem fixed.
211
212 2004-06-30 Umadevi S <sumadevi@novell.com>
213         * Tds.cs - In the NextResult method handling TdsPacketSubType. TableName. 
214
215
216 2004-04-22  Sebastien Pouliot <sebastien@ximian.com> 
217
218         * Tds70.cs: Updated to match changes in Mono.Security.dll.
219
220 2004-04-05  Lluis Sanchez Gual  <lluis@ximian.com>
221
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 
226           all Tds clients.
227
228 2004-04-01  Lluis Sanchez Gual  <lluis@ximian.com>
229
230         * Tds.cs: All methods now return DBNull instead of null for null values.
231         * Tds50.cs, Tds70.cs: Support parameters with DBNull value.
232
233 2003-12-21  Tim Coleman <tim@timcoleman.com>
234         * Tds70.cs:
235                 Fix Integrated Security to work with Domain users.
236
237 2003-12-06  Sebastien Pouliot <spouliot@videotron.ca> 
238         for Daniel Morgan <danielmorgan@verizon.net>
239
240         Sebastien Pouliot (spouliot@motus.com) helped me greatly with his
241         NTLM stuff.
242         
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
249         
250 2003-10-19  Joerg Rosenkranz <joergr@voelcker.com>
251
252         * Tds.cs (GetStringValue): A string length of 0xFF (255) is not
253         misinterpreted as special value anymore.
254         
255         This is a fix to bug #49835.
256
257 2003-10-03  Diego Caravana  <diego@toth.it>
258
259         * Tds70.cs: Now handles parameters of type ReturnValue and
260         InputOutput.
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.
265         
266 2003-08-22  Duncan Mak  <duncan@ximian.com>
267
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>.
273
274         This is part of a fix to bug #40315.
275         
276 2003-05-07  Miguel de Icaza  <miguel@ximian.com>
277
278         Patches from Igor Nosyryev <nosyryev@attbi.com>
279         
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.
283  
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.
287
288 2003-01-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
289
290         * Tds70.cs:
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.
294
295 2002-12-10  Gonzalo Paniagua Javier <gonzalo@ximian.com>
296
297         * Tds.cs:
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.
304
305         * Tds70.cs:
306         (BuildParameters): check Parameters.
307
308         * TdsComm.cs: added Close () to close the stream.
309
310         * TdsConnectionParameters.cs: initialize all the string to be empty.
311
312 2002-11-04  Tim Coleman (tim@timcoleman.com)
313         * TdsBigDecimal.cs:
314                 New class added to handle (potentially) large
315                 decimal values
316         * Tds.cs:
317                 Modified to use TdsBigDecimal instead of
318                 decimal for transit of (potentially) large
319                 decimal values
320
321 2002-11-03  Tim Coleman (tim@timcoleman.com)
322         * TdsColumnStatus.cs:
323                 Newly added to handle column metadata
324         * Tds.cs
325                 Handle table name and column detail results
326         * Tds42.cs
327         * Tds50.cs
328         * Tds70.cs
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
334         * TdsSchemaInfo.cs:
335                 Add new schema information
336
337 2002-11-01  Tim Coleman (tim@timcoleman.com)
338         * ITds.cs:
339                 Add DoneProc property
340         * Tds.cs:
341                 *Lots*.  Some stuff to get binary types
342                 to work, other stuff to get new prepares
343                 working.
344         * TdsPacketEndTokenResult.cs:
345                 Add Packetsubtype property
346         * TdsPacketRowResult:
347                 Now implements ICollection and IList.
348
349 2002-10-31  Tim Coleman (tim@timcoleman.com)
350         * TdsSchemaInfo.cs:
351                 Added because I can't really use SchemaInfo
352         * ITds.cs:
353         * Tds.cs :
354         * TdsPacketColumnInfoResult.cs :
355                 ChangeDefinition of schema
356         * Tds42.cs :
357         * Tds50.cs :
358         * Tds70.cs :
359                 Add new information to schema
360
361
362 2002-10-30  Tim Coleman (tim@timcoleman.com)
363         * TdsColumnSchema.cs:
364                 Ditch this in favor of System.Data.Common.SchemaInfo
365         * ITds.cs:
366                 Change ColumnInfo to Schema
367         * Tds.cs:
368                 Uses new SchemaInfo object
369                 Supports TEXT now.      
370         * Tds42.cs:
371         * Tds50.cs:
372         * Tds70.cs:
373         * TdsPacketColumnInfoResult.cs:
374         * TdsPacketRowResult.cs:
375                 Uses new SchemaInfo object
376         
377
378 2002-10-29  Tim Coleman (tim@timcoleman.com)
379         * ITds.cs:
380                 Add OutputParameters collection
381         * Tds.cs:
382                 Much reformatting, added handling for dates,
383                 fixed handling of output parameters, and a
384                 whole lot more
385         * TdsPacketEndTokenResult.cs:
386                 Remove incorrect exception
387         * TdsPacketType.cs:
388                 Add Logoff packet type.
389
390 2002-10-28  Tim Coleman (tim@timcoleman.com)
391         * Tds.cs:
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
395                 purpose hackery.
396         * Tds42.cs:
397         * Tds50.cs:
398         * Tds70.cs:
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
404         * TdsComm.cs:
405                 Fixed GetString because it wasn't working properly
406                 with TDS 7.0.
407         * TdsMessage.cs:
408                 Change state and severity to byte instead of int
409                 because that is more consitent.
410                 
411
412 2002-10-25  Tim Coleman (tim@timcoleman.com)
413         * TdsPacketErrorResultCollection.cs:
414                 New class added for exporting errors
415         * ITds.cs:
416         * Tds.cs:
417         * Tds70.cs:
418         * TdsComm.cs:
419         * TdsPacketEndTokenResult.cs:
420         * TdsPacketRowResult.cs:
421                 Changes to make SqlClient build.
422
423 2002-10-24  Tim Coleman (tim@timcoleman.com)
424         * ITds.cs:
425                 Added column info, and NextResult/NextRow
426                 to interface
427         * TdsColumnSchema.cs:
428                 New class added to keep track of column info
429         * Tds.cs:
430                 Many, many changes to get queries working
431                 for the most part.
432         * TdsPacketColumnInfoResult.cs:
433         * TdsPacketColumnNamesResult.cs:
434                 Doesn't use a DataColumnCollection anymore
435                 Also more complete.
436         * TdsPacketRowResult.cs:
437                 Added Add() method.
438
439 2002-10-23  Tim Coleman (tim@timcoleman.com)
440         * ITds.cs:
441         * Tds42.cs:
442         * Tds50.cs:
443         * Tds70.cs:
444         * Tds80.cs:
445                 New classes added.  Functionality
446                 is split up because different protocols
447                 have slight differences.
448         * Tds.cs:
449                 Remove some unnecessary code after
450                 the above split, and add in a whole
451                 lot more stuff for completeness.
452         * TdsColumnType.cs:
453                 Fix Int4.  Wrong enum value.
454         * TdsComm.cs:
455                 Move the encoder out of constructor
456                 because we don't know the charset at
457                 that point
458         * TdsConnectionParameters.cs:
459                 Small changes
460         * TdsPacketEndTokenResult.cs:
461                 Implement ToString ()
462
463
464 2002-10-22  Tim Coleman (tim@timcoleman.com)
465         * Tds.cs :
466                 More implementation.  Does some
467                 query stuff now.  Can also change
468                 database.
469         * TdsConnectionParameters.cs:
470                 Rename Host to DataSource, and
471                 add Hostname for the local hostname.
472         * TdsPacketEndTokenResult.cs:
473                 Change TODO attribute
474         * TODOAttribute.cs:
475                 New class added
476         
477
478 2002-10-21  Tim Coleman (tim@timcoleman.com)
479         * Tds.cs
480         * TdsComm.cs:
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
484                 8.0 if he likes.
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.
490         * TdsMessage.cs:
491                 Implement this class.
492
493 2002-10-20  Tim Coleman (tim@timcoleman.com)
494         * TdsColumnType.cs:
495         * TdsContext.cs:
496         * TdsEnvPacketSubType.cs:
497         * TdsMessage.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.
513         * Tds.cs:
514                 Some work on receiving and interpreting packages received from
515                 SQL Server.  Still doesn't work completely.
516         * TdsComm.cs:
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), 
520                 TDS Version (4.2).
521
522 2002-10-18  Tim Coleman (tim@timcoleman.com)
523         * TdsConnectionInternal:
524                 Add some implementation details
525         * TdsCommInternal:
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.
531                 The value is 0.
532
533 2002-10-17  Tim Coleman (tim@timcoleman.com)
534         * ChangeLog:
535                 New changelog added
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.