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