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