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