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