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