1 2008-07-01 Rodrigo Kumpera <rkumpera@novell.com>
3 * SqlDataReader.cs (GetSchemaTable): All column index are constants,
6 2008-07-01 Rodrigo Kumpera <rkumpera@novell.com>
8 * SqlDataReader.cs (GetSchemaTable): Calculate column indexes
9 outside of the row loop.
11 2008-07-01 Marek Habersack <mhabersack@novell.com>
13 * SqlDataReader.cs: use named properties in TdsDataColumn for the
16 2008-06-30 Zoltan Varga <vargaz@gmail.com>
18 * SqlDataReader.cs: Allocate 'schemaTable' lazily.
19 (GetSchemaValue): Avoid some hash table lookups
21 2008-06-27 Zoltan Varga <vargaz@gmail.com>
23 * SqlDataReader.cs (ConstructSchemaTable): Avoid unneccessary reflection calls.
25 2008-06-23 Veerapuram Varadhan <vvaradhan@novell.com>
27 * SqlDependency.cs: New
29 2008-06-12 Veerapuram Varadhan <vvaradhan@novell.com>
31 Patch by Christian Hergert <christian.hergert@gmail.com>
32 * SqlConnection.cs (Open): Do not reset the connection as it is already
33 done in the TdsConnectionPool itself.
35 2008-06-12 Marek Habersack <mhabersack@novell.com>
37 * SqlParameterCollection.cs: this [int] must check the range and
38 throw an exception if necessary.
40 * SqlCommand.cs: throw IOEX when stored procedure is not found in
41 DeriveParameters. All procedures in MS SQL will report at least
42 one parameter - the return value.
44 2008-06-10 Veerapuram Varadhan <vvaradhan@novell.com>
46 * SqlConnection.cs: TdsConnectionPool.GetConnectionPool() now returns
47 IDictionary<TKey, TValue>.
49 2008-06-09 Ankit Jain <jankit@novell.com>
51 * SqlCommand.cs: Use Tds instead of ITds now.
52 * SqlConnection.cs: Likewise.
54 2008-05-27 Gert Driesen <drieseng@users.sourceforge.net>
56 * SqlConnection.cs: Added support for '.' as alias for localhost.
57 Improve exception message when TCP/IP protocol is not enabled.
59 2008-05-17 Gert Driesen <drieseng@users.sourceforge.net>
61 * SqlDataReader.cs (GetInt64): Removed workaround for TDS 7.0 handling
62 of bigint column type as this is handled in Mono.Data.Tds.
64 2008-05-14 Marek Habersack <mhabersack@novell.com>
66 * SqlConnection.cs: added support for USER INSTANCE keyword in the
69 2008-04-22 Veerapuram Varadhan <vvaradhan@novell.com>
72 * SqlCommand.cs: Handle exceptions sanely and do not close
73 connection on TdsTimeoutException.
75 2008-04-21 Gert Driesen <drieseng@users.sourceforge.net>
77 * SqlBulkCopyColumnMappingCollection.cs: Changed argument names to
78 match MS. Code formatting.
79 * SqlCommand.cs: Changed argument names to match MS. Code formatting.
80 Do not include explicit IDbCommand implementation on 2.0 profile.
81 * SqlCommandBuilder.cs: Changed argument names to match MS. Code
83 * SqlDataReader.cs: Changed argument names to match MS. Code
85 * SqlParameterCollection.cs: Do not include IList, ICollection and
86 IDataParameterCollection explicit interface implementation on 2.0
87 profile. Code formatting.
88 * SqlConnection.cs: Changed argument names to match MS.
89 * SqlDataAdapter.cs: Changed argument names to match MS.
90 * SqlTransaction.cs: Do not include explicit interface implementation
91 of IDbTransaction.Connection on 2.0 profile. Code formatting.
93 2008-04-19 Robert Jordan <robertj@gmx.net>
95 * SqlParameterCollection.cs (AddRange(SqlParameter[])):
96 Fix endless recursion.
98 2008-04-08 Marek Habersack <mhabersack@novell.com>
100 * SqlConnection.cs: TCP port discovery via UDP port 1434 should
101 honor the timeout specified in the connection string (or the
102 default one). In some environments 100 microseconds might not be
103 enough to discover the port.
105 2008-04-01 Marek Habersack <mhabersack@novell.com>
107 * SqlParameter.cs: ConvertToFrameworkType must handle empty
108 strings gracefully - a DBNull.Value must be returned in this
111 * SqlCommand.cs: DeriveParameters should split the stored
112 procedure name into the schema name and procedure name before
113 querying its parameters.
115 2008-03-03 Ankit Jain <jankit@novell.com>
117 * SqlClientMetaDataCollectionNames.cs: Set the field values.
119 2007-10-21 Gert Driesen <drieseng@users.sourceforge.net>
121 * SqlCommand.cs: Use ExceptionHelper.CheckEnumValue for enum checks.
123 2007-10-20 Gert Driesen <drieseng@users.sourceforge.net>
125 * SqlCommand.cs: Added constant for default CommandTimeout, instead
126 of using a magic number. Avoid unnecessary initialization. Fixed
127 default value for DesignTimeVisible. Return zero-length string if
128 CommandText is null. Use ExceptionHelper.InvalidEnumValueException
129 to avoid code duplication. Spaces to tabs and code formatting.
130 * SqlConnection.cs: Use different default package size on 2.0 profile.
131 Added constants for default values, instead of using magic numbers.
132 Avoid unnecessary initialization. In PacketSize, return default or
133 configured packet size when connection is not open. Use
134 ExceptionHelper.ConnectionClosed instead of local method. Removed
135 use of some hardcoded values in SetDefaultConnectionParameters, and
136 use Environment.MachineName as default WorkstationId instead of
137 DNS host name. Code formatting.
138 * SqlDataAdapter.cs: In default ctor, set SelectCommand to null.
139 Avoid unnecessary initializations. Use direct assignment in
140 IDbDataAdapter implementation. Fixed exception message for negative
141 UpdateBatchSize. In Dispose override, make sure to invoke base
144 2007-10-19 Gert Driesen <drieseng@users.sourceforge.net>
146 * SqlTransaction.cs: Clear connection in commit. In IsolationLevel,
147 throw IOE if transaction is no longer open.
149 2007-10-19 Gert Driesen <drieseng@users.sourceforge.net>
151 * SqlTransaction.cs: Avoid unnecessary initialization. Remove
152 isRolledBack since its essentially the same as isOpen. Use
153 ExceptionHelper.TransactionNotUsable instead of duplicating code.
154 On 2.0 profile, ignore call to Rollback when transaction was already
157 2007-10-18 Gert Driesen <drieseng@users.sourceforge.net>
159 * SqlConnection.cs: Avoid unnecessary initialization. Use string.Empty
160 for assigning zero-length string, and use String.Length to check for
161 zero-length string. Added support for IsolationLevel.Snapshot.
162 Added StructuredTypeMembers schema collection and restrictions. Fixed
163 table name for MetaDataCollections collection. Implemented
164 DataSourceInformation collection. Added missing data types (probably
165 introduced in 2.0 SP1). In GetSchema, throw InvalidOperationException
166 if connection is closed and throw NotImplementedException for
167 StructuredTypeMembers collection.
169 2007-10-18 Gert Driesen <drieseng@users.sourceforge.net>
171 * SqlConnection.cs: On 1.0 profile, IsolationLevel.Unspecified is
172 not valid. On 2.0 profile, when IsolationLevel.Unspecified is passed
173 make sure to also set SqlTransaction.IsolationLevel to
174 ReadCommitted. Modified exceptions to match MS.
176 2007-10-17 Nagappan <anagappan@novell.com>
178 * SqlParameter.cs (ConvertToFrameworkType): Added SqlDbType.Image.
180 2007-10-17 Nagappan <anagappan@novell.com>
182 * SqlConnection.cs: BeginTransaction does not handle
183 IsolationLevel.Unspecified, so the default is set as ReadCommited.
184 Thanks to Jerome Haltom <wasabi@larvalstage.net> for this patch. Fixes
186 * SqlTransaction.cs: If transaction count is greater then 0 then roll back.
187 Thanks to Jerome Haltom <wasabi@larvalstage.net> for this patch. Fixes
190 2007-10-15 Gert Driesen <drieseng@users.sourceforge.net>
192 * SqlException.cs: Do not hide Message on 2.0 profile. Fixes bug
195 2007-10-08 Marek Safar <marek.safar@gmail.com>
197 * SqlParameterCollection.cs (SetParameter): Fixed missing cast.
199 2007-09-27 Nagappan A <anagappan@novell.com>
201 * SqlConnection.cs: Added MonoTODO appropriately.
203 2007-09-26 Nagappan A <anagappan@novell.com>
205 * SqlCommandBuilder.cs: Code alignment.
207 2007-09-25 Nagappan A <anagappan@novell.com>
209 * SqlInitialCatalogConverter.cs, SqlDataSourceConverter.cs:
210 NetworkLibraryConverter.cs: Added new files.
212 * SqlParameter.cs: 2.0 attribute changes.
214 * SqlDataAdapter.cs: 2.0 attribute changes.
216 * SqlConnectionStringBuilder.cs: 2.0 attribute changes.
218 * SqlConnection.cs (ClearAllPools, ClearPool): Implemented 2.0
219 APIs, other 2.0 attribute changes.
221 * SqlCommandBuilder.cs (GetSchemaTable, InitializeCommand):
222 Implemented 2.0 APIs, other 2.0 attribute changes.
224 * SqlBulkCopyColumnMappingCollection.cs: Added constructor, 2.0
225 API compatibility changes.
227 * SqlException.cs: 2.0 attribute changes.
229 2007-08-13 Nagappan A <anagappan@novell.com>
231 * SqlConnection.cs (ConnectionString): 2.0 compatibility changes.
233 * SqlDataReader.cs (IsCommandBehavior): Fixed spelling mistake of
235 (Dispose): 2.0 compatibility changes.
237 * SqlBulkCopy.cs (SqlRowsCopied): Fixed spelling mistake of the
239 (RowsCopied): Generates event when NotifyAfter is set.
241 * SqlCommandBuilder.cs (Dispose, RefreshSchema): 2.0 compatibility
244 * SqlClientFactory.cs (CreateDataSourceEnumerator): Removed bogus
247 * SqlException.cs (Message): 2.0 compatibility changes.
249 2007-08-06 Nagappan A <anagappan@novell.com>
251 * SqlCommand.cs, SqlDataReader.cs, SqlConnection.cs: When the
252 server resets the connection, now the client code also disconnects
253 the session and remove the instance from pool. Fixes bug # 81933.
255 2007-07-31 Nagappan A <anagappan@novell.com>
257 * SqlCommand.cs (Transaction, Connection): IDbCommand Transaction
258 and Connection can be set to null. Fixes bug 82189.
260 2007-07-23 Nagappan A <anagappan@novell.com>
262 * SqlCommandBuilder.cs (ApplyParameterInfo, GetParameterName):
263 (GetParameterPlaceholder): Implemented 2.0 missing APIs.
265 2007-07-22 Nagappan A <anagappan@novell.com>
267 * SqlBulkCopy.cs (NotifyAfter): Implemented 2.0 property.
268 (GetColumnMetaData, GenerateColumnMetaData):
269 (ValidateColumnMapping): Implemented private method's to generate
270 and validate SqlBulkCopy headers.
271 (BulkCopyToServer): Private method to actually do the bulk copy
273 (WriteToServer): Implemented 2.0 missing overloaded methods.
274 (IDisposable.Dispose): Implemented 2.0 missing method.
276 * SqlBulkCopyColumnMappingCollection.cs (Add, CopyTo): Implemented
278 (Item): Implemented missing property.
280 * SqlBulkCopyColumnMapping.cs: Modified the implementation of
281 Constructors to use property.
283 * SqlDataReader.cs (GetSqlXml, IsCommandBehaviour): Added 2.0
285 (Connection): Added missing property.
287 * SqlParameter.cs (SetSqlDbType, ConvertToFrameworkType): Modified
288 method as internal from private.
290 * SqlConnection.cs: Fixed 2.0 missing feature.
292 * SqlException.cs: Fixed 2.0 missing feature.
294 * SqlClientPermission.cs: Fixed 2.0 missing feature.
296 2007-07-01 Gert Driesen <drieseng@users.sourceforge.net>
298 * ISqlNotificationReceiver.cs: Removed.
299 * SqlClientFactory.cs: Use SqlDataSourceEnumerator from S.D.Sql and
300 marked method todo. Avoid unnessary casts. Code formatting.
301 * SqlCommand.cs: Explicit interface implementation of IDbCommand not
302 necessary on 2.0 profile. Fixes API mismatches. Avoid unnecessary
303 casts. Code formatting.
304 * SqlConnection.cs: Also use RecommendAsConfigurable instead of
305 SettingBindableAttribute on 2.0. Use StateChange event from base class
306 on 2.0. Only explicitly implement IDbConnection methods on 1.0, since
307 these are implemented by base class on 2.0 profile. Removed extra
308 explicit implementation of IDisposable since the base class implements
309 this. Code formatting.
310 * SqlDataAdapter.cs: Dispose (bool) override not necessary on 2.0
311 profile. Stubbed ICloneable.Clone. Fixes API mismatches.
312 * SqlDataReader.cs: On 2.0, IDisposable.Dispose is implemented by
313 DbDataReader. Only 1.0 profile, explicitly implemented IEnumerable
314 GetEnumerator. Code formatting.
315 * SqlDataSourceEnumerator.cs: Removed.
316 * SQLDebugging.cs: Marked sealed on 2.0. Code formatting.
317 * SqlNotificationAuthType.cs: Removed.
318 * SqlNotificationInfo.cs: Added missing fields. Code formatting.
319 * SqlNotificationSource.cs: Added missing fields. Code formatting.
320 * SqlNotificationTransports.cs: Removed.
321 * SqlNotificationType.cs: Added missing Unknown field. Code formatting.
322 * SqlParameter.cs: Removed Browsable and EditorBrowsable attributes
323 from Precision and Scale. Fixes API mismatches. Code formatting fixes.
324 * SqlTransaction.cs: On 2.0 profile, Dispose method is exposed by
325 base class. Fixes API mismatches. Code formatting fixes.
327 2007-06-21 Nagappan A <anagappan@novell.com>
329 * SqlConnection.cs: Fixed compiler warning.
331 2007-06-11 Nagappan A <anagappan@novell.com>
333 * SqlConnection.cs (ParseDataSource): Adds tcp support in
334 connection string. Fixes bug # 80975.
336 * SqlCommand.cs (Dispose): On disposing the command object, don't
337 dispose connection and transaction.
339 2007-06-06 Nagappan A <anagappan@novell.com>
341 * SqlCommand.cs, SqlConnectionStringBuilder.cs, SqlConnection.cs:
342 Fixed 1.0 and 2.0 extras, errors as stated in class status page.
344 * SqlDataAdapter.cs, SqlParameter.cs:Fixed 1.0 and 2.0 extras,
345 errors as stated in class status page.
347 * SqlBulkCopyColumnMappingCollection.cs: Fixed 1.0 and 2.0 extras,
348 errors as stated in class status page.
350 2007-05-30 Nagappan A <anagappan@novell.com>
352 * SqlParameter.cs (SqlParameter): Updated constructor to use the
353 new TDS RPC implementation.
354 Fixed missing attributes.
355 (SetDbType): Added new case for sql_variant type.
356 (ConvertToFrameworkType): Implemented new private method to
357 convert the data type to framework type.
359 * SqlParameterCollection.cs: Fixed missing attributes and
360 implemented missing methods.
362 * SqlConnection.cs: Fixed missing attributes.
364 * SqlConnectionStringBuilder.cs: Certain attributes are missing or
365 its value or they are not appropriate. Fixed them.
367 * SqlDataReader.cs (GetData): Method is available only under 1.0
370 * SqlCommandBuilder.cs: Certain attributes are available only
371 under 2.0 profile, so moved them inside ifdef.
373 * SqlCommand.cs: Certain attributes are available only under 2.0
374 profile, so moved them inside ifdef.
376 * SqlBulkCopy.cs: Added new stubs.
378 * SqlBulkCopyColumnMappingCollection.cs: Added new stubs.
380 2007-05-29 Nagappan A <anagappan@novell.com>
382 * SqlCommand.cs (Dispose): Command.Dispose closing
383 connection. Fixes bug # 81710. Thanks to AMC <amc1999@gmail.com>
386 2007-05-10 Nagappan A <anagappan@novell.com>
388 * SqlClientMetaDataCollectionNames.cs: Fixed incorrect constructor
391 * SqlConnectionStringBuilder.cs: Fixed missing attributes.
393 2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
395 * SqlConnectionStringBuilder.cs: added MonoNotSupported attribute.
397 2007-04-03 Amit Biswas <amit@amitbiswas.com>
399 * SqlDataReader.cs (GetSqlBytes, GetProviderSpecificFieldType)
400 (GetProviderSpecificValue, GetProviderSpecificValues): Implemented
403 * SqlParameter.cs (XmlSchemaCollectionDatabase): Implemented missing property
404 (XmlSchemaCollectionName): Implemented missing property
405 (XmlSchemaCollectionOwningSchema): Implemented missing property
406 (SourceColumnNullMapping): Existing implementation was not correct, Replaced the implementation
407 (.ctor): Implemented mising constructor new in .net 2.0
409 * SqlErrorCollection.cs (CopyTo): Implemented missing API
411 * SqlParameter.cs (InferSqlType): Corrected bug related to default values of
413 (ResetSqlDbType): Implemented missing API
414 (ResetDbType): Implemented missing API
416 2007-03-09 Amit Biswas <amit@amitbiswas.com>
418 * SqlParameterCollection.cs (CopyTo): Implemented missing API
420 2007-04-02 Nagappan A <anagappan@novell.com>
422 * SqlParameter.cs: Variable name fix.
424 2007-03-20 Nidhi Rawal <rawalnidhi_rawal@yahoo.com>
426 * SqlClientFactory.cs: Added two using directives.
427 (CreateConnectionStringBuilder): Implemented the method.
428 (CreatePermission): Implemented the property.
430 * SqlCommand.cs: Added one using directive.
431 (Clone): Implemented the method.
432 (Dispose): Implemented the method.
433 (BeginExecuteXmlReader): Implemented the method.
435 * SqlCommandBuilder.cs (QuoteIdentifier): Implemented the method.
436 (UnquoteIdentifier): Implemented the method.
438 * SqlConnection.cs (ChangePassword): Implemented the method.
440 2007-03-19 Nidhi Rawal <rawalnidhi_rawal@yahoo.com>
442 * SqlClientFactory.cs (CanCreateDataSourceEnumerator): Implemented
445 * SqlCommand.cs (Notification): Implemented the property.
446 (NotificationAutoEnlist): Implemented the property.
448 * SqlDataReader.cs (VisibleFieldCount): Implemented the property.
450 * SqlConnectionStringBuilder.cs (TrustServerCertificate): Implemented
452 (TypeSystemVersion): Implemented the property.
453 (UserInstance): Implemented the property.
454 (ContextConnection): Implemented the property.
456 * SqlConnection.cs (FireInfoMessageEventOnUserErrors): Implemented
458 (StatisticsEnabled): Implemented the property.
460 * SqlDataAdapter.cs (UpdateBatchSize): Implemented the property.
462 * SqlParameter.cs: Implemented one attribute.
464 2007-03-16 Andreia Gaita <avidigal@novell.com>
466 * SqlParameter.cs: Move isVariableSizeType flag to TdsMetaParameter
467 so that the TdsMetaParameter can validate itself for valid size / values.
468 * SqlCommand.cs (Execute): Call Validate on TdsMetaParameter.
470 2007-03-14 Nagappan A <anagappan@novell.com>
472 * SqlCommand.cs (CommandType): Exception type thrown in 2.0
473 profile is different than 1.0, ArgumentOutOfRangeException.
474 (Connection): Exception type thrown in 2.0 profile is different
475 than 1.0, ArgumentOutOfRangeException.
476 (Execute): If Size property is 0 for String and Binary type, then
477 throw InvalidOperationException.
478 (ValidateCommand): Exception type thrown in 2.0 profile is
479 different than 1.0, NullReferenceException.
481 2007-03-09 Nagappan A <anagappan@novell.com>
483 * SqlDataReader.cs: Fixed syntax erros reported in class status
486 2007-03-09 Andreia Gaita <avidigal@novell.com>
488 * SqlCommand.cs (ExecuteScalar): Fix returned value for
489 stored procedure calls to return the first column of the
490 first row produced by the proc.
492 2007-03-08 Nagappan A <anagappan@novell.com>
494 * SqlCommand.cs (CloseDataReader): Checks whether the SQL
495 connection is created or not.
497 2007-03-07 Andreia Gaita <avidigal@novell.com>
499 * SqlCommand.cs (ExecuteScalar): when calling stored procedures,
500 implement support for return of output values in the parameter
503 2007-02-16 Nidhi Rawal <rawalnidhi_rawal@yahoo.com>
505 * SqlParameter.cs (CompareInfo): Implemented the property
507 (LocaleId): Written the property LocaleId.
508 (SqlValue): Written the propert SqlValue.
510 2007-02-15 Nidhi Rawal <rawalnidhi_rawal@yahoo.com>
512 * SqlCommand.cs: Added some attributes which were not implemented
513 for .NET 2.0 and removed extra attribute which are not there in
516 * SqlCommandBuilder.cs: Added some attributes that were not
517 implemented for .NET 2.0.
519 * SqlParameterCollection.cs: Added some attributes that were
520 not implemented for .NET 2.0.
522 * SqlConnectionStringBuilder.cs: Added some attributes that
523 were not implemented for .NET 2.0.
525 * SqlConnection.cs: Added attribute that was not implemented
528 * SqlParameter.cs: Added some attributes which were not
529 implemented for .NET 2.0 and removed some extra attributes which
530 are not there in .NET 2.0
532 2007-02-09 Nagappan A <anagappan@novell.com>
534 * SqlConnection.cs (SetConnectionString): Fixes bug # 80712. A
537 2007-01-08 Nagappan A <anagappan@novell.com>
539 * SqlTransaction.cs (Dispose): Fixed compliation warning.
541 * SqlDataReader.cs (GetValues): Length of elements to be copied was
542 decided based on the argument array passed, which caused a bug, if
543 the length of given array is more than actual column values.
545 * SqlCommandBuilder.cs (CatalogSeparator, SchemaSeparator)
546 (CatalogLocation): Implemented missing properties.
547 (CreateDeleteCommand, CreateInsertCommand, CreateUpdateCommand):
548 Modified private methods to take bool flag. If true, add actual
549 parameter name instead of p1, p2 etc.
550 (CreateParameter): Added overloaded private method to create
551 parameter with the actual column name.
552 (GetUpdateCommand, GetDeleteCommand, GetInsertCommand):
553 Implemented missing overloaded methods.
554 (SetRowUpdatingHandler): Implemented missing protected method.
556 * SqlCommand.cs: Fixed compilation warning. Removed bogus
559 2006-12-05 Nagappan A <anagappan@novell.com>
561 * SqlCommand.cs (Execute): If sql2 length is greater than 0, then
562 add ';' and the respective sql2 string and then execute the
563 string. Fixes bug # 79880.
565 2006-08-30 Nagappan A <anagappan@novell.com>
567 * SqlConnection.cs: Implemented SqlConnection.GetSchema ().
569 2006-09-08 Konstantin Triger <kostat@mainsoft.com>
571 * SqlClientFactory.cs: implemented SqlClientFactory.CreateConnection ().
573 2006-07-13 Senganal T <tsenganal@novell.com>
575 * SqlClientFactory.cs SqlCommand.cs SqlConnectionFactory.cs
576 SqlClientPermission.cs SqlParameterCollection.cs SqlDataReader.cs
577 SqlConnection.cs SqlParameter.cs SqlTransaction.cs :
580 2006-05-31 Gert Driesen <drieseng@users.sourceforge.net>
582 * SqlConnection.cs: Removed extra destructor, as destructor on
583 System.ComponentModel.Component already calls Dispose.
584 * SqlParameter.cs: Removed explicit interface implementation of
585 IDataParameter.ParameterName.
587 2006-05-26 Senganal T <tsenganal@novell.com>
590 - InferSqlType : if value is null or DBNull.Value, retain the
591 current parameter type.
593 2006-04-18 Senganal T <tsenganal@novell.com>
596 - SetConnectionString : set the pareameter to default values
597 if connection string is empty or null
598 - Open : Raise InvalidOperationException if Connection String
600 - Dispose : Test exception not raised if dispose called on a
601 connection with empty connection string
603 slight modification of the patch by Jonel Rienton
605 2006-04-07 Senganal T <tsenganal@novell.com>
607 * SqlCommandBuilder.cs :
608 * CreateDeleteCommand ()
609 * CreateUpdateCommand ()
610 * CreateInsertCommand ()
611 - Changed the signature. Do not need DataRow parameter
612 as the Query generated is parametric.
613 - Correct the null-check term in the WhereClause, set the
614 correct properties for null-check parameter
616 - Modified the generated query to match the query as
617 generated by 2.0. We now ignore null-check in the
618 whereclause if the Column does not allow nulls.
619 * ctor () : Set QuotePrefix and QuoteSuffix for 2.0 profile
620 * GetUpdateCommand ()
621 * GetInsertCommand ()
622 * GetDeleteCommand ()
623 - Do not create new command everytime. Create only if
625 * RefreshSchema : Reset the commands.
627 2006-02-17 Chris Toshok <toshok@ximian.com>
629 * SqlCommand.cs, SqlCommandBuilder.cs, SqlConnection.cs,
630 SqlDataAdapter.cs: remove DataSysDescription attributes for >= 2.0
632 2006-02-17 Chris Toshok <toshok@ximian.com>
634 * SqlDataReader.cs: remove VisibleFieldCount property.
636 2006-02-10 Senganal T <tsenganal@novell.com>
638 - GetBytes : Read binary/blob/clob data sequentially when
639 CommandBehavior is set to SequentialAcccess
640 - GetChars : Read String/clob data sequentially when CommandBehavior
641 is set to SequentialAccess
643 - ExecuteReader : set SequentialAccess property on TDS
644 - CloseDataReader : Reset the command behavior
646 2006-01-27 Senganal T <tsenganal@novell.com>
648 * SqlCommandBuilder.cs :
649 - Modified CreateUpdateCommand,CreateDeleteCommand , to not include
650 column name in the query if its a expression col.
651 Also, modified the queries to match the generated queries in ms.net
653 - Modifed Prepare, to check if Parameter is explicitly initialized
655 - Added CheckIfInitialized : Checks if datatype is explicitly set and
656 non-zero size is set for variable datatypes.
658 - Added code for GetSqlBinary ()
659 - Fixed GetFieldCount ()
660 - Added more checks and exceptions.
662 2006-01-17 Senganal T <tsenganal@novell.com>
664 * SqlCommandBuilder.cs
665 - Modified CreateNewCommand () : Clean up any existing parameter list
666 before reusing the command.Fixes #77225
668 2005-11-24 Senganal T <tsenganal@novell.com>
671 - Modifications to get the correct Packet Size
673 2005-11-21 Senganal T <tsenganal@novell.com>
675 * SqlClientFactory.cs
676 * SqlCommandBuilder.cs
677 * SqlParameterCollection.cs
683 Added stubs and other changes for ADO.NET 2.0 compatibility
685 2005-11-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
687 * SqlConnection.cs: don't throw NotImplementedException when using
688 'PERSIST SECUTIRY INFO'. Just do nothing.
690 2005-10-27 Senganal T <tsenganal@novell.com>
695 Made changes so that the number of rows affected can be got directly from
696 Tds regardsless of the type of query.Fixes bug #75698
698 2005-10-19 Senganal T <tsenganal@novell.com>
700 * SqlConnection.cs (SetProperties) :
701 - Added support for AttachDBFileName
703 2005-10-19 Senganal T <tsenganal@novell.com>
705 * SqlException.cs (Constructor)
706 - Modified the constructor, so that the message parameter
707 of base class is not the same as that of the Exception message.
710 2005-09-24 Sureshkumar T <tsureshkumar@novell.com>
712 * SqlParameterCollection.cs (AddWithValue): added method. patch
713 from awaddell@fnfr.com (Andy Waddell).
715 2005-09-21 Senganal T <tsenganal@novell.com>
719 - Set the correct Default Values for Parameters.
720 - Added Argument Checks (where missing) for the Properties and
721 throw the correct exception on error.
722 - Modified SetDefaultParameters() to make sure that the parameters
723 are all reset to default values everytime it is called.
724 - Modified SetProperties() to take into account the order of the
725 keywords in the ConnectionString.
727 SqlConnection Fixes for the failing sqlserver connected-mode testcases
728 in ProviderTest/System.Data.SqlClient/SqlConnectionTest.cs
730 2005-09-21 Senganal T <tsenganal@novell.com>
732 * SqlTransaction.cs : Modifed the Rollback() method, so that
733 connection can be used for another transaction after the previous
734 transaction is rolled back. fixes bug 75904
736 2005-09-02 Umadevi S <sumadevi@novell.com>
738 * Removed SqlResultSet.cs file
740 2005-08-26 Sureshkumar T <tsureshkumar@novell.com>
742 * SqlConnection.cs (Open): enable sp_reset_connection.
744 2005-08-25 Sureshkumar T <tsureshkumar@novell.com>
746 * SqlCommandBuilder.cs: BuildInformation (): continue on columns
747 who don't have basetablename.
749 2005-08-12 Daniel Morgan <danielmorgan@verizon.net>
751 * SqlCommandBuilder.cs: update command builder based on
752 OdbcCommandBuilder latest changes to fix regression
755 2005-08-05 Sureshkumar T <tsureshkumar@novell.com>
757 * SqlCommandBuilder.cs: Set SourceVersion property to the created
758 parameters as it is used by the Adapter's Update method.
760 2005-07-22 Sureshkumar T <tsureshkumar@novell.com>
762 * SqlCommandBuilder.cs, SqlParameterCollection.cs,
763 SqlConnection.cs, SqlParameter.cs:
764 - updated attributes & attribute descriptions to match with
767 2005-07-16 Daniel Morgan <danielmorgan@verizon.net>
769 * SqlCommandBuilder.cs: CreateUpdateCommand should get the current value, not
770 the orginal value when setting one of the SET variables
772 2005-07-15 Sureshkumar T <tsureshkumar@novell.com>
774 * SqlCommandBuilder.cs:
775 - set_DataAdapter: unsubscribe event if DataAdapter is reset.
776 - CreateInsertCommand, CreateUpdateCommand, CreateDeleteCommand:
777 if column mapping is missing, use the source column name. use
778 proper version to get the data.
779 - RowUpdatingHandler: set status to continue to actually process
782 2005-07-04 Ben Maurer <bmaurer@ximian.com>
784 * SqlError.cs: Patch from dezelin@gmail.com to fix serialization.
786 2005-06-29 Sureshkumar T <tsureshkumar@novell.com>
788 * SqlConnection.cs: Open (): catch TdsInternalException and throw
790 * SqlException.cs: code re-organised to pass message as well with
793 2005-06-23 Sureshkumar T <tsureshkumar@novell.com>
795 * SqlConnectionStringBuilder.cs: simplified multiple keyword
796 mappings and allowed-key checking. fixed Item, Remove,
797 ContainsKey, ShoudSerialize, TryGetValue implementations.
799 2005-06-21 Sureshkumar T <tsureshkumar@novell.com>
801 * SqlConnectionStringBuilder.cs: Connection String Builder class
802 for SqlClient Data Provider.
804 2005-06-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
806 * SqlParameter.cs: moved the 'using S.D.SqlTypes' out of NET_2_0. Fixes
809 2005-06-01 Sureshkumar T <tsureshkumar@novell.com>
811 * SqlParameter.cs: Parameter's value can be SqlTypes. Convert to
812 framework type to pass to TDS layer. Fixes bug #75044.
814 2005-05-24 Umadevi S <sumadevi@novell.com>
815 * fixed some 2.0 and 1.0 specific fields/attributes for various classes.
816 * Added SqlClientMetaDataCollectionNames.cs, Implemented some 2.0
817 properties for SqlParameterCollection for the bulkcopy feature.
820 2005-05-20 Kornél Pál <http://www.kornelpal.hu/>
822 * Fixed Bug #53169 - SqlDataReader incorrectly returns bigint as decimal
823 Note: The fix works around the limitations of TDS 7.0 to avoid this
824 difference between Mono and .NET Framework TDS 8.0 should be used instead.
826 2005-05-20 Umadevi S <sumadevi@novell.com>
828 * Fixed Bug 74948 - SqlParameter also takes DBNull Value.
829 Correct some attributes stuff of 1.1 and 2.0 for SqlParameter.cs
831 2005-05-20 Umadevi S <sumadevi@novell.com>
833 * Continuing on implementation for bulkcopy and notification
834 Added files SqlNotificationEventArgs.cs, OnChangeEventHandler.cs
835 Modified SqlRowUpdatingEventArgs.cs
837 2005-05-19 Umadevi S <sumadevi@novell.com>
839 * For implementation of bulkcopy and notifications added files
840 SqlBulkCopyOptions.cs,SqlBulkCopyColumnMapping.cs,SqlNotificationAuthType.cs
841 SqlNotificationTransports.cs,SqlRowsCopiedEventArgs.cs, SqlRowsCopiedEventHandler.cs
843 2005-05-19 Umadevi S <sumadevi@novell.com>
845 * Corrected types,enum values of SqlNotificationType,SqlNotificationSource,
846 SqlNotificationInfo and added new method in SqlRowUpdatingEventArgs.cs
847 (For implementation of bulkcopy/notifications)
849 2005-04-19 Sureshkumar T <tsureshkumar@novell.com>
851 * SqlDataReader.cs: NextResult (): Re-create schema table for each
852 result set. don't re-use, as it may be referenced from somewhere.
854 2005-04-07 Sureshkumar T <tsureshkumar@novell.com>
855 Ankit Jain <radical@corewars.org>
857 * SqlConnection.cs: Implemented additional connection string
858 property "Asynchronous Processing".
860 * SqlCommand.cs: Implemented Asynchronous command execution API.
862 * SqlAsyncState.cs: A internal state object for asynchronous
865 * SqlAsyncResult.cs: Added. Class to hold result for asynchronous
868 2005-03-28 Sureshkumar T <tsureshkumar@novell.com>
870 * SqlCommand.cs: Execute: Add a semicolon at the end of
871 CommandText. Multiple semicolon's are not being complained.
875 2005-03-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
877 * SqlConnection.cs: added a finalizer for correct implementation of the
880 2005-03-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
882 * SqlException.cs: make it serialization-compatible with MS. Patch by
883 Aleksandar Dezelin. Closes bug #73596.
885 2005-03-08 Sureshkumar T <tsureshkumar@novell.com>
887 * SqlDataReader.cs: Call base constructor with CommandBehavior
888 parameter instead of passing DbCommand object. The internal base
889 class with DbCommand Parameter is removed.
891 2005-03-07 Sureshkumar T <tsureshkumar@novell.com>
893 * SqlCommand.cs : Set CommandBehavior on
894 ExecuteReader,ExecuteScalar,ExecuteNonQuery. This is used in
897 This fixes bug #73252.
899 2005-03-03 Sureshkumar T <tsureshkumar@novell.com>
901 * SqlClientFactory.cs: While creating command, create using
902 DbConnectionFactory as DbConnectionBase.CreateDbCommand needs to
903 have a connection factory.
905 * SqlConnection.cs: Added an internal constructor which takes
908 * SqlConnectionFactory.cs: Added. Concrete class for abstract
909 factory DbConnectionFactory.
911 2005-02-22 Sureshkumar T <tsureshkumar@novell.com>
913 * SqlDataReader.cs: GetBytes: return the length of the data if
914 output buffer is null. if not, copy the values to buffer and
915 return the bytes actually read.
917 2005-02-02 Sureshkumar T <tsureshkumar@novell.com>
920 - Database: return db name from database if connection open,
921 otherwise take from connection string.
922 - Set default values for parameters in the constructor itself.
923 - Dangling else problem with Close method.
924 - reset values of parms (TdsConnectionParameters) rather setting
926 - set disposed to false in Open method
927 - finally call base.Dispose in Dispose (bool)
929 Fixes nunit regressions SqlConnectionTest:DefaultConnectionValues
930 and SqlConnectionTest:DatabaseSynonyms.
932 2005-01-27 Sureshkumar T <tsureshkumar@novell.com>
934 * SqlCommand.cs (DeriveParameters): Change parameter name to
936 * SqlParameter.cs (SqlParameter (object [])) : call default
937 constructor to create Tds.Metaparameter.
941 2005-01-03 Sureshkumar T <tsureshkumar@novell.com>
943 * SqlCommand.cs: Fixed bug #68973. Reset Tds.RecordsAffected to 0
944 for each execute statement.
946 2004-11-25 Sureshkumar T <tsureshkumar@novell.com>
948 These changes are for 2.0 profile only. These changes implement
949 the generic data base access technique using Provider Factory
950 Implementation. These classes need to be dervided from abstract
951 base classes so that the corresponding factory classes are
952 created when calling CreateCommand, CreateParameter, etc.
954 * SqlClientFactory.cs: Provider Factory class Implementaion for SqlServer
955 * SqlParameter.cs: Change base classes and override methods.
956 * SqlParameterCollection.cs: Change base classes and override methods.
957 * SqlTransaction.cs: Change base classes and override methods.
958 * SqlDataSourceEnumerator.cs: DataSource Enumerator stubs.
959 * SqlDataReader.cs: Change base classes and override methods.
960 * SqlConnection.cs: Change base classes and override methods.
961 * SqlCommandBuilder.cs: Change base classes and override methods.
962 * SqlCommand.cs: Change base classes and override necessary methods.
964 2004-10-14 Umadevi S <sumadevi@novell.com>
965 * SqlCommand.cs - Implemented the clone method correctly.
968 2004-10-06 Umadevi S <sumadevi@novell.com>
969 * ISqlNoticationReceiver.cs - changed namespace
970 * Added files SqlNotificationType.cs, SqlNotificationInfo.cs, SqlNotificationSource.cs
972 2004-09-24 Umadevi S <sumadevi@novell.com>
973 * SqlTransaction.cs - Dispose will not call rollback incase the transaction is not open.
975 2004-09-14 Sebastien Pouliot <sebastien@ximian.com>
977 * SqlClientPermission.cs: Added internal constructor accepting an Sql
978 ClientPermissionAttribute parameter (using base class protected ctor).
979 * SqlClientPermissionAttribute.cs: Copy now use the new SqlClient
980 Permission constructor.
982 2004-09-13 Sebastien Pouliot <sebastien@ximian.com>
984 * SqlClientPermission.cs: Mostly completed (needs tests).
985 * SqlClientPermissionAttribute.cs: Completed.
987 2004-09-02 Umadevi S <sumadevi@novell.com>
988 * SqlCommand.cs - ExecuteNonQuery to return -1 incase of executing a storedprocedure
990 2004-08-16 Gert Driesen <drieseng@users.sourceforge.net>
992 * SqlConnection.cs: added TODO on ConnectionString for keywords
993 that are not yet implemented. check value of Integrated Security
994 keyword, check value of bool keywords, improve error reporting
995 for int keywords, added support for the following keyword
996 synonyms : APP, TIMEOUT, NETWORK, PERSISTSECURITYINFO, WSID,
997 LANGUAGE, USER. Throw NotImplementedException when encrypt keyword
998 is set to true, enlist keyword is set to false or attachdbfilename
999 keyword (or one of its synonyms) is set. Added FIXME for PERSIST
1000 SECURITY INFO keyword, throwing a NotImplementedException here
1001 would break lots of apps
1003 2004-08-16 Gert Driesen <drieseng@users.sourceforge.net>
1005 * SqlConnection.cs - spaces to tabs
1007 2004-08-12 Sureshkumar T <tsureshkumar@novell.com>
1008 * SqlDataReader.cs - In Close method, the remaining resultsets are drained
1009 out, to read output parameters & to avoid stream overlap
1011 2004-06-30 Umadevi S <sumadevi@novell.com>
1012 * SqlCommand.cs : In the Execute Method the commandbehavior parameters were ignored correct
1015 2004-06-22 Atsushi Enomoto <atsushi@ximian.com>
1017 * SqlCommandBuilder.cs : Avoid cast exception caused by DbNull.
1019 2004-06-18 Umadevi S <sumadevi@novell.com>
1020 * SqlCommand.cs - ExecuteNonQuery returns -1 in all cases except
1021 insert,update or delete.
1023 2004-06-18 Umadevi S <sumadevi@novell.com>
1024 * SqlConnection.cs - handled null being passed as a connectionstring
1025 - checked for minimal set of parameters in connectionstring.
1026 - handled unrecogonized keywords similar to MS.NET
1028 2004-06-17 Umadevi S <sumadevi@novell.com>
1029 * SqlTransaction.cs - fixed multiple rollbacks being called causes invalidoperationexception
1031 2004-06-04 Gert Driesen <drieseng@users.sourceforge.net>
1033 * SqlClientPermission.cs: removed extra CreateInstance
1036 2004-06-02 Gert Driesen <drieseng@users.sourceforge.net>
1038 * SQLDebugging.cs: added missing attributes, marked ctor
1039 public to match MS.NET
1041 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
1043 * SqlClientPermission.cs : don't use chained obsolete .ctor.
1045 2004-05-20 Gert Driesen (drieseng@users.sourceforge.net)
1047 * SqlClientPermissionAttribute.cs: change AllowMultiple and
1048 Inherited to match .NET
1050 2004-05-20 Umadevi S <sumadevi@novell.com>
1052 * Fixed bug 58406- implemented the hasrow method, test program used
1053 to test with the bug report
1055 2004-05-13 Umadevi S <sumadevi@novell.com>
1057 * SqlClientPermission.cs, SqlDataReader.cs - added missing methods with TODO tags
1058 * SqlCommand.cs, SqlDataAdapter.cs - implemented ToolboxItemAttribute
1059 * SQLDebugging.cs - Added new file with a TODO tag
1061 2004-04-05 Lluis Sanchez Gual <lluis@ximian.com>
1063 * SqlConnection.cs: Use connection pool implemented in Mono.Data.Tds.
1065 2004-04-01 Lluis Sanchez Gual <lluis@ximian.com>
1067 * SqlDataReader.cs: Null values are now represented with DBNull instances.
1070 2004-03-14 Tim Coleman <tim@timcoleman.com>
1071 * SqlCommand.cs SqlConnection.cs:
1072 Changes from two patches by Andres Taylor
1073 <andres@rotselleri.com>
1075 2004-03-12 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1077 * SqlParameter.cs: DO NOT USE the consts scheme if types can be referenced directly!
1079 2004-01-10 Atsushi Enomoto <atsushi@ximian.com>
1081 * SqlClientPermission.cs : Fixed NET_2_0 build related to
1082 obsolete attribute problem (see DbDataPermission.cs)
1084 2003-12-28 Tim Coleman <tim@timcoleman.com>
1086 Stubbed out this class.
1088 2003-12-23 Tim Coleman <tim@timcoleman.com>
1090 Improved connection string parsing. See
1091 System.Data.Common.DbConnectionString for source.
1093 2003-12-21 Tim Coleman <tim@timcoleman.com>
1095 Enable Integrated Security
1097 2003-12-19 Tim Coleman <tim@timcoleman.com>
1098 * ISqlNotificationReceiver.cs SqlResultSet.cs:
1100 * SqlClientPermission.cs:
1101 Fix constructor for 1.2
1103 2003-12-04 John Luke <jluke@cfl.rr.com>
1105 * SqlXmlTextReader.cs: applied patch from Chris Masters <neeeeeep@bigpond.com>
1106 fix peek so it checks if it is at the end and also to make sure that if Read()
1107 advances the position past the end of the localBuffer array, it makes
1108 a call to GetNextBuffer(). fixes bug #40253 System.IndexOutOfRangeException when
1109 using SqlCommand.ExecuteXmlReader()
1111 2003-11-20 Joerg Rosenkranz <JoergR@voelcker.com>
1113 * SqlConnection (SetDefaultConnectionParameters):
1114 Changed default value of WORKSTATION ID to reflect real
1115 host name instead of "localhost".
1117 2003-11-16 Ben Maurer <bmaurer@users.sourceforge.net>
1119 * SqlParameterCollection.cs (Clear): Clear needs to take
1120 the parameter out of the collection so that it can be used
1125 2003-10-03 Diego Caravana <diego@toth.it>
1127 * SqlCommand.cs: no change.
1129 * SqlConnection.cs (Close): Added checks for null instance
1132 * SqlParameter.cs (Direction): Now handles parameters of type
1133 ReturnValue and InputOutput.
1135 * SqlParameterCollection.cs (IndexOf(string)): Search for
1136 SqlParameter object in list is done by obtaining ParameterName
1137 attribute, not directly through list.IndexOf().
1139 2003-08-22 Duncan Mak <duncan@ximian.com>
1141 * SqlCommand.cs (ExecuteNonQuery): Return
1142 Connection.Tds.RecordsAffected if it is successful. Patch from
1143 Jörg Rosenkranz <joergr@voelcker.com>.
1145 This is part of a fix to bug #40315.
1147 2003-08-20 Duncan Mak <duncan@ximian.com>
1149 * SqlConnectionPool.cs (ReleaseConnection): A patch from Joerg
1150 Rosenkranz <JoergR@voelcker.com>. Currently, if a connection is
1151 closed by an external event (network problem, etc.) it is pushed
1152 back into the connection pool. The next Open call retrieves this
1153 invalid connection which leads to exceptions when executing
1156 This patch fixes this problem. This closes bug #47429.
1158 2003-07-04 Miguel de Icaza <miguel@ximian.com>
1160 * SqlDataReader.cs: Added extra information to the exceptions
1161 thrown by all the GetXXXX methods.
1163 2003-03-15 Daniel Morgan <danmorg@sc.rr.com>
1165 * SqlConnection.cs: if Server in the ConnectionString
1166 is set to "(local", use "localhost" as the hostname
1169 2003-03-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1171 * SqlException.cs: implemented GetObjectData ().
1173 2003-02-16 Daniel Morgan <danmorg@sc.rr.com>
1175 * ChangeLog: added this file
1177 * SqlConnection.cs: - parse data source for 3 possible uses:
1179 "Server=hostname\\instancename",
1180 "Server=hostname,port" and open the connection based on the
1181 resulting server name and port.
1182 - Added support for named instances
1183 by discovery of the sql server tcp port via the sql monitor (udp port 1434)
1184 thanks to Phillip Jerkins (Phillip.Jerkins@morgankeegan.com) contribution.
1185 Also, thanks to Gonzalo and Tim for their help with timeouts.