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