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