Don't ignore drives with type "aufs" or "overlay" (Xamarin-31021)
[mono.git] / mcs / class / System.Data / System.Data.SqlClient / ChangeLog
1 2010-10-01  Veerapuram Varadhan  <vvaradhan@novell.com>
2
3         ** Fixes #561667
4         * SqlCommand.cs (Dispose): While Disposing, set connection's datareader 
5         to null so as the connection can be reused with another datareader.
6         
7 2010-07-28  Veerapuram Varadhan  <vvaradhan@novell.com>
8
9         ** Fixes #584833
10         * SqlCommand.cs (DeriveParameters): Support procedure name nomenclature 
11         of the form <database>.<user>.<procname> .
12         
13 2010-06-15  Veerapuram Varadhan  <vvaradhan@novell.com> 
14         ** Fixes #613087
15         * SqlDataReader.cs (GetSqlValue): Tds70 returns decimal (18,0) 
16         and beyond as System.Int64.
17         
18 2010-03-26  Veerapuram Varadhan  <vvaradhan@novell.com>
19
20         * SqlDataAdapter.cs: 2.0 profile changes
21         
22 2009-12-03  Jonathan Pobst  <monkey@jpobst.com>
23
24         * SortOrder.cs: Add enum.
25
26 2009-10-28  Veerapuram Varadhan <vvaradhan@novell.com>
27
28         * SqlCommandBuilder.cs (RowUpdatingHandler): Use base version for 2.0 profile.
29         
30 2009-10-14  Jonathan Pryor  <jpryor@novell.com>
31
32         * SqlConnection.cs: Remove EnterpriseServices dependency from the
33           MonoTouch profile.
34
35 2009-08-17  Veerapuram Varadhan  <vvaradhan@novell.com>
36
37         ** Fixes #525306
38         * SqlConnection.cs (Open): Use Tds80 also in case of non-pooling 
39         connections.
40
41 2009-08-01  Gert Driesen  <drieseng@users.sourceforge.net>
42
43         * SqlParameter.cs (ConvertToFrameworkType): Only wrap FormatException
44         on 2.0 profile.
45
46 2009-07-30  Gert Driesen  <drieseng@users.sourceforge.net>
47
48         * SqlParameter.cs: Modified ConvertToFrameworkType to only perform
49         conversion if type of value is different from "system type". Make
50         DbTypeMapping hashtable available on 1.0 profile, and add missing
51         mappings. Wrap FormatException adding information on conversion
52         that failed.
53
54 2009-07-30  Veerapuram Varadhan  <vvaradhan@novell.com>
55
56         * SqlDataAdapter.cs (*Command): Build fix for 1.x profile.
57         
58 2009-07-30  Veerapuram Varadhan  <vvaradhan@novell.com>
59
60         ** Fixes the issue reported by Scott <Scott.Fluto@cmgl.ca> in Mono-list
61         * SqlParameter.cs (ConvertToFrameworkType): Return String.Empty 
62         in case of zero-length strings.
63         
64 2009-07-30  Veerapuram Varadhan  <vvaradhan@novell.com>
65
66         * SqlDataAdapter.cs (IDbDataAdapter.*Command): Remove over-engineered 
67         checks as the base implementation is changed.
68         
69 2009-07-29  Veerapuram Varadhan  <vvaradhan@novell.com>
70
71         * SqlDataAdapter.cs (IDbDataAdapter.*Command): Revert some of my earlier
72         changes.  Validate the incoming value as we use bases' implementation now.
73         Fixes failing tests.
74
75         * SqlParameter.cs (GetSqlValue): Simplify handling of SqlValue and SqlTypes.
76         (SqlTypeToFramworkType): Added support for SqlChars and SqlBytes types.
77
78 2009-07-28  Gert Driesen  <drieseng@users.sourceforge.net>
79
80         * SqlCommand.cs: Ensure connection is closed if CloseConnection
81         behavior is set, and reader could not be created.
82
83 2009-07-28  Gert Driesen  <drieseng@users.sourceforge.net>
84
85         * More clean up of fix for #522624/#507663
86         * SqlCommandBuilder.cs: Appropriately handle rowUpdatingHandler and
87         more cleanup for 2.0 profile.
88
89 2009-07-26  Veerapuram Varadhan  <vvaradhan@novell.com>
90
91         * SqlParameter.cs (get/set_SqlValue, GetSqlValue): Return the appropriately 
92         SQL-typed param value.  Fixes failing provider tests.
93         
94 2009-07-28  Gert Driesen  <drieseng@users.sourceforge.net>
95
96        * SqlCommand.cs: Ensure connection is closed if CloseConnection
97        behavior is set, and reader could not be created.
98         
99 2009-07-26  Gert Driesen  <drieseng@users.sourceforge.net>
100
101         * SqlParameter.cs: Improved support for SqlValue and SqlTypes.
102
103 2009-07-25  Veerapuram Varadhan  <vvaradhan@novell.com>
104
105         * SqlDataReader.cs: Added new schema fields to the schema row. 
106         Fixes a failing provider test.
107
108 2009-07-25  Veerapuram Varadhan  <vvaradhan@novell.com>
109
110         * Fixes #507663
111         * SqlCommandBuilder.cs: From 2.0 onwards, use base's 
112         implementation for handling auto-generated commands.
113         * SqlDataAdapter.cs: -- ditto --
114         
115 2009-07-15  Veerapuram Varadhan  <vvaradhan@novell.com>
116
117         * SqlParameter.cs: Implement the "internal" FrameworkDbType, 
118         DbTypeMapping and SystemType properties.
119         
120 2009-05-08  Veerapuram Varadhan  <vvaradhan@novell.com>
121
122         ** Fixes #497715 - based on a patch by Jonas Larsson 
123         <jonas.larsson@manodo.se>
124         
125         * SqlDataReader.cs: (GetSqlXml): Handle Xml types for TDS 8/8.1 
126         clients as well.
127         * SqlParameter.cs: Map XML type properly.
128         
129 2009-04-28 Gonzalo Paniagua Javier <gonzalo@novell.com>
130
131         * SqlConnection.cs: if the error causes a disconnection from the
132         server, close the data stream.
133
134 2009-03-23  Veerapuram Varadhan  <vvaradhan@novell.com>
135
136         * SqlDataReader.cs (GetSchemaRowType): Correctly handle Tds 8 BigInt type.
137         
138 2009-02-02  Veerapuram Varadhan  <vvaradhan@novell.com>
139
140         * SqlConnection.cs: Use TDS 8 instead of TDS 7
141         
142 2009-01-24 Gonzalo Paniagua Javier <gonzalo@novell.com>
143
144         * SqlConnection.cs: adapt to changes in TdsConnectionPool.
145         Don't Close() on every error.
146
147 2009-01-17  Gert Driesen  <drieseng@users.sourceforge.net>
148
149         * SqlParameter.cs: Renamed isDirty to typeChanged; it is now now only
150         used to indicate whether the type of the parameter has been updated.
151         Changed signature of 'updated' argument in GetFrameworkValue to ref
152         to match delegate in Mono.Data.Tds, and convert value if either the
153         type has been changed or if the 'updated' argument is true (which -
154         for now - means the value or size changed in TdsMetaParameter).
155         Various fixes for derived parameters:
156         - parameter_type 2 means InputOutput parameter, while 3 means Output;
157         - Only set precision and scale is type is decimal.
158         - When type has variable size, then also set Size.
159
160 2009-01-04  Gert Driesen  <drieseng@users.sourceforge.net>
161
162         * SqlDataReader.cs: Added GetSchemaRowDbType overload for
163         getting sql type of a given column (identified using its
164         ordinal). Modified GetBytes to throw SqlNullValueException
165         (2.0 profile) or return 0 (1.0 profile) when reading bytes
166         sequentially. Added support for non-sequentially reading
167         text and ntext columns using GetBytes. Modified GetChar
168         to throw a NotSupportedException to match MS.
169
170 2009-01-04  Gert Driesen  <drieseng@users.sourceforge.net>
171
172         * SqlCommandBuilder.cs (RefreshSchema): Clear commands.
173
174 2009-01-03  Gert Driesen  <drieseng@users.sourceforge.net>
175
176         * SqlDataReader.cs: Removed unused dataTypeNames, and
177         unnecessary initializations. Added missing reader state
178         and row state checks. Fixed implementation of HasRows.
179         Modified type of DataType to object on 1.0 profile for
180         compatibility with .NET 1.x. Do not mark (Big)VarBinary
181         or ((Big)Binary as long, as unit tests show that IsLong
182         is for wide (unicode) data types. Fixed type data for
183         SmallDateTime and SmallMoney data types. Improved support
184         for bigint data type (using TDS 7.0).
185
186 2009-01-03  Gert Driesen  <drieseng@users.sourceforge.net>
187
188         * SqlCommand.cs: Moved connection reset before the throw.
189         Improved exception message.
190
191 2009-01-03  Gert Driesen  <drieseng@users.sourceforge.net>
192
193         * SqlCommandBuilder.cs: Only set SourceColumn for null check
194         parameters on the 2.0 profile, and set SourceVersion to
195         Current on 1.0 profile. Changed accessibility of RefreshSchema
196         to public, and do not immediately create commands. Removed
197         CWL.
198
199 2009-01-03  Gert Driesen  <drieseng@users.sourceforge.net>
200
201         * SqlParameter.cs: When setting ParameterName or sourceName to
202         null, use a zero-length string instead. On 1.0 profile, only
203         infer type from value if value is not null or DBNull. Store
204         raw value in TdsMetadataParameter, and use delegate to convert
205         it to framework type (when necessary). Improve implementation
206         of SqlValue (still needs lots of work).
207
208 2009-01-03  Gert Driesen  <drieseng@users.sourceforge.net>
209
210         * SqlCommandBuilder.cs: Added missing checks for QuotePrefix and
211         QuoteSuffix on 2.0 profile, and return a zero-length string if
212         not set (or set to null) on 1.0 profile. Do not allow the value
213         of CatalogSeparator and SchemaSeparator to be changed from '.'.
214         Modified generated SQL to match MS. Added implementation for
215         QuoteIdenfifier. Modified parameters to match MS.
216         * SqlParameter.cs (SqlValue): Keep Value in sync.
217
218 2008-12-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
219
220         * SqlParameter.cs: I removed these 2 lines I added 2 patches ago in
221         the previous patch...
222
223 2008-12-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
224
225         * SqlConnection.cs: close the connection on error.
226
227 2008-12-16 Gonzalo Paniagua Javier <gonzalo@novell.com>
228
229         * SqlParameter.cs: don't allocate error strings until the error
230         actually happens. Compare types instead of strings. Use a Hashtable
231         for type mappings.
232
233 2008-12-12 Gonzalo Paniagua Javier <gonzalo@novell.com>
234
235         * SqlParameter.cs: use the underlying type when inferring the type for
236         enumerations.
237
238 2008-11-13  Veerapuram Varadhan  <vvaradhan@novell.com>
239
240         * SqlCommand.cs: When a timeout exception occurs, reset the
241         connection before re-using it.  Fixes connection corrupted errors
242         on timeout exception.
243         
244 2008-11-09  Gert Driesen  <drieseng@users.sourceforge.net>
245
246         * SqlConnection.cs (ClearPool): Added null check.
247
248 2008-11-09  Gert Driesen  <drieseng@users.sourceforge.net>
249
250         * SqlConnection.cs: In Close, also remove reference to pool. In Open,
251         set TdsConnection.Pooling to false for a non-pooled connection.
252         Fixed ClearAllPools to no longer create a new connection for each
253         pool. In ClearPool, perform a lookup of the pool to clear using
254         the connectionstring as the pool field may refer to another pool
255         (as the connectionstring may have changed).
256
257 2008-09-30  Veerapuram Varadhan  <vvaradhan@novell.com>
258
259         * SqlDataReader.cs (GetSqlXml): Handle the scenario when Sql
260         Server 2005 returns Xml column type as NTEXT when called from
261         clients that use < TDS 8.0 protocol.
262         
263 2008-09-20  Veerapuram Varadhan  <vvaradhan@novell.com>
264
265         * SqlCommand.cs (DeriveParameters): Simplification of the if-else loop.
266         
267 2008-09-20  Veerapuram Varadhan  <vvaradhan@novell.com>
268
269         * SqlCommand.cs (DeriveParameters): Handle no square brackets 
270         case in schema/procedure names.
271         
272 2008-09-17  Veerapuram Varadhan  <vvaradhan@novell.com>
273
274         * SqlCommand.cs (DeriveParameters): Escape/trim both
275         schema/procedure names before passing as parameter values.
276         
277 2008-09-13  Atsushi Enomoto  <atsushi@ximian.com>
278
279         * SqlDependency.cs : wrong namespace.
280
281 2008-08-14  Gert Driesen  <drieseng@users.sourceforge.net>
282
283         * SqlConnection.cs: Use constants for min/max values. When value is
284         zero-length string, then fallback to default value for boolean and
285         integer backed properties. Throw ArgumentException when min pool size
286         exceeds max pool size. Check whether value for 'MARS' is a bool.
287         The 'user instance' property is 2.0 only.
288
289 2008-08-14  Gert Driesen  <drieseng@users.sourceforge.net>
290
291         * SqlConnection.cs: Convert keywords to lowercase instead of uppercase
292         to avoid further case changes in exception messages.
293
294 2008-07-28  Gert Driesen  <drieseng@users.sourceforge.net>
295
296         * SqlCommand.cs (ExecuteReader): When behavior includes SingleRow,
297         then only return a single result. Fixes bug #412569.
298
299 2008-07-28  Gert Driesen  <drieseng@users.sourceforge.net>
300
301         * SqlCommand.cs: Fixed order of arguments for ArgumentException in
302         CommandTimeout.
303         * SqlConnection.cs (ChangePassword): Do not allow empty connection
304         string. Updated exception messages.
305
306 2008-07-28  Gert Driesen  <drieseng@users.sourceforge.net>
307
308         * SqlCommand.cs: Fixed param name in ArgumentException for negative
309         CommandTimeout to match MS. On 2.0 profile, throw NRE in Prepare
310         when connection is NULL. In Prepare, return immediately after
311         connection check (2.0 only) for stored procedures, or when no
312         parameters are added. Added check to see if transaction is
313         associated with same connection as the command and updated
314         exception messages.
315
316 2008-07-28  Gert Driesen  <drieseng@users.sourceforge.net>
317
318         * SqlCommand.cs: Added bool argument to ValidateCommand to specify
319         whether an async method is being executed. Minor changes to exception
320         messages to match MS.
321
322 2008-07-28  Gert Driesen  <drieseng@users.sourceforge.net>
323
324         * SqlCommand.cs: Avoid NRE in CloseDataReader when connection is NULL.
325         Fixes bug #412584. Removed unused moreResults eargument from
326         CloseDataReader. Removed behavior argument from Execute, and have it
327         use the behavior field instead. In ValidateCommand, throw
328         InvalidOperationException instead of NRE when Connection is NULL.
329         * SqlDataReader.cs: Sync with SqlCommand's CloseDataReader signature
330         change.
331
332 2008-07-28  Gert Driesen  <drieseng@users.sourceforge.net>
333
334         * SqlCommand.cs: (Transaction): On the 1.0 profile, do not allow
335         Transaction to be set when a reader is open for the current connection. 
336         Fixes bug #412579. 
337
338 2008-07-28  Gert Driesen  <drieseng@users.sourceforge.net>
339
340         * SqlCommand.cs (Connection): Do not throw InvalidOperationException
341         if transaction is in progress. Fixes bug #412576. On 1.0 profile, throw
342         InvalidOperationException when a reader is open for the current
343         connection. Do not set transaction to NULL when changing connection,
344         instead set it to null in Transaction when transaction is no longer
345         open.
346
347 2008-07-28  Gert Driesen  <drieseng@users.sourceforge.net>
348
349         * SqlConnection.cs: Use null as default value for connectionString
350         field. Remove Init method, as initialization is done in
351         SetDefaultConnectionParameters. Initialize parms in
352         SetDefaultConnectionParameters to avoid calling Reset on newly
353         initialized collection. In Dispose (bool), also invoke base.Dispose if
354         SqlConnection was already disposed. Fixes bug #412571. 
355
356 2008-07-28  Gert Driesen  <drieseng@users.sourceforge.net>
357
358         * SqlConnection.cs (ChangeState): Return immediately when new state
359         equals original state. Fixes bug #412574. Removed extra whitespace.
360
361 2008-07-23  Veerapuram Varadhan  <vvaradhan@novell.com>
362
363         * SqlDataReader.cs (NextResult): Memleak fix - mark datatypeNames
364         array to be GCed along with schemaTable.
365         
366 2008-07-23  Veerapuram Varadhan  <vvaradhan@novell.com>
367
368         * SqlDataReader.cs: Do not generate schemaTable unless otherwise
369         asked for; use command.Tds.Columns instead.  Improves performance
370         of the DataReader.
371         
372 2008-07-10  Veerapuram Varadhan  <vvaradhan@novell.com>
373
374         ** Fixes #326182
375         * SqlCommand.cs (GetOutputParameters): Update parameter values iff 
376         parameter direction is InputOutput or Output.
377         
378 2008-07-06  Gert Driesen  <drieseng@users.sourceforge.net>
379
380         * SqlException.cs: Modified HResult/ErrorCode to match MS. Removed
381         unused FromTdsInternalException overload. Removed unnecessary check
382         for Errors.Count. Minor code formatting.
383
384 2008-07-03  Rodrigo Kumpera  <rkumpera@novell.com>
385
386         * SqlConnection.cs: Remove connStringParameters as nobody uses it.
387         
388 2008-07-01  Rodrigo Kumpera  <rkumpera@novell.com>
389
390         * SqlDataReader.cs: Do all column accesses with int indexes.    
391
392 2008-07-01  Rodrigo Kumpera  <rkumpera@novell.com>
393
394         * SqlDataReader.cs (GetSchemaTable): All column index are constants,
395         extract them.
396
397 2008-07-01  Rodrigo Kumpera  <rkumpera@novell.com>
398
399         * SqlDataReader.cs (GetSchemaTable): Calculate column indexes
400         outside of the row loop.
401
402 2008-07-01  Marek Habersack  <mhabersack@novell.com>
403
404         * SqlDataReader.cs: use named properties in TdsDataColumn for the
405         2.0 profile.
406
407 2008-06-30  Zoltan Varga  <vargaz@gmail.com>
408
409         * SqlDataReader.cs: Allocate 'schemaTable' lazily. 
410         (GetSchemaValue): Avoid some hash table lookups
411
412 2008-06-27  Zoltan Varga  <vargaz@gmail.com>
413
414         * SqlDataReader.cs (ConstructSchemaTable): Avoid unneccessary reflection calls.
415
416 2008-06-23  Veerapuram Varadhan  <vvaradhan@novell.com>
417
418         * SqlDependency.cs: New
419         
420 2008-06-12  Veerapuram Varadhan  <vvaradhan@novell.com>
421         
422         Patch by Christian Hergert <christian.hergert@gmail.com>
423         * SqlConnection.cs (Open): Do not reset the connection as it is already 
424         done in the TdsConnectionPool itself.
425         
426 2008-06-12  Marek Habersack  <mhabersack@novell.com>
427
428         * SqlParameterCollection.cs: this [int] must check the range and
429         throw an exception if necessary.
430         
431         * SqlCommand.cs: throw IOEX when stored procedure is not found in
432         DeriveParameters. All procedures in MS SQL will report at least
433         one parameter - the return value.
434
435 2008-06-10  Veerapuram Varadhan  <vvaradhan@novell.com>
436         
437         * SqlConnection.cs: TdsConnectionPool.GetConnectionPool() now returns 
438         IDictionary<TKey, TValue>. 
439         
440 2008-06-09  Ankit Jain  <jankit@novell.com>
441
442         * SqlCommand.cs: Use Tds instead of ITds now.
443         * SqlConnection.cs:  Likewise.
444
445 2008-05-27  Gert Driesen  <drieseng@users.sourceforge.net>
446
447         * SqlConnection.cs: Added support for '.' as alias for localhost.
448         Improve exception message when TCP/IP protocol is not enabled.
449
450 2008-05-17  Gert Driesen  <drieseng@users.sourceforge.net>
451
452         * SqlDataReader.cs (GetInt64): Removed workaround for TDS 7.0 handling
453         of bigint column type as this is handled in Mono.Data.Tds.
454
455 2008-05-14  Marek Habersack  <mhabersack@novell.com>
456
457         * SqlConnection.cs: added support for USER INSTANCE keyword in the
458         connection string.
459
460 2008-04-22  Veerapuram Varadhan  <vvaradhan@novell.com>
461
462         ** Fixes Bug#381151
463         * SqlCommand.cs: Handle exceptions sanely and do not close
464         connection on TdsTimeoutException.
465         
466 2008-04-21  Gert Driesen  <drieseng@users.sourceforge.net>
467
468         * SqlBulkCopyColumnMappingCollection.cs: Changed argument names to
469         match MS. Code formatting.
470         * SqlCommand.cs: Changed argument names to match MS. Code formatting.
471         Do not include explicit IDbCommand implementation on 2.0 profile.
472         * SqlCommandBuilder.cs: Changed argument names to match MS. Code
473         formatting.
474         * SqlDataReader.cs: Changed argument names to match MS. Code
475         formatting.
476         * SqlParameterCollection.cs: Do not include IList, ICollection and
477         IDataParameterCollection explicit interface implementation on 2.0
478         profile. Code formatting.
479         * SqlConnection.cs: Changed argument names to match MS.
480         * SqlDataAdapter.cs: Changed argument names to match MS.
481         * SqlTransaction.cs: Do not include explicit interface implementation
482         of IDbTransaction.Connection on 2.0 profile. Code formatting.
483
484 2008-04-19  Robert Jordan  <robertj@gmx.net>
485
486         * SqlParameterCollection.cs (AddRange(SqlParameter[])):
487         Fix endless recursion.
488
489 2008-04-08  Marek Habersack  <mhabersack@novell.com>
490
491         * SqlConnection.cs: TCP port discovery via UDP port 1434 should
492         honor the timeout specified in the connection string (or the
493         default one). In some environments 100 microseconds might not be
494         enough to discover the port.
495
496 2008-04-01  Marek Habersack  <mhabersack@novell.com>
497
498         * SqlParameter.cs: ConvertToFrameworkType must handle empty
499         strings gracefully - a DBNull.Value must be returned in this
500         case.
501
502         * SqlCommand.cs: DeriveParameters should split the stored
503         procedure name into the schema name and procedure name before
504         querying its parameters.
505
506 2008-03-03  Ankit Jain  <jankit@novell.com>
507
508         * SqlClientMetaDataCollectionNames.cs: Set the field values.
509
510 2007-10-21  Gert Driesen  <drieseng@users.sourceforge.net>
511
512         * SqlCommand.cs: Use ExceptionHelper.CheckEnumValue for enum checks.
513
514 2007-10-20  Gert Driesen  <drieseng@users.sourceforge.net>
515
516         * SqlCommand.cs: Added constant for default CommandTimeout, instead
517         of using a magic number. Avoid unnecessary initialization. Fixed
518         default value for DesignTimeVisible. Return zero-length string if
519         CommandText is null. Use ExceptionHelper.InvalidEnumValueException
520         to avoid code duplication. Spaces to tabs and code formatting.
521         * SqlConnection.cs: Use different default package size on 2.0 profile.
522         Added constants for default values, instead of using magic numbers.
523         Avoid unnecessary initialization. In PacketSize, return default or
524         configured packet size when connection is not open. Use
525         ExceptionHelper.ConnectionClosed instead of local method. Removed
526         use of some hardcoded values in SetDefaultConnectionParameters, and
527         use Environment.MachineName as default WorkstationId instead of
528         DNS host name. Code formatting.
529         * SqlDataAdapter.cs: In default ctor, set SelectCommand to null.
530         Avoid unnecessary initializations. Use direct assignment in
531         IDbDataAdapter implementation. Fixed exception message for negative
532         UpdateBatchSize. In Dispose override, make sure to invoke base
533         method.
534
535 2007-10-19  Gert Driesen  <drieseng@users.sourceforge.net>
536
537         * SqlTransaction.cs: Clear connection in commit. In IsolationLevel,
538         throw IOE if transaction is no longer open.
539
540 2007-10-19  Gert Driesen  <drieseng@users.sourceforge.net>
541
542         * SqlTransaction.cs: Avoid unnecessary initialization. Remove 
543         isRolledBack since its essentially the same as isOpen. Use
544         ExceptionHelper.TransactionNotUsable instead of duplicating code.
545         On 2.0 profile, ignore call to Rollback when transaction was already
546         disposed.
547
548 2007-10-18  Gert Driesen  <drieseng@users.sourceforge.net>
549
550         * SqlConnection.cs: Avoid unnecessary initialization. Use string.Empty
551         for assigning zero-length string, and use String.Length to check for
552         zero-length string. Added support for IsolationLevel.Snapshot.
553         Added StructuredTypeMembers schema collection and restrictions. Fixed
554         table name for MetaDataCollections collection. Implemented
555         DataSourceInformation collection. Added missing data types (probably
556         introduced in 2.0 SP1). In GetSchema, throw InvalidOperationException
557         if connection is closed and throw NotImplementedException for
558         StructuredTypeMembers collection.
559
560 2007-10-18  Gert Driesen  <drieseng@users.sourceforge.net>
561
562         * SqlConnection.cs: On 1.0 profile, IsolationLevel.Unspecified is
563         not valid. On 2.0 profile, when IsolationLevel.Unspecified is passed
564         make sure to also set SqlTransaction.IsolationLevel to
565         ReadCommitted. Modified exceptions to match MS.
566
567 2007-10-17  Nagappan <anagappan@novell.com> 
568
569         * SqlParameter.cs (ConvertToFrameworkType): Added SqlDbType.Image.
570
571 2007-10-17  Nagappan <anagappan@novell.com> 
572
573         * SqlConnection.cs: BeginTransaction does not handle
574           IsolationLevel.Unspecified, so the default is set as ReadCommited.
575           Thanks to Jerome Haltom <wasabi@larvalstage.net> for this patch. Fixes
576           bug # 333082.
577         * SqlTransaction.cs: If transaction count is greater then 0 then roll back.
578           Thanks to Jerome Haltom <wasabi@larvalstage.net> for this patch. Fixes
579           bug # 331953.
580
581 2007-10-15  Gert Driesen  <drieseng@users.sourceforge.net>
582
583         * SqlException.cs: Do not hide Message on 2.0 profile. Fixes bug
584         #333901.
585
586 2007-10-08  Marek Safar <marek.safar@gmail.com> 
587
588         * SqlParameterCollection.cs (SetParameter): Fixed missing cast.
589         
590 2007-09-27  Nagappan A <anagappan@novell.com> 
591
592         * SqlConnection.cs: Added MonoTODO appropriately.
593
594 2007-09-26  Nagappan A <anagappan@novell.com> 
595
596         * SqlCommandBuilder.cs: Code alignment.
597
598 2007-09-25  Nagappan A  <anagappan@novell.com>
599
600         * SqlInitialCatalogConverter.cs, SqlDataSourceConverter.cs:
601         NetworkLibraryConverter.cs: Added new files.
602
603         * SqlParameter.cs: 2.0 attribute changes.
604
605         * SqlDataAdapter.cs: 2.0 attribute changes.
606
607         * SqlConnectionStringBuilder.cs: 2.0 attribute changes.
608
609         * SqlConnection.cs (ClearAllPools, ClearPool): Implemented 2.0
610         APIs, other 2.0 attribute changes.
611
612         * SqlCommandBuilder.cs (GetSchemaTable, InitializeCommand):
613         Implemented 2.0 APIs, other 2.0 attribute changes.
614
615         * SqlBulkCopyColumnMappingCollection.cs: Added constructor, 2.0
616         API compatibility changes.
617
618         * SqlException.cs: 2.0 attribute changes.
619
620 2007-08-13  Nagappan A  <anagappan@novell.com>
621
622         * SqlConnection.cs (ConnectionString): 2.0 compatibility changes.
623
624         * SqlDataReader.cs (IsCommandBehavior): Fixed spelling mistake of
625         the method name.
626         (Dispose): 2.0 compatibility changes.
627
628         * SqlBulkCopy.cs (SqlRowsCopied): Fixed spelling mistake of the
629         event name.
630         (RowsCopied): Generates event when NotifyAfter is set.
631
632         * SqlCommandBuilder.cs (Dispose, RefreshSchema): 2.0 compatibility
633         changes.
634
635         * SqlClientFactory.cs (CreateDataSourceEnumerator): Removed bogus
636         TODO.
637
638         * SqlException.cs (Message): 2.0 compatibility changes.
639
640 2007-08-06  Nagappan A  <anagappan@novell.com>
641
642         * SqlCommand.cs, SqlDataReader.cs, SqlConnection.cs: When the
643         server resets the connection, now the client code also disconnects
644         the session and remove the instance from pool. Fixes bug # 81933.
645
646 2007-07-31  Nagappan A  <anagappan@novell.com>
647
648         * SqlCommand.cs (Transaction, Connection): IDbCommand Transaction
649         and Connection can be set to null. Fixes bug 82189.
650
651 2007-07-23  Nagappan A  <anagappan@novell.com>
652
653         * SqlCommandBuilder.cs (ApplyParameterInfo, GetParameterName):
654         (GetParameterPlaceholder): Implemented 2.0 missing APIs.
655
656 2007-07-22  Nagappan A  <anagappan@novell.com>
657
658         * SqlBulkCopy.cs (NotifyAfter): Implemented 2.0 property.
659         (GetColumnMetaData, GenerateColumnMetaData):
660         (ValidateColumnMapping): Implemented private method's to generate
661         and validate SqlBulkCopy headers.
662         (BulkCopyToServer): Private method to actually do the bulk copy
663         processing.
664         (WriteToServer): Implemented 2.0 missing overloaded methods.
665         (IDisposable.Dispose): Implemented 2.0 missing method.
666
667         * SqlBulkCopyColumnMappingCollection.cs (Add, CopyTo): Implemented
668         missing API.
669         (Item): Implemented missing property.
670
671         * SqlBulkCopyColumnMapping.cs: Modified the implementation of
672         Constructors to use property.
673
674         * SqlDataReader.cs (GetSqlXml, IsCommandBehaviour): Added 2.0
675         missing method.
676         (Connection): Added missing property.
677
678         * SqlParameter.cs (SetSqlDbType, ConvertToFrameworkType): Modified
679         method as internal from private.
680
681         * SqlConnection.cs: Fixed 2.0 missing feature.
682
683         * SqlException.cs: Fixed 2.0 missing feature.
684
685         * SqlClientPermission.cs: Fixed 2.0 missing feature.
686
687 2007-07-01  Gert Driesen  <drieseng@users.sourceforge.net>
688
689         * ISqlNotificationReceiver.cs: Removed.
690         * SqlClientFactory.cs: Use SqlDataSourceEnumerator from S.D.Sql and
691         marked method todo. Avoid unnessary casts. Code formatting.
692         * SqlCommand.cs: Explicit interface implementation of IDbCommand not
693         necessary on 2.0 profile. Fixes API mismatches. Avoid unnecessary
694         casts. Code formatting.
695         * SqlConnection.cs: Also use RecommendAsConfigurable instead of
696         SettingBindableAttribute on 2.0. Use StateChange event from base class
697         on 2.0. Only explicitly implement IDbConnection methods on 1.0, since
698         these are implemented by base class on 2.0 profile. Removed extra
699         explicit implementation of IDisposable since the base class implements
700         this. Code formatting.
701         * SqlDataAdapter.cs: Dispose (bool) override not necessary on 2.0
702         profile. Stubbed ICloneable.Clone. Fixes API mismatches.
703         * SqlDataReader.cs: On 2.0, IDisposable.Dispose is implemented by
704         DbDataReader. Only 1.0 profile, explicitly implemented IEnumerable
705         GetEnumerator. Code formatting.
706         * SqlDataSourceEnumerator.cs: Removed.
707         * SQLDebugging.cs: Marked sealed on 2.0. Code formatting.
708         * SqlNotificationAuthType.cs: Removed.
709         * SqlNotificationInfo.cs: Added missing fields. Code formatting.
710         * SqlNotificationSource.cs: Added missing fields. Code formatting.
711         * SqlNotificationTransports.cs: Removed.
712         * SqlNotificationType.cs: Added missing Unknown field. Code formatting.
713         * SqlParameter.cs: Removed Browsable and EditorBrowsable attributes
714         from Precision and Scale. Fixes API mismatches. Code formatting fixes.
715         * SqlTransaction.cs: On 2.0 profile, Dispose method is exposed by
716         base class. Fixes API mismatches. Code formatting fixes.
717
718 2007-06-21  Nagappan A  <anagappan@novell.com>
719
720         * SqlConnection.cs: Fixed compiler warning.
721
722 2007-06-11  Nagappan A  <anagappan@novell.com>
723
724         * SqlConnection.cs (ParseDataSource): Adds tcp support in
725         connection string. Fixes bug # 80975.
726
727         * SqlCommand.cs (Dispose): On disposing the command object, don't
728         dispose connection and transaction.
729
730 2007-06-06  Nagappan A  <anagappan@novell.com>
731
732         * SqlCommand.cs, SqlConnectionStringBuilder.cs, SqlConnection.cs:
733         Fixed 1.0 and 2.0 extras, errors as stated in class status page.
734
735         * SqlDataAdapter.cs, SqlParameter.cs:Fixed 1.0 and 2.0 extras,
736         errors as stated in class status page.
737
738         * SqlBulkCopyColumnMappingCollection.cs: Fixed 1.0 and 2.0 extras,
739         errors as stated in class status page.
740
741 2007-05-30  Nagappan A  <anagappan@novell.com>
742
743         * SqlParameter.cs (SqlParameter): Updated constructor to use the
744         new TDS RPC implementation.
745         Fixed missing attributes.
746         (SetDbType): Added new case for sql_variant type.
747         (ConvertToFrameworkType): Implemented new private method to
748         convert the data type to framework type.
749
750         * SqlParameterCollection.cs: Fixed missing attributes and
751         implemented missing methods.
752
753         * SqlConnection.cs: Fixed missing attributes.
754
755         * SqlConnectionStringBuilder.cs: Certain attributes are missing or
756         its value or they are not appropriate. Fixed them.
757
758         * SqlDataReader.cs (GetData): Method is available only under 1.0
759         profile.
760         
761         * SqlCommandBuilder.cs: Certain attributes are available only
762         under 2.0 profile, so moved them inside ifdef.
763
764         * SqlCommand.cs: Certain attributes are available only under 2.0
765         profile, so moved them inside ifdef.
766
767         * SqlBulkCopy.cs: Added new stubs.
768
769         * SqlBulkCopyColumnMappingCollection.cs: Added new stubs.
770
771 2007-05-29  Nagappan A  <anagappan@novell.com>
772
773         * SqlCommand.cs (Dispose): Command.Dispose closing
774         connection. Fixes bug # 81710. Thanks to AMC <amc1999@gmail.com>
775         for the fix.
776
777 2007-05-10  Nagappan A  <anagappan@novell.com>
778
779         * SqlClientMetaDataCollectionNames.cs: Fixed incorrect constructor
780         type.
781
782         * SqlConnectionStringBuilder.cs: Fixed missing attributes.
783
784 2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
785
786         * SqlConnectionStringBuilder.cs: added MonoNotSupported attribute.
787
788 2007-04-03  Amit Biswas  <amit@amitbiswas.com>
789
790         * SqlDataReader.cs (GetSqlBytes, GetProviderSpecificFieldType)
791         (GetProviderSpecificValue, GetProviderSpecificValues): Implemented
792         missing API.
793
794         * SqlParameter.cs (XmlSchemaCollectionDatabase): Implemented missing property
795         (XmlSchemaCollectionName): Implemented missing property
796         (XmlSchemaCollectionOwningSchema): Implemented missing property
797         (SourceColumnNullMapping): Existing implementation was not correct, Replaced the implementation
798         (.ctor): Implemented mising constructor new in .net 2.0
799
800         * SqlErrorCollection.cs (CopyTo): Implemented missing API
801
802         * SqlParameter.cs (InferSqlType): Corrected bug related to default values of
803         SqlDbType and DbType
804         (ResetSqlDbType): Implemented missing API
805         (ResetDbType): Implemented missing API  
806
807 2007-03-09  Amit Biswas  <amit@amitbiswas.com>
808
809         * SqlParameterCollection.cs (CopyTo): Implemented missing API
810
811 2007-04-02  Nagappan A  <anagappan@novell.com>
812
813         * SqlParameter.cs: Variable name fix.
814
815 2007-03-20  Nidhi Rawal  <rawalnidhi_rawal@yahoo.com>
816
817         * SqlClientFactory.cs: Added two using directives.
818         (CreateConnectionStringBuilder): Implemented the method.
819         (CreatePermission): Implemented the property.
820         
821         * SqlCommand.cs: Added one using directive.
822         (Clone): Implemented the method.
823         (Dispose): Implemented the method.
824         (BeginExecuteXmlReader): Implemented the method.
825         
826         * SqlCommandBuilder.cs (QuoteIdentifier): Implemented the method.
827         (UnquoteIdentifier): Implemented the method.
828         
829         * SqlConnection.cs (ChangePassword): Implemented the method.
830
831 2007-03-19  Nidhi Rawal  <rawalnidhi_rawal@yahoo.com>
832
833         * SqlClientFactory.cs (CanCreateDataSourceEnumerator): Implemented
834         the property.
835
836         * SqlCommand.cs (Notification): Implemented the property.
837         (NotificationAutoEnlist): Implemented the property.
838
839         * SqlDataReader.cs (VisibleFieldCount): Implemented the property.
840
841         * SqlConnectionStringBuilder.cs (TrustServerCertificate): Implemented
842         the property.
843         (TypeSystemVersion): Implemented the property.
844         (UserInstance): Implemented the property.
845         (ContextConnection): Implemented the property.
846
847         * SqlConnection.cs (FireInfoMessageEventOnUserErrors): Implemented
848         the property.
849         (StatisticsEnabled): Implemented the property.
850         
851         * SqlDataAdapter.cs (UpdateBatchSize): Implemented the property.
852
853         * SqlParameter.cs: Implemented one attribute.
854
855 2007-03-16  Andreia Gaita  <avidigal@novell.com>
856         
857         * SqlParameter.cs: Move isVariableSizeType flag to TdsMetaParameter
858         so that the TdsMetaParameter can validate itself for valid size / values.
859         * SqlCommand.cs (Execute): Call Validate on TdsMetaParameter.
860
861 2007-03-14  Nagappan A  <anagappan@novell.com>
862
863         * SqlCommand.cs (CommandType): Exception type thrown in 2.0
864         profile is different than 1.0, ArgumentOutOfRangeException.
865         (Connection): Exception type thrown in 2.0 profile is different
866         than 1.0, ArgumentOutOfRangeException.
867         (Execute): If Size property is 0 for String and Binary type, then
868         throw InvalidOperationException.
869         (ValidateCommand): Exception type thrown in 2.0 profile is
870         different than 1.0, NullReferenceException.
871
872 2007-03-09  Nagappan A  <anagappan@novell.com>
873
874         * SqlDataReader.cs: Fixed syntax erros reported in class status
875         page.
876
877 2007-03-09  Andreia Gaita  <avidigal@novell.com>
878
879         * SqlCommand.cs (ExecuteScalar): Fix returned value for 
880         stored procedure calls to return the first column of the
881         first row produced by the proc.
882
883 2007-03-08  Nagappan A  <anagappan@novell.com>
884
885         * SqlCommand.cs (CloseDataReader): Checks whether the SQL
886         connection is created or not.
887
888 2007-03-07  Andreia Gaita <avidigal@novell.com>
889
890         * SqlCommand.cs (ExecuteScalar): when calling stored procedures,
891         implement support for return of output values in the parameter
892         collection.
893
894 2007-02-16  Nidhi Rawal  <rawalnidhi_rawal@yahoo.com>
895
896         * SqlParameter.cs (CompareInfo): Implemented the property
897         CompareInfo.
898         (LocaleId): Written the property LocaleId.
899         (SqlValue): Written the propert SqlValue.
900
901 2007-02-15  Nidhi Rawal  <rawalnidhi_rawal@yahoo.com>
902
903         * SqlCommand.cs: Added some attributes which were not implemented
904         for .NET 2.0 and removed extra attribute which are not there in
905         .NET 2.0.
906
907         * SqlCommandBuilder.cs: Added some attributes that were not 
908         implemented for .NET 2.0.
909
910         * SqlParameterCollection.cs: Added some attributes that were 
911         not implemented for .NET 2.0.
912
913         * SqlConnectionStringBuilder.cs: Added some attributes that
914          were not implemented for .NET 2.0.
915         
916         * SqlConnection.cs: Added attribute that was not implemented
917         for .NET 2.0.
918
919         * SqlParameter.cs: Added some attributes which were not
920         implemented for .NET 2.0 and removed some extra attributes which
921         are not there in .NET 2.0
922
923 2007-02-09  Nagappan A  <anagappan@novell.com>
924
925         * SqlConnection.cs (SetConnectionString): Fixes bug # 80712. A
926         small typo.
927
928 2007-01-08  Nagappan A  <anagappan@novell.com>
929
930         * SqlTransaction.cs (Dispose): Fixed compliation warning.
931
932         * SqlDataReader.cs (GetValues): Length of elements to be copied was
933         decided based on the argument array passed, which caused a bug, if
934         the length of given array is more than actual column values.
935
936         * SqlCommandBuilder.cs (CatalogSeparator, SchemaSeparator)
937         (CatalogLocation): Implemented missing properties.
938         (CreateDeleteCommand, CreateInsertCommand, CreateUpdateCommand):
939         Modified private methods to take bool flag. If true, add actual
940         parameter name instead of p1, p2 etc.
941         (CreateParameter): Added overloaded private method to create
942         parameter with the actual column name.
943         (GetUpdateCommand, GetDeleteCommand, GetInsertCommand):
944         Implemented missing overloaded methods.
945         (SetRowUpdatingHandler): Implemented missing protected method.
946
947         * SqlCommand.cs: Fixed compilation warning. Removed bogus
948         MonoTODO's.
949
950 2006-12-05  Nagappan A  <anagappan@novell.com>
951
952         * SqlCommand.cs (Execute): If sql2 length is greater than 0, then
953         add ';' and the respective sql2 string and then execute the
954         string. Fixes bug # 79880.
955
956 2006-08-30  Nagappan A  <anagappan@novell.com>
957
958         * SqlConnection.cs: Implemented SqlConnection.GetSchema ().
959
960 2006-09-08  Konstantin Triger <kostat@mainsoft.com>
961
962         * SqlClientFactory.cs: implemented SqlClientFactory.CreateConnection ().
963
964 2006-07-13  Senganal T  <tsenganal@novell.com>
965
966         * SqlClientFactory.cs SqlCommand.cs SqlConnectionFactory.cs 
967         SqlClientPermission.cs SqlParameterCollection.cs SqlDataReader.cs 
968         SqlConnection.cs SqlParameter.cs SqlTransaction.cs :
969                 2.0 Api fixes
970
971 2006-05-31  Gert Driesen  <drieseng@users.sourceforge.net>
972
973         * SqlConnection.cs: Removed extra destructor, as destructor on 
974         System.ComponentModel.Component already calls Dispose.
975         * SqlParameter.cs: Removed explicit interface implementation of
976         IDataParameter.ParameterName.
977
978 2006-05-26  Senganal T  <tsenganal@novell.com>
979
980         * SqlParameter.cs :
981                 - InferSqlType : if value is null or DBNull.Value, retain the
982                 current parameter type.
983
984 2006-04-18  Senganal T  <tsenganal@novell.com>
985
986         * SqlConnection.cs :
987                 - SetConnectionString : set the pareameter to default values
988                 if connection string is empty or null
989                 - Open : Raise InvalidOperationException if Connection String
990                 is empty or null
991                 - Dispose : Test exception not raised if dispose called on a
992                 connection with empty connection string
993
994         slight modification of the patch by Jonel Rienton
995
996 2006-04-07  Senganal T  <tsenganal@novell.com>
997
998         * SqlCommandBuilder.cs :
999                 * CreateDeleteCommand () 
1000                 * CreateUpdateCommand () 
1001                 * CreateInsertCommand () 
1002                         - Changed the signature. Do not need DataRow parameter 
1003                         as the Query generated is parametric.
1004                         - Correct the null-check term in the WhereClause, set the
1005                         correct properties for null-check parameter
1006                         fixes #78027
1007                         - Modified the generated query to match the query as
1008                         generated by 2.0. We now ignore null-check in the
1009                         whereclause if the Column does not allow nulls.
1010                 * ctor () : Set QuotePrefix and QuoteSuffix for 2.0 profile
1011                 * GetUpdateCommand ()
1012                 * GetInsertCommand ()
1013                 * GetDeleteCommand ()
1014                         - Do not create new command everytime. Create only if
1015                         not already created.
1016                 * RefreshSchema : Reset the commands.
1017
1018 2006-02-17  Chris Toshok  <toshok@ximian.com>
1019
1020         * SqlCommand.cs, SqlCommandBuilder.cs, SqlConnection.cs,
1021         SqlDataAdapter.cs: remove DataSysDescription attributes for >= 2.0
1022
1023 2006-02-17  Chris Toshok  <toshok@ximian.com>
1024
1025         * SqlDataReader.cs: remove VisibleFieldCount property.
1026
1027 2006-02-10  Senganal T  <tsenganal@novell.com>
1028         * SqlDataReader.cs :
1029                 - GetBytes : Read binary/blob/clob data sequentially when
1030                 CommandBehavior is set to SequentialAcccess
1031                 - GetChars : Read String/clob data sequentially when CommandBehavior
1032                 is set to SequentialAccess
1033         * SqlCommand.cs :
1034                 - ExecuteReader : set SequentialAccess property on TDS
1035                 - CloseDataReader : Reset the command behavior
1036
1037 2006-01-27  Senganal T  <tsenganal@novell.com>
1038
1039         * SqlCommandBuilder.cs :
1040                 - Modified  CreateUpdateCommand,CreateDeleteCommand , to not include
1041                 column name in the query if its a expression col.
1042                 Also, modified the queries to match the generated queries in ms.net
1043         * SqlCommand.cs :
1044                 - Modifed Prepare, to check if Parameter is explicitly initialized
1045         * SqlParameter.cs :
1046                 - Added CheckIfInitialized : Checks if datatype is explicitly set and
1047                 non-zero size is set for variable datatypes.
1048         * SqlDataReader.cs :
1049                 - Added code for GetSqlBinary ()
1050                 - Fixed GetFieldCount ()
1051                 - Added more checks and exceptions. 
1052
1053 2006-01-17  Senganal T  <tsenganal@novell.com>
1054
1055         * SqlCommandBuilder.cs
1056                 - Modified CreateNewCommand () : Clean up any existing parameter list
1057                 before reusing the command.Fixes #77225
1058
1059 2005-11-24  Senganal T  <tsenganal@novell.com>
1060
1061         * SqlConnection.cs 
1062                 - Modifications to get the correct Packet Size
1063
1064 2005-11-21  Senganal T  <tsenganal@novell.com>
1065
1066         * SqlClientFactory.cs
1067         * SqlCommandBuilder.cs
1068         * SqlParameterCollection.cs
1069         * SqlDataReader.cs
1070         * SqlDataAdapter.cs
1071         * SqlParameter.cs
1072         * SqlTransaction.cs
1073
1074         Added stubs and other changes for ADO.NET 2.0 compatibility
1075         
1076 2005-11-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1077
1078         * SqlConnection.cs: don't throw NotImplementedException when using
1079         'PERSIST SECUTIRY INFO'. Just do nothing.
1080
1081 2005-10-27  Senganal T  <tsenganal@novell.com>
1082
1083         * SqlCommand.cs 
1084         * SqlDataReader.cs 
1085         
1086         Made changes so that the number of rows affected can be got directly from 
1087         Tds regardsless of the type of query.Fixes bug #75698
1088
1089 2005-10-19  Senganal T  <tsenganal@novell.com>
1090
1091         * SqlConnection.cs (SetProperties) :
1092                 - Added support for AttachDBFileName
1093
1094 2005-10-19  Senganal T  <tsenganal@novell.com>
1095         
1096         * SqlException.cs (Constructor)
1097                 - Modified the constructor, so that the message parameter
1098                 of base class is not the same as that of the Exception message.
1099                 fixes bug #76468
1100                 
1101 2005-09-24  Sureshkumar T  <tsureshkumar@novell.com>
1102
1103         * SqlParameterCollection.cs (AddWithValue): added method. patch
1104         from awaddell@fnfr.com (Andy Waddell).
1105
1106 2005-09-21 Senganal T <tsenganal@novell.com>
1107
1108
1109         * SqlConnection.cs : 
1110                 - Set the correct Default Values for Parameters.
1111                 - Added Argument Checks (where missing) for the Properties and 
1112                 throw the correct exception on error.
1113                 - Modified SetDefaultParameters() to make sure that the parameters
1114                 are all reset to default values everytime it is called.
1115                 - Modified SetProperties() to take into account the order of the 
1116                 keywords in the ConnectionString.
1117
1118         SqlConnection Fixes for the failing sqlserver connected-mode testcases 
1119         in ProviderTest/System.Data.SqlClient/SqlConnectionTest.cs
1120
1121 2005-09-21 Senganal T <tsenganal@novell.com>
1122
1123         * SqlTransaction.cs : Modifed the Rollback() method, so that
1124         connection can be used for another transaction after the previous
1125         transaction is rolled back. fixes bug 75904
1126
1127 2005-09-02 Umadevi S <sumadevi@novell.com>
1128         
1129         * Removed SqlResultSet.cs file
1130
1131 2005-08-26  Sureshkumar T  <tsureshkumar@novell.com>
1132
1133         * SqlConnection.cs (Open): enable sp_reset_connection.
1134
1135 2005-08-25  Sureshkumar T  <tsureshkumar@novell.com>
1136
1137         * SqlCommandBuilder.cs: BuildInformation (): continue on columns
1138         who don't have basetablename.
1139
1140 2005-08-12  Daniel Morgan <danielmorgan@verizon.net>
1141
1142         * SqlCommandBuilder.cs: update command builder based on
1143         OdbcCommandBuilder latest changes to fix regression 
1144         of bug 75552
1145         
1146 2005-08-05  Sureshkumar T  <tsureshkumar@novell.com>
1147
1148         * SqlCommandBuilder.cs: Set SourceVersion property to the created
1149         parameters as it is used by the Adapter's Update method.
1150
1151 2005-07-22  Sureshkumar T  <tsureshkumar@novell.com>
1152
1153         * SqlCommandBuilder.cs, SqlParameterCollection.cs,
1154         SqlConnection.cs, SqlParameter.cs:
1155         - updated attributes & attribute descriptions to match with
1156         masterinfos.
1157
1158 2005-07-16  Daniel Morgan <danielmorgan@verizon.net>
1159
1160         * SqlCommandBuilder.cs: CreateUpdateCommand should get the current value, not
1161         the orginal value when setting one of the SET variables
1162
1163 2005-07-15  Sureshkumar T  <tsureshkumar@novell.com>
1164
1165         * SqlCommandBuilder.cs:
1166         - set_DataAdapter: unsubscribe event if DataAdapter is reset.
1167         - CreateInsertCommand, CreateUpdateCommand, CreateDeleteCommand:
1168         if column mapping is missing, use the source column name. use
1169         proper version to get the data. 
1170         - RowUpdatingHandler: set status to continue to actually process
1171         the query.
1172
1173 2005-07-04  Ben Maurer  <bmaurer@ximian.com>
1174
1175         * SqlError.cs: Patch from dezelin@gmail.com to fix serialization.
1176
1177 2005-06-29  Sureshkumar T  <tsureshkumar@novell.com>
1178
1179         * SqlConnection.cs: Open (): catch TdsInternalException and throw
1180         SqlException.
1181         * SqlException.cs: code re-organised to pass message as well with
1182         the exception.
1183
1184 2005-06-23  Sureshkumar T  <tsureshkumar@novell.com>
1185
1186         * SqlConnectionStringBuilder.cs: simplified multiple keyword
1187         mappings and allowed-key checking. fixed Item, Remove,
1188         ContainsKey, ShoudSerialize, TryGetValue implementations.
1189
1190 2005-06-21  Sureshkumar T  <tsureshkumar@novell.com>
1191
1192         * SqlConnectionStringBuilder.cs: Connection String Builder class
1193         for SqlClient Data Provider.
1194
1195 2005-06-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1196
1197         * SqlParameter.cs: moved the 'using S.D.SqlTypes' out of NET_2_0. Fixes
1198         the build.
1199
1200 2005-06-01  Sureshkumar T  <tsureshkumar@novell.com>
1201
1202         * SqlParameter.cs: Parameter's value can be SqlTypes. Convert to
1203         framework type to pass to TDS layer. Fixes bug #75044.
1204
1205 2005-05-24 Umadevi S <sumadevi@novell.com>
1206         * fixed some 2.0 and 1.0 specific fields/attributes for various classes.
1207         * Added SqlClientMetaDataCollectionNames.cs, Implemented some 2.0
1208         properties for SqlParameterCollection for the bulkcopy feature.
1209         
1210
1211 2005-05-20 Kornél Pál <http://www.kornelpal.hu/>
1212         
1213         * Fixed Bug #53169 - SqlDataReader incorrectly returns bigint as decimal
1214                 Note: The fix works around the limitations of TDS 7.0 to avoid this
1215                 difference between Mono and .NET Framework TDS 8.0 should be used instead.
1216
1217 2005-05-20 Umadevi S <sumadevi@novell.com>
1218         
1219         * Fixed Bug 74948 - SqlParameter also takes DBNull Value.
1220                 Correct some attributes stuff of 1.1 and 2.0 for SqlParameter.cs
1221
1222 2005-05-20 Umadevi S <sumadevi@novell.com>
1223
1224         * Continuing on implementation for bulkcopy and notification
1225                 Added files SqlNotificationEventArgs.cs, OnChangeEventHandler.cs
1226                 Modified SqlRowUpdatingEventArgs.cs
1227
1228 2005-05-19 Umadevi S <sumadevi@novell.com>
1229         
1230         * For implementation of bulkcopy and notifications added files
1231                 SqlBulkCopyOptions.cs,SqlBulkCopyColumnMapping.cs,SqlNotificationAuthType.cs
1232                 SqlNotificationTransports.cs,SqlRowsCopiedEventArgs.cs, SqlRowsCopiedEventHandler.cs
1233
1234 2005-05-19  Umadevi S <sumadevi@novell.com>
1235
1236         *  Corrected types,enum values of SqlNotificationType,SqlNotificationSource,
1237                 SqlNotificationInfo and added new method in SqlRowUpdatingEventArgs.cs
1238         (For implementation of bulkcopy/notifications)
1239
1240 2005-04-19  Sureshkumar T  <tsureshkumar@novell.com>
1241
1242         * SqlDataReader.cs: NextResult (): Re-create schema table for each
1243         result set. don't re-use, as it may be referenced from somewhere.
1244
1245 2005-04-07  Sureshkumar T  <tsureshkumar@novell.com>
1246             Ankit Jain     <radical@corewars.org>
1247
1248         * SqlConnection.cs: Implemented additional connection string
1249         property "Asynchronous Processing".
1250
1251         * SqlCommand.cs: Implemented Asynchronous command execution API.
1252
1253         * SqlAsyncState.cs: A internal state object for asynchronous
1254         operations.
1255
1256         * SqlAsyncResult.cs: Added. Class to hold result for asynchronous
1257         queries.
1258
1259 2005-03-28  Sureshkumar T  <tsureshkumar@novell.com>
1260
1261         * SqlCommand.cs: Execute: Add a semicolon at the end of
1262         CommandText. Multiple semicolon's are not being complained.
1263
1264         fixes bug #74134.
1265
1266 2005-03-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1267
1268         * SqlConnection.cs: added a finalizer for correct implementation of the
1269         IDisposable pattern.
1270
1271 2005-03-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1272
1273         * SqlException.cs: make it serialization-compatible with MS. Patch by
1274         Aleksandar Dezelin. Closes bug #73596.
1275
1276 2005-03-08  Sureshkumar T  <tsureshkumar@novell.com>
1277
1278         * SqlDataReader.cs: Call base constructor with CommandBehavior
1279         parameter instead of passing DbCommand object. The internal base
1280         class with DbCommand Parameter is removed.
1281
1282 2005-03-07  Sureshkumar T  <tsureshkumar@novell.com>
1283
1284         * SqlCommand.cs : Set CommandBehavior on
1285         ExecuteReader,ExecuteScalar,ExecuteNonQuery. This is used in
1286         CloseDataReader.
1287
1288         This fixes bug #73252.
1289
1290 2005-03-03  Sureshkumar T  <tsureshkumar@novell.com>
1291
1292         * SqlClientFactory.cs: While creating command, create using
1293         DbConnectionFactory as DbConnectionBase.CreateDbCommand needs to
1294         have a connection factory.
1295
1296         * SqlConnection.cs: Added an internal constructor which takes
1297         DbConnectionFactory.
1298
1299         * SqlConnectionFactory.cs: Added. Concrete class for abstract
1300         factory DbConnectionFactory.
1301
1302 2005-02-22  Sureshkumar T  <tsureshkumar@novell.com>
1303
1304         * SqlDataReader.cs: GetBytes: return the length of the data if
1305         output buffer is null. if not, copy the values to buffer and
1306         return the bytes actually read.
1307
1308 2005-02-02  Sureshkumar T  <tsureshkumar@novell.com>
1309
1310         * SqlConnection.cs: 
1311         - Database: return db name from database if connection open,
1312         otherwise take from connection string.
1313         - Set default values for parameters in the constructor itself.
1314         - Dangling else problem with Close method.
1315         - reset values of parms (TdsConnectionParameters) rather setting
1316         to null.
1317         - set disposed to false in Open method
1318         - finally call base.Dispose in Dispose (bool)
1319
1320         Fixes nunit regressions SqlConnectionTest:DefaultConnectionValues
1321         and SqlConnectionTest:DatabaseSynonyms. 
1322
1323 2005-01-27  Sureshkumar T  <tsureshkumar@novell.com>
1324
1325         * SqlCommand.cs (DeriveParameters): Change parameter name to
1326         "procedure_name".
1327         * SqlParameter.cs (SqlParameter (object [])) : call default
1328         constructor to create Tds.Metaparameter.
1329
1330         fixes bug #63122.
1331
1332 2005-01-03  Sureshkumar T  <tsureshkumar@novell.com>
1333
1334         * SqlCommand.cs: Fixed bug #68973. Reset Tds.RecordsAffected to 0
1335         for each execute statement.
1336         
1337 2004-11-25  Sureshkumar T  <tsureshkumar@novell.com>
1338
1339         These changes are for 2.0 profile only. These changes implement
1340         the generic data base access technique using Provider Factory
1341         Implementation. These classes need to be dervided from abstract
1342         base classes so that the corresponding factory classes are
1343         created when calling CreateCommand, CreateParameter, etc.
1344         
1345         * SqlClientFactory.cs: Provider Factory class  Implementaion for SqlServer
1346         * SqlParameter.cs: Change base classes and override methods.
1347         * SqlParameterCollection.cs:  Change base classes and override methods.
1348         * SqlTransaction.cs:  Change base classes and override methods.
1349         * SqlDataSourceEnumerator.cs: DataSource Enumerator stubs.
1350         * SqlDataReader.cs: Change base classes and override methods.
1351         * SqlConnection.cs: Change base classes and override methods.
1352         * SqlCommandBuilder.cs: Change base classes and override methods.
1353         * SqlCommand.cs: Change base classes and override necessary methods.
1354
1355 2004-10-14 Umadevi S <sumadevi@novell.com>
1356         * SqlCommand.cs - Implemented the clone method correctly.
1357          (fixed bug 67301)
1358
1359 2004-10-06 Umadevi S <sumadevi@novell.com>
1360         * ISqlNoticationReceiver.cs - changed namespace
1361         * Added files SqlNotificationType.cs, SqlNotificationInfo.cs, SqlNotificationSource.cs
1362
1363 2004-09-24  Umadevi S <sumadevi@novell.com>
1364         * SqlTransaction.cs - Dispose will not call rollback incase the transaction is not open.
1365
1366 2004-09-14  Sebastien Pouliot  <sebastien@ximian.com>
1367
1368         * SqlClientPermission.cs: Added internal constructor accepting an Sql
1369         ClientPermissionAttribute parameter (using base class protected ctor).
1370         * SqlClientPermissionAttribute.cs: Copy now use the new SqlClient
1371         Permission constructor.
1372
1373 2004-09-13  Sebastien Pouliot  <sebastien@ximian.com>
1374
1375         * SqlClientPermission.cs: Mostly completed (needs tests).
1376         * SqlClientPermissionAttribute.cs: Completed.
1377
1378 2004-09-02 Umadevi S <sumadevi@novell.com>
1379         * SqlCommand.cs - ExecuteNonQuery to return -1 incase of executing a storedprocedure
1380
1381 2004-08-16  Gert Driesen <drieseng@users.sourceforge.net>
1382
1383         * SqlConnection.cs: added TODO on ConnectionString for keywords
1384         that are not yet implemented. check value of Integrated Security
1385         keyword, check value of bool keywords, improve error reporting
1386         for int keywords, added support for the following keyword 
1387         synonyms : APP, TIMEOUT, NETWORK, PERSISTSECURITYINFO, WSID,
1388         LANGUAGE, USER. Throw NotImplementedException when encrypt keyword
1389         is set to true, enlist keyword is set to false or attachdbfilename
1390         keyword (or one of its synonyms) is set. Added FIXME for PERSIST
1391         SECURITY INFO keyword, throwing a NotImplementedException here
1392         would break lots of apps
1393
1394 2004-08-16  Gert Driesen <drieseng@users.sourceforge.net>
1395
1396         * SqlConnection.cs - spaces to tabs
1397
1398 2004-08-12  Sureshkumar T <tsureshkumar@novell.com>
1399         * SqlDataReader.cs - In Close method, the remaining resultsets are drained
1400                              out, to read output parameters & to avoid stream overlap
1401
1402 2004-06-30 Umadevi S <sumadevi@novell.com>
1403         * SqlCommand.cs : In the Execute Method the commandbehavior parameters were ignored correct
1404 these
1405
1406 2004-06-22  Atsushi Enomoto <atsushi@ximian.com>
1407
1408         * SqlCommandBuilder.cs : Avoid cast exception caused by DbNull.
1409
1410 2004-06-18 Umadevi S <sumadevi@novell.com>
1411         * SqlCommand.cs - ExecuteNonQuery returns -1 in all cases except
1412                 insert,update or delete.
1413
1414 2004-06-18 Umadevi S <sumadevi@novell.com>
1415         * SqlConnection.cs - handled null being passed as a connectionstring
1416           - checked for minimal set of parameters in connectionstring.
1417           - handled unrecogonized keywords similar to MS.NET
1418
1419 2004-06-17 Umadevi S <sumadevi@novell.com>
1420         * SqlTransaction.cs - fixed  multiple rollbacks being called causes invalidoperationexception
1421
1422 2004-06-04  Gert Driesen <drieseng@users.sourceforge.net>
1423
1424         * SqlClientPermission.cs: removed extra CreateInstance
1425         method
1426
1427 2004-06-02  Gert Driesen <drieseng@users.sourceforge.net>
1428
1429         * SQLDebugging.cs: added missing attributes, marked ctor
1430         public to match MS.NET
1431
1432 2004-05-22  Atsushi Enomoto <atsushi@ximian.com>
1433
1434         * SqlClientPermission.cs : don't use chained obsolete .ctor.
1435
1436 2004-05-20  Gert Driesen (drieseng@users.sourceforge.net)
1437
1438         *  SqlClientPermissionAttribute.cs: change AllowMultiple and
1439         Inherited to match .NET
1440
1441 2004-05-20 Umadevi S <sumadevi@novell.com>
1442
1443         * Fixed bug 58406- implemented the hasrow method, test program used
1444         to test with the bug report                                                        
1445
1446 2004-05-13  Umadevi S  <sumadevi@novell.com>
1447         
1448         *  SqlClientPermission.cs, SqlDataReader.cs - added missing methods with TODO tags
1449         *  SqlCommand.cs, SqlDataAdapter.cs - implemented ToolboxItemAttribute
1450         *  SQLDebugging.cs - Added new file with a TODO tag     
1451         
1452 2004-04-05  Lluis Sanchez Gual  <lluis@ximian.com>
1453
1454         * SqlConnection.cs: Use connection pool implemented in Mono.Data.Tds.
1455
1456 2004-04-01  Lluis Sanchez Gual  <lluis@ximian.com>
1457
1458         * SqlDataReader.cs: Null values are now represented with DBNull instances.
1459           Deal with this.
1460
1461 2004-03-14  Tim Coleman <tim@timcoleman.com>
1462         * SqlCommand.cs SqlConnection.cs:
1463                 Changes from two patches by Andres Taylor
1464                 <andres@rotselleri.com>
1465
1466 2004-03-12  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1467
1468         * SqlParameter.cs: DO NOT USE the consts scheme if types can be referenced directly!
1469
1470 2004-01-10  Atsushi Enomoto <atsushi@ximian.com>
1471
1472         * SqlClientPermission.cs : Fixed NET_2_0 build related to 
1473           obsolete attribute problem (see DbDataPermission.cs)
1474
1475 2003-12-28  Tim Coleman <tim@timcoleman.com>
1476         * SqlResultSet.cs:
1477                 Stubbed out this class.
1478
1479 2003-12-23  Tim Coleman <tim@timcoleman.com>
1480         * SqlConnection.cs:
1481                 Improved connection string parsing.  See
1482                 System.Data.Common.DbConnectionString for source.
1483
1484 2003-12-21  Tim Coleman <tim@timcoleman.com>
1485         * SqlConnection.cs:
1486                 Enable Integrated Security
1487
1488 2003-12-19  Tim Coleman <tim@timcoleman.com>
1489         * ISqlNotificationReceiver.cs SqlResultSet.cs:
1490                 New stubs added
1491         * SqlClientPermission.cs:
1492                 Fix constructor for 1.2
1493
1494 2003-12-04  John Luke  <jluke@cfl.rr.com>
1495
1496         * SqlXmlTextReader.cs: applied patch from Chris Masters <neeeeeep@bigpond.com>
1497         fix peek so it checks if it is at the end and also to make sure that if Read()
1498         advances the position past the end of the localBuffer array, it makes
1499         a call to GetNextBuffer(). fixes bug #40253 System.IndexOutOfRangeException when
1500         using SqlCommand.ExecuteXmlReader()
1501
1502 2003-11-20  Joerg Rosenkranz  <JoergR@voelcker.com>
1503
1504         * SqlConnection (SetDefaultConnectionParameters):
1505         Changed default value of WORKSTATION ID to reflect real
1506         host name instead of "localhost".
1507
1508 2003-11-16 Ben Maurer  <bmaurer@users.sourceforge.net>
1509
1510         * SqlParameterCollection.cs (Clear): Clear needs to take
1511         the parameter out of the collection so that it can be used
1512         again.
1513         (Remove):
1514         (RemoveAt): Ditto.
1515
1516 2003-10-03  Diego Caravana  <diego@toth.it>
1517
1518         * SqlCommand.cs: no change.
1519
1520         * SqlConnection.cs (Close): Added checks for null instance
1521         variables.
1522
1523         * SqlParameter.cs (Direction): Now handles parameters of type
1524         ReturnValue and InputOutput.
1525
1526         * SqlParameterCollection.cs (IndexOf(string)): Search for
1527         SqlParameter object in list is done by obtaining ParameterName
1528         attribute, not directly through list.IndexOf().
1529         
1530 2003-08-22  Duncan Mak  <duncan@ximian.com>
1531
1532         * SqlCommand.cs (ExecuteNonQuery): Return
1533         Connection.Tds.RecordsAffected if it is successful.  Patch from
1534         Jörg Rosenkranz <joergr@voelcker.com>.
1535
1536         This is part of a fix to bug #40315.
1537
1538 2003-08-20  Duncan Mak  <duncan@ximian.com>
1539
1540         * SqlConnectionPool.cs (ReleaseConnection): A patch from Joerg
1541         Rosenkranz <JoergR@voelcker.com>. Currently, if a connection is
1542         closed by an external event (network problem, etc.) it is pushed
1543         back into the connection pool. The next Open call retrieves this
1544         invalid connection which leads to exceptions when executing
1545         statements.
1546
1547         This patch fixes this problem. This closes bug #47429.
1548
1549 2003-07-04  Miguel de Icaza  <miguel@ximian.com>
1550
1551         * SqlDataReader.cs: Added extra information to the exceptions
1552         thrown by all the GetXXXX methods.
1553
1554 2003-03-15  Daniel Morgan <danmorg@sc.rr.com>
1555
1556         * SqlConnection.cs: if Server in the ConnectionString
1557         is set to "(local", use "localhost" as the hostname
1558         to connect
1559
1560 2003-03-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
1561
1562         * SqlException.cs: implemented GetObjectData ().
1563
1564 2003-02-16  Daniel Morgan <danmorg@sc.rr.com>
1565
1566         * ChangeLog: added this file
1567
1568         * SqlConnection.cs: - parse data source for 3 possible uses:
1569         "Server=hostname", 
1570         "Server=hostname\\instancename", 
1571         "Server=hostname,port" and open the connection based on the
1572         resulting server name and port.  
1573         - Added support for named instances
1574         by discovery of the sql server tcp port via the sql monitor (udp port 1434)
1575         thanks to Phillip Jerkins (Phillip.Jerkins@morgankeegan.com) contribution.
1576         Also, thanks to Gonzalo and Tim for their help with timeouts.
1577