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