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