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