1 2008-07-01 Rodrigo Kumpera <rkumpera@novell.com>
3 * SqlDataReader.cs: Do all column accesses with int indexes.
5 2008-07-01 Rodrigo Kumpera <rkumpera@novell.com>
7 * SqlDataReader.cs (GetSchemaTable): All column index are constants,
10 2008-07-01 Rodrigo Kumpera <rkumpera@novell.com>
12 * SqlDataReader.cs (GetSchemaTable): Calculate column indexes
13 outside of the row loop.
15 2008-07-01 Marek Habersack <mhabersack@novell.com>
17 * SqlDataReader.cs: use named properties in TdsDataColumn for the
20 2008-06-30 Zoltan Varga <vargaz@gmail.com>
22 * SqlDataReader.cs: Allocate 'schemaTable' lazily.
23 (GetSchemaValue): Avoid some hash table lookups
25 2008-06-27 Zoltan Varga <vargaz@gmail.com>
27 * SqlDataReader.cs (ConstructSchemaTable): Avoid unneccessary reflection calls.
29 2008-06-23 Veerapuram Varadhan <vvaradhan@novell.com>
31 * SqlDependency.cs: New
33 2008-06-12 Veerapuram Varadhan <vvaradhan@novell.com>
35 Patch by Christian Hergert <christian.hergert@gmail.com>
36 * SqlConnection.cs (Open): Do not reset the connection as it is already
37 done in the TdsConnectionPool itself.
39 2008-06-12 Marek Habersack <mhabersack@novell.com>
41 * SqlParameterCollection.cs: this [int] must check the range and
42 throw an exception if necessary.
44 * SqlCommand.cs: throw IOEX when stored procedure is not found in
45 DeriveParameters. All procedures in MS SQL will report at least
46 one parameter - the return value.
48 2008-06-10 Veerapuram Varadhan <vvaradhan@novell.com>
50 * SqlConnection.cs: TdsConnectionPool.GetConnectionPool() now returns
51 IDictionary<TKey, TValue>.
53 2008-06-09 Ankit Jain <jankit@novell.com>
55 * SqlCommand.cs: Use Tds instead of ITds now.
56 * SqlConnection.cs: Likewise.
58 2008-05-27 Gert Driesen <drieseng@users.sourceforge.net>
60 * SqlConnection.cs: Added support for '.' as alias for localhost.
61 Improve exception message when TCP/IP protocol is not enabled.
63 2008-05-17 Gert Driesen <drieseng@users.sourceforge.net>
65 * SqlDataReader.cs (GetInt64): Removed workaround for TDS 7.0 handling
66 of bigint column type as this is handled in Mono.Data.Tds.
68 2008-05-14 Marek Habersack <mhabersack@novell.com>
70 * SqlConnection.cs: added support for USER INSTANCE keyword in the
73 2008-04-22 Veerapuram Varadhan <vvaradhan@novell.com>
76 * SqlCommand.cs: Handle exceptions sanely and do not close
77 connection on TdsTimeoutException.
79 2008-04-21 Gert Driesen <drieseng@users.sourceforge.net>
81 * SqlBulkCopyColumnMappingCollection.cs: Changed argument names to
82 match MS. Code formatting.
83 * SqlCommand.cs: Changed argument names to match MS. Code formatting.
84 Do not include explicit IDbCommand implementation on 2.0 profile.
85 * SqlCommandBuilder.cs: Changed argument names to match MS. Code
87 * SqlDataReader.cs: Changed argument names to match MS. Code
89 * SqlParameterCollection.cs: Do not include IList, ICollection and
90 IDataParameterCollection explicit interface implementation on 2.0
91 profile. Code formatting.
92 * SqlConnection.cs: Changed argument names to match MS.
93 * SqlDataAdapter.cs: Changed argument names to match MS.
94 * SqlTransaction.cs: Do not include explicit interface implementation
95 of IDbTransaction.Connection on 2.0 profile. Code formatting.
97 2008-04-19 Robert Jordan <robertj@gmx.net>
99 * SqlParameterCollection.cs (AddRange(SqlParameter[])):
100 Fix endless recursion.
102 2008-04-08 Marek Habersack <mhabersack@novell.com>
104 * SqlConnection.cs: TCP port discovery via UDP port 1434 should
105 honor the timeout specified in the connection string (or the
106 default one). In some environments 100 microseconds might not be
107 enough to discover the port.
109 2008-04-01 Marek Habersack <mhabersack@novell.com>
111 * SqlParameter.cs: ConvertToFrameworkType must handle empty
112 strings gracefully - a DBNull.Value must be returned in this
115 * SqlCommand.cs: DeriveParameters should split the stored
116 procedure name into the schema name and procedure name before
117 querying its parameters.
119 2008-03-03 Ankit Jain <jankit@novell.com>
121 * SqlClientMetaDataCollectionNames.cs: Set the field values.
123 2007-10-21 Gert Driesen <drieseng@users.sourceforge.net>
125 * SqlCommand.cs: Use ExceptionHelper.CheckEnumValue for enum checks.
127 2007-10-20 Gert Driesen <drieseng@users.sourceforge.net>
129 * SqlCommand.cs: Added constant for default CommandTimeout, instead
130 of using a magic number. Avoid unnecessary initialization. Fixed
131 default value for DesignTimeVisible. Return zero-length string if
132 CommandText is null. Use ExceptionHelper.InvalidEnumValueException
133 to avoid code duplication. Spaces to tabs and code formatting.
134 * SqlConnection.cs: Use different default package size on 2.0 profile.
135 Added constants for default values, instead of using magic numbers.
136 Avoid unnecessary initialization. In PacketSize, return default or
137 configured packet size when connection is not open. Use
138 ExceptionHelper.ConnectionClosed instead of local method. Removed
139 use of some hardcoded values in SetDefaultConnectionParameters, and
140 use Environment.MachineName as default WorkstationId instead of
141 DNS host name. Code formatting.
142 * SqlDataAdapter.cs: In default ctor, set SelectCommand to null.
143 Avoid unnecessary initializations. Use direct assignment in
144 IDbDataAdapter implementation. Fixed exception message for negative
145 UpdateBatchSize. In Dispose override, make sure to invoke base
148 2007-10-19 Gert Driesen <drieseng@users.sourceforge.net>
150 * SqlTransaction.cs: Clear connection in commit. In IsolationLevel,
151 throw IOE if transaction is no longer open.
153 2007-10-19 Gert Driesen <drieseng@users.sourceforge.net>
155 * SqlTransaction.cs: Avoid unnecessary initialization. Remove
156 isRolledBack since its essentially the same as isOpen. Use
157 ExceptionHelper.TransactionNotUsable instead of duplicating code.
158 On 2.0 profile, ignore call to Rollback when transaction was already
161 2007-10-18 Gert Driesen <drieseng@users.sourceforge.net>
163 * SqlConnection.cs: Avoid unnecessary initialization. Use string.Empty
164 for assigning zero-length string, and use String.Length to check for
165 zero-length string. Added support for IsolationLevel.Snapshot.
166 Added StructuredTypeMembers schema collection and restrictions. Fixed
167 table name for MetaDataCollections collection. Implemented
168 DataSourceInformation collection. Added missing data types (probably
169 introduced in 2.0 SP1). In GetSchema, throw InvalidOperationException
170 if connection is closed and throw NotImplementedException for
171 StructuredTypeMembers collection.
173 2007-10-18 Gert Driesen <drieseng@users.sourceforge.net>
175 * SqlConnection.cs: On 1.0 profile, IsolationLevel.Unspecified is
176 not valid. On 2.0 profile, when IsolationLevel.Unspecified is passed
177 make sure to also set SqlTransaction.IsolationLevel to
178 ReadCommitted. Modified exceptions to match MS.
180 2007-10-17 Nagappan <anagappan@novell.com>
182 * SqlParameter.cs (ConvertToFrameworkType): Added SqlDbType.Image.
184 2007-10-17 Nagappan <anagappan@novell.com>
186 * SqlConnection.cs: BeginTransaction does not handle
187 IsolationLevel.Unspecified, so the default is set as ReadCommited.
188 Thanks to Jerome Haltom <wasabi@larvalstage.net> for this patch. Fixes
190 * SqlTransaction.cs: If transaction count is greater then 0 then roll back.
191 Thanks to Jerome Haltom <wasabi@larvalstage.net> for this patch. Fixes
194 2007-10-15 Gert Driesen <drieseng@users.sourceforge.net>
196 * SqlException.cs: Do not hide Message on 2.0 profile. Fixes bug
199 2007-10-08 Marek Safar <marek.safar@gmail.com>
201 * SqlParameterCollection.cs (SetParameter): Fixed missing cast.
203 2007-09-27 Nagappan A <anagappan@novell.com>
205 * SqlConnection.cs: Added MonoTODO appropriately.
207 2007-09-26 Nagappan A <anagappan@novell.com>
209 * SqlCommandBuilder.cs: Code alignment.
211 2007-09-25 Nagappan A <anagappan@novell.com>
213 * SqlInitialCatalogConverter.cs, SqlDataSourceConverter.cs:
214 NetworkLibraryConverter.cs: Added new files.
216 * SqlParameter.cs: 2.0 attribute changes.
218 * SqlDataAdapter.cs: 2.0 attribute changes.
220 * SqlConnectionStringBuilder.cs: 2.0 attribute changes.
222 * SqlConnection.cs (ClearAllPools, ClearPool): Implemented 2.0
223 APIs, other 2.0 attribute changes.
225 * SqlCommandBuilder.cs (GetSchemaTable, InitializeCommand):
226 Implemented 2.0 APIs, other 2.0 attribute changes.
228 * SqlBulkCopyColumnMappingCollection.cs: Added constructor, 2.0
229 API compatibility changes.
231 * SqlException.cs: 2.0 attribute changes.
233 2007-08-13 Nagappan A <anagappan@novell.com>
235 * SqlConnection.cs (ConnectionString): 2.0 compatibility changes.
237 * SqlDataReader.cs (IsCommandBehavior): Fixed spelling mistake of
239 (Dispose): 2.0 compatibility changes.
241 * SqlBulkCopy.cs (SqlRowsCopied): Fixed spelling mistake of the
243 (RowsCopied): Generates event when NotifyAfter is set.
245 * SqlCommandBuilder.cs (Dispose, RefreshSchema): 2.0 compatibility
248 * SqlClientFactory.cs (CreateDataSourceEnumerator): Removed bogus
251 * SqlException.cs (Message): 2.0 compatibility changes.
253 2007-08-06 Nagappan A <anagappan@novell.com>
255 * SqlCommand.cs, SqlDataReader.cs, SqlConnection.cs: When the
256 server resets the connection, now the client code also disconnects
257 the session and remove the instance from pool. Fixes bug # 81933.
259 2007-07-31 Nagappan A <anagappan@novell.com>
261 * SqlCommand.cs (Transaction, Connection): IDbCommand Transaction
262 and Connection can be set to null. Fixes bug 82189.
264 2007-07-23 Nagappan A <anagappan@novell.com>
266 * SqlCommandBuilder.cs (ApplyParameterInfo, GetParameterName):
267 (GetParameterPlaceholder): Implemented 2.0 missing APIs.
269 2007-07-22 Nagappan A <anagappan@novell.com>
271 * SqlBulkCopy.cs (NotifyAfter): Implemented 2.0 property.
272 (GetColumnMetaData, GenerateColumnMetaData):
273 (ValidateColumnMapping): Implemented private method's to generate
274 and validate SqlBulkCopy headers.
275 (BulkCopyToServer): Private method to actually do the bulk copy
277 (WriteToServer): Implemented 2.0 missing overloaded methods.
278 (IDisposable.Dispose): Implemented 2.0 missing method.
280 * SqlBulkCopyColumnMappingCollection.cs (Add, CopyTo): Implemented
282 (Item): Implemented missing property.
284 * SqlBulkCopyColumnMapping.cs: Modified the implementation of
285 Constructors to use property.
287 * SqlDataReader.cs (GetSqlXml, IsCommandBehaviour): Added 2.0
289 (Connection): Added missing property.
291 * SqlParameter.cs (SetSqlDbType, ConvertToFrameworkType): Modified
292 method as internal from private.
294 * SqlConnection.cs: Fixed 2.0 missing feature.
296 * SqlException.cs: Fixed 2.0 missing feature.
298 * SqlClientPermission.cs: Fixed 2.0 missing feature.
300 2007-07-01 Gert Driesen <drieseng@users.sourceforge.net>
302 * ISqlNotificationReceiver.cs: Removed.
303 * SqlClientFactory.cs: Use SqlDataSourceEnumerator from S.D.Sql and
304 marked method todo. Avoid unnessary casts. Code formatting.
305 * SqlCommand.cs: Explicit interface implementation of IDbCommand not
306 necessary on 2.0 profile. Fixes API mismatches. Avoid unnecessary
307 casts. Code formatting.
308 * SqlConnection.cs: Also use RecommendAsConfigurable instead of
309 SettingBindableAttribute on 2.0. Use StateChange event from base class
310 on 2.0. Only explicitly implement IDbConnection methods on 1.0, since
311 these are implemented by base class on 2.0 profile. Removed extra
312 explicit implementation of IDisposable since the base class implements
313 this. Code formatting.
314 * SqlDataAdapter.cs: Dispose (bool) override not necessary on 2.0
315 profile. Stubbed ICloneable.Clone. Fixes API mismatches.
316 * SqlDataReader.cs: On 2.0, IDisposable.Dispose is implemented by
317 DbDataReader. Only 1.0 profile, explicitly implemented IEnumerable
318 GetEnumerator. Code formatting.
319 * SqlDataSourceEnumerator.cs: Removed.
320 * SQLDebugging.cs: Marked sealed on 2.0. Code formatting.
321 * SqlNotificationAuthType.cs: Removed.
322 * SqlNotificationInfo.cs: Added missing fields. Code formatting.
323 * SqlNotificationSource.cs: Added missing fields. Code formatting.
324 * SqlNotificationTransports.cs: Removed.
325 * SqlNotificationType.cs: Added missing Unknown field. Code formatting.
326 * SqlParameter.cs: Removed Browsable and EditorBrowsable attributes
327 from Precision and Scale. Fixes API mismatches. Code formatting fixes.
328 * SqlTransaction.cs: On 2.0 profile, Dispose method is exposed by
329 base class. Fixes API mismatches. Code formatting fixes.
331 2007-06-21 Nagappan A <anagappan@novell.com>
333 * SqlConnection.cs: Fixed compiler warning.
335 2007-06-11 Nagappan A <anagappan@novell.com>
337 * SqlConnection.cs (ParseDataSource): Adds tcp support in
338 connection string. Fixes bug # 80975.
340 * SqlCommand.cs (Dispose): On disposing the command object, don't
341 dispose connection and transaction.
343 2007-06-06 Nagappan A <anagappan@novell.com>
345 * SqlCommand.cs, SqlConnectionStringBuilder.cs, SqlConnection.cs:
346 Fixed 1.0 and 2.0 extras, errors as stated in class status page.
348 * SqlDataAdapter.cs, SqlParameter.cs:Fixed 1.0 and 2.0 extras,
349 errors as stated in class status page.
351 * SqlBulkCopyColumnMappingCollection.cs: Fixed 1.0 and 2.0 extras,
352 errors as stated in class status page.
354 2007-05-30 Nagappan A <anagappan@novell.com>
356 * SqlParameter.cs (SqlParameter): Updated constructor to use the
357 new TDS RPC implementation.
358 Fixed missing attributes.
359 (SetDbType): Added new case for sql_variant type.
360 (ConvertToFrameworkType): Implemented new private method to
361 convert the data type to framework type.
363 * SqlParameterCollection.cs: Fixed missing attributes and
364 implemented missing methods.
366 * SqlConnection.cs: Fixed missing attributes.
368 * SqlConnectionStringBuilder.cs: Certain attributes are missing or
369 its value or they are not appropriate. Fixed them.
371 * SqlDataReader.cs (GetData): Method is available only under 1.0
374 * SqlCommandBuilder.cs: Certain attributes are available only
375 under 2.0 profile, so moved them inside ifdef.
377 * SqlCommand.cs: Certain attributes are available only under 2.0
378 profile, so moved them inside ifdef.
380 * SqlBulkCopy.cs: Added new stubs.
382 * SqlBulkCopyColumnMappingCollection.cs: Added new stubs.
384 2007-05-29 Nagappan A <anagappan@novell.com>
386 * SqlCommand.cs (Dispose): Command.Dispose closing
387 connection. Fixes bug # 81710. Thanks to AMC <amc1999@gmail.com>
390 2007-05-10 Nagappan A <anagappan@novell.com>
392 * SqlClientMetaDataCollectionNames.cs: Fixed incorrect constructor
395 * SqlConnectionStringBuilder.cs: Fixed missing attributes.
397 2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
399 * SqlConnectionStringBuilder.cs: added MonoNotSupported attribute.
401 2007-04-03 Amit Biswas <amit@amitbiswas.com>
403 * SqlDataReader.cs (GetSqlBytes, GetProviderSpecificFieldType)
404 (GetProviderSpecificValue, GetProviderSpecificValues): Implemented
407 * SqlParameter.cs (XmlSchemaCollectionDatabase): Implemented missing property
408 (XmlSchemaCollectionName): Implemented missing property
409 (XmlSchemaCollectionOwningSchema): Implemented missing property
410 (SourceColumnNullMapping): Existing implementation was not correct, Replaced the implementation
411 (.ctor): Implemented mising constructor new in .net 2.0
413 * SqlErrorCollection.cs (CopyTo): Implemented missing API
415 * SqlParameter.cs (InferSqlType): Corrected bug related to default values of
417 (ResetSqlDbType): Implemented missing API
418 (ResetDbType): Implemented missing API
420 2007-03-09 Amit Biswas <amit@amitbiswas.com>
422 * SqlParameterCollection.cs (CopyTo): Implemented missing API
424 2007-04-02 Nagappan A <anagappan@novell.com>
426 * SqlParameter.cs: Variable name fix.
428 2007-03-20 Nidhi Rawal <rawalnidhi_rawal@yahoo.com>
430 * SqlClientFactory.cs: Added two using directives.
431 (CreateConnectionStringBuilder): Implemented the method.
432 (CreatePermission): Implemented the property.
434 * SqlCommand.cs: Added one using directive.
435 (Clone): Implemented the method.
436 (Dispose): Implemented the method.
437 (BeginExecuteXmlReader): Implemented the method.
439 * SqlCommandBuilder.cs (QuoteIdentifier): Implemented the method.
440 (UnquoteIdentifier): Implemented the method.
442 * SqlConnection.cs (ChangePassword): Implemented the method.
444 2007-03-19 Nidhi Rawal <rawalnidhi_rawal@yahoo.com>
446 * SqlClientFactory.cs (CanCreateDataSourceEnumerator): Implemented
449 * SqlCommand.cs (Notification): Implemented the property.
450 (NotificationAutoEnlist): Implemented the property.
452 * SqlDataReader.cs (VisibleFieldCount): Implemented the property.
454 * SqlConnectionStringBuilder.cs (TrustServerCertificate): Implemented
456 (TypeSystemVersion): Implemented the property.
457 (UserInstance): Implemented the property.
458 (ContextConnection): Implemented the property.
460 * SqlConnection.cs (FireInfoMessageEventOnUserErrors): Implemented
462 (StatisticsEnabled): Implemented the property.
464 * SqlDataAdapter.cs (UpdateBatchSize): Implemented the property.
466 * SqlParameter.cs: Implemented one attribute.
468 2007-03-16 Andreia Gaita <avidigal@novell.com>
470 * SqlParameter.cs: Move isVariableSizeType flag to TdsMetaParameter
471 so that the TdsMetaParameter can validate itself for valid size / values.
472 * SqlCommand.cs (Execute): Call Validate on TdsMetaParameter.
474 2007-03-14 Nagappan A <anagappan@novell.com>
476 * SqlCommand.cs (CommandType): Exception type thrown in 2.0
477 profile is different than 1.0, ArgumentOutOfRangeException.
478 (Connection): Exception type thrown in 2.0 profile is different
479 than 1.0, ArgumentOutOfRangeException.
480 (Execute): If Size property is 0 for String and Binary type, then
481 throw InvalidOperationException.
482 (ValidateCommand): Exception type thrown in 2.0 profile is
483 different than 1.0, NullReferenceException.
485 2007-03-09 Nagappan A <anagappan@novell.com>
487 * SqlDataReader.cs: Fixed syntax erros reported in class status
490 2007-03-09 Andreia Gaita <avidigal@novell.com>
492 * SqlCommand.cs (ExecuteScalar): Fix returned value for
493 stored procedure calls to return the first column of the
494 first row produced by the proc.
496 2007-03-08 Nagappan A <anagappan@novell.com>
498 * SqlCommand.cs (CloseDataReader): Checks whether the SQL
499 connection is created or not.
501 2007-03-07 Andreia Gaita <avidigal@novell.com>
503 * SqlCommand.cs (ExecuteScalar): when calling stored procedures,
504 implement support for return of output values in the parameter
507 2007-02-16 Nidhi Rawal <rawalnidhi_rawal@yahoo.com>
509 * SqlParameter.cs (CompareInfo): Implemented the property
511 (LocaleId): Written the property LocaleId.
512 (SqlValue): Written the propert SqlValue.
514 2007-02-15 Nidhi Rawal <rawalnidhi_rawal@yahoo.com>
516 * SqlCommand.cs: Added some attributes which were not implemented
517 for .NET 2.0 and removed extra attribute which are not there in
520 * SqlCommandBuilder.cs: Added some attributes that were not
521 implemented for .NET 2.0.
523 * SqlParameterCollection.cs: Added some attributes that were
524 not implemented for .NET 2.0.
526 * SqlConnectionStringBuilder.cs: Added some attributes that
527 were not implemented for .NET 2.0.
529 * SqlConnection.cs: Added attribute that was not implemented
532 * SqlParameter.cs: Added some attributes which were not
533 implemented for .NET 2.0 and removed some extra attributes which
534 are not there in .NET 2.0
536 2007-02-09 Nagappan A <anagappan@novell.com>
538 * SqlConnection.cs (SetConnectionString): Fixes bug # 80712. A
541 2007-01-08 Nagappan A <anagappan@novell.com>
543 * SqlTransaction.cs (Dispose): Fixed compliation warning.
545 * SqlDataReader.cs (GetValues): Length of elements to be copied was
546 decided based on the argument array passed, which caused a bug, if
547 the length of given array is more than actual column values.
549 * SqlCommandBuilder.cs (CatalogSeparator, SchemaSeparator)
550 (CatalogLocation): Implemented missing properties.
551 (CreateDeleteCommand, CreateInsertCommand, CreateUpdateCommand):
552 Modified private methods to take bool flag. If true, add actual
553 parameter name instead of p1, p2 etc.
554 (CreateParameter): Added overloaded private method to create
555 parameter with the actual column name.
556 (GetUpdateCommand, GetDeleteCommand, GetInsertCommand):
557 Implemented missing overloaded methods.
558 (SetRowUpdatingHandler): Implemented missing protected method.
560 * SqlCommand.cs: Fixed compilation warning. Removed bogus
563 2006-12-05 Nagappan A <anagappan@novell.com>
565 * SqlCommand.cs (Execute): If sql2 length is greater than 0, then
566 add ';' and the respective sql2 string and then execute the
567 string. Fixes bug # 79880.
569 2006-08-30 Nagappan A <anagappan@novell.com>
571 * SqlConnection.cs: Implemented SqlConnection.GetSchema ().
573 2006-09-08 Konstantin Triger <kostat@mainsoft.com>
575 * SqlClientFactory.cs: implemented SqlClientFactory.CreateConnection ().
577 2006-07-13 Senganal T <tsenganal@novell.com>
579 * SqlClientFactory.cs SqlCommand.cs SqlConnectionFactory.cs
580 SqlClientPermission.cs SqlParameterCollection.cs SqlDataReader.cs
581 SqlConnection.cs SqlParameter.cs SqlTransaction.cs :
584 2006-05-31 Gert Driesen <drieseng@users.sourceforge.net>
586 * SqlConnection.cs: Removed extra destructor, as destructor on
587 System.ComponentModel.Component already calls Dispose.
588 * SqlParameter.cs: Removed explicit interface implementation of
589 IDataParameter.ParameterName.
591 2006-05-26 Senganal T <tsenganal@novell.com>
594 - InferSqlType : if value is null or DBNull.Value, retain the
595 current parameter type.
597 2006-04-18 Senganal T <tsenganal@novell.com>
600 - SetConnectionString : set the pareameter to default values
601 if connection string is empty or null
602 - Open : Raise InvalidOperationException if Connection String
604 - Dispose : Test exception not raised if dispose called on a
605 connection with empty connection string
607 slight modification of the patch by Jonel Rienton
609 2006-04-07 Senganal T <tsenganal@novell.com>
611 * SqlCommandBuilder.cs :
612 * CreateDeleteCommand ()
613 * CreateUpdateCommand ()
614 * CreateInsertCommand ()
615 - Changed the signature. Do not need DataRow parameter
616 as the Query generated is parametric.
617 - Correct the null-check term in the WhereClause, set the
618 correct properties for null-check parameter
620 - Modified the generated query to match the query as
621 generated by 2.0. We now ignore null-check in the
622 whereclause if the Column does not allow nulls.
623 * ctor () : Set QuotePrefix and QuoteSuffix for 2.0 profile
624 * GetUpdateCommand ()
625 * GetInsertCommand ()
626 * GetDeleteCommand ()
627 - Do not create new command everytime. Create only if
629 * RefreshSchema : Reset the commands.
631 2006-02-17 Chris Toshok <toshok@ximian.com>
633 * SqlCommand.cs, SqlCommandBuilder.cs, SqlConnection.cs,
634 SqlDataAdapter.cs: remove DataSysDescription attributes for >= 2.0
636 2006-02-17 Chris Toshok <toshok@ximian.com>
638 * SqlDataReader.cs: remove VisibleFieldCount property.
640 2006-02-10 Senganal T <tsenganal@novell.com>
642 - GetBytes : Read binary/blob/clob data sequentially when
643 CommandBehavior is set to SequentialAcccess
644 - GetChars : Read String/clob data sequentially when CommandBehavior
645 is set to SequentialAccess
647 - ExecuteReader : set SequentialAccess property on TDS
648 - CloseDataReader : Reset the command behavior
650 2006-01-27 Senganal T <tsenganal@novell.com>
652 * SqlCommandBuilder.cs :
653 - Modified CreateUpdateCommand,CreateDeleteCommand , to not include
654 column name in the query if its a expression col.
655 Also, modified the queries to match the generated queries in ms.net
657 - Modifed Prepare, to check if Parameter is explicitly initialized
659 - Added CheckIfInitialized : Checks if datatype is explicitly set and
660 non-zero size is set for variable datatypes.
662 - Added code for GetSqlBinary ()
663 - Fixed GetFieldCount ()
664 - Added more checks and exceptions.
666 2006-01-17 Senganal T <tsenganal@novell.com>
668 * SqlCommandBuilder.cs
669 - Modified CreateNewCommand () : Clean up any existing parameter list
670 before reusing the command.Fixes #77225
672 2005-11-24 Senganal T <tsenganal@novell.com>
675 - Modifications to get the correct Packet Size
677 2005-11-21 Senganal T <tsenganal@novell.com>
679 * SqlClientFactory.cs
680 * SqlCommandBuilder.cs
681 * SqlParameterCollection.cs
687 Added stubs and other changes for ADO.NET 2.0 compatibility
689 2005-11-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
691 * SqlConnection.cs: don't throw NotImplementedException when using
692 'PERSIST SECUTIRY INFO'. Just do nothing.
694 2005-10-27 Senganal T <tsenganal@novell.com>
699 Made changes so that the number of rows affected can be got directly from
700 Tds regardsless of the type of query.Fixes bug #75698
702 2005-10-19 Senganal T <tsenganal@novell.com>
704 * SqlConnection.cs (SetProperties) :
705 - Added support for AttachDBFileName
707 2005-10-19 Senganal T <tsenganal@novell.com>
709 * SqlException.cs (Constructor)
710 - Modified the constructor, so that the message parameter
711 of base class is not the same as that of the Exception message.
714 2005-09-24 Sureshkumar T <tsureshkumar@novell.com>
716 * SqlParameterCollection.cs (AddWithValue): added method. patch
717 from awaddell@fnfr.com (Andy Waddell).
719 2005-09-21 Senganal T <tsenganal@novell.com>
723 - Set the correct Default Values for Parameters.
724 - Added Argument Checks (where missing) for the Properties and
725 throw the correct exception on error.
726 - Modified SetDefaultParameters() to make sure that the parameters
727 are all reset to default values everytime it is called.
728 - Modified SetProperties() to take into account the order of the
729 keywords in the ConnectionString.
731 SqlConnection Fixes for the failing sqlserver connected-mode testcases
732 in ProviderTest/System.Data.SqlClient/SqlConnectionTest.cs
734 2005-09-21 Senganal T <tsenganal@novell.com>
736 * SqlTransaction.cs : Modifed the Rollback() method, so that
737 connection can be used for another transaction after the previous
738 transaction is rolled back. fixes bug 75904
740 2005-09-02 Umadevi S <sumadevi@novell.com>
742 * Removed SqlResultSet.cs file
744 2005-08-26 Sureshkumar T <tsureshkumar@novell.com>
746 * SqlConnection.cs (Open): enable sp_reset_connection.
748 2005-08-25 Sureshkumar T <tsureshkumar@novell.com>
750 * SqlCommandBuilder.cs: BuildInformation (): continue on columns
751 who don't have basetablename.
753 2005-08-12 Daniel Morgan <danielmorgan@verizon.net>
755 * SqlCommandBuilder.cs: update command builder based on
756 OdbcCommandBuilder latest changes to fix regression
759 2005-08-05 Sureshkumar T <tsureshkumar@novell.com>
761 * SqlCommandBuilder.cs: Set SourceVersion property to the created
762 parameters as it is used by the Adapter's Update method.
764 2005-07-22 Sureshkumar T <tsureshkumar@novell.com>
766 * SqlCommandBuilder.cs, SqlParameterCollection.cs,
767 SqlConnection.cs, SqlParameter.cs:
768 - updated attributes & attribute descriptions to match with
771 2005-07-16 Daniel Morgan <danielmorgan@verizon.net>
773 * SqlCommandBuilder.cs: CreateUpdateCommand should get the current value, not
774 the orginal value when setting one of the SET variables
776 2005-07-15 Sureshkumar T <tsureshkumar@novell.com>
778 * SqlCommandBuilder.cs:
779 - set_DataAdapter: unsubscribe event if DataAdapter is reset.
780 - CreateInsertCommand, CreateUpdateCommand, CreateDeleteCommand:
781 if column mapping is missing, use the source column name. use
782 proper version to get the data.
783 - RowUpdatingHandler: set status to continue to actually process
786 2005-07-04 Ben Maurer <bmaurer@ximian.com>
788 * SqlError.cs: Patch from dezelin@gmail.com to fix serialization.
790 2005-06-29 Sureshkumar T <tsureshkumar@novell.com>
792 * SqlConnection.cs: Open (): catch TdsInternalException and throw
794 * SqlException.cs: code re-organised to pass message as well with
797 2005-06-23 Sureshkumar T <tsureshkumar@novell.com>
799 * SqlConnectionStringBuilder.cs: simplified multiple keyword
800 mappings and allowed-key checking. fixed Item, Remove,
801 ContainsKey, ShoudSerialize, TryGetValue implementations.
803 2005-06-21 Sureshkumar T <tsureshkumar@novell.com>
805 * SqlConnectionStringBuilder.cs: Connection String Builder class
806 for SqlClient Data Provider.
808 2005-06-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
810 * SqlParameter.cs: moved the 'using S.D.SqlTypes' out of NET_2_0. Fixes
813 2005-06-01 Sureshkumar T <tsureshkumar@novell.com>
815 * SqlParameter.cs: Parameter's value can be SqlTypes. Convert to
816 framework type to pass to TDS layer. Fixes bug #75044.
818 2005-05-24 Umadevi S <sumadevi@novell.com>
819 * fixed some 2.0 and 1.0 specific fields/attributes for various classes.
820 * Added SqlClientMetaDataCollectionNames.cs, Implemented some 2.0
821 properties for SqlParameterCollection for the bulkcopy feature.
824 2005-05-20 Kornél Pál <http://www.kornelpal.hu/>
826 * Fixed Bug #53169 - SqlDataReader incorrectly returns bigint as decimal
827 Note: The fix works around the limitations of TDS 7.0 to avoid this
828 difference between Mono and .NET Framework TDS 8.0 should be used instead.
830 2005-05-20 Umadevi S <sumadevi@novell.com>
832 * Fixed Bug 74948 - SqlParameter also takes DBNull Value.
833 Correct some attributes stuff of 1.1 and 2.0 for SqlParameter.cs
835 2005-05-20 Umadevi S <sumadevi@novell.com>
837 * Continuing on implementation for bulkcopy and notification
838 Added files SqlNotificationEventArgs.cs, OnChangeEventHandler.cs
839 Modified SqlRowUpdatingEventArgs.cs
841 2005-05-19 Umadevi S <sumadevi@novell.com>
843 * For implementation of bulkcopy and notifications added files
844 SqlBulkCopyOptions.cs,SqlBulkCopyColumnMapping.cs,SqlNotificationAuthType.cs
845 SqlNotificationTransports.cs,SqlRowsCopiedEventArgs.cs, SqlRowsCopiedEventHandler.cs
847 2005-05-19 Umadevi S <sumadevi@novell.com>
849 * Corrected types,enum values of SqlNotificationType,SqlNotificationSource,
850 SqlNotificationInfo and added new method in SqlRowUpdatingEventArgs.cs
851 (For implementation of bulkcopy/notifications)
853 2005-04-19 Sureshkumar T <tsureshkumar@novell.com>
855 * SqlDataReader.cs: NextResult (): Re-create schema table for each
856 result set. don't re-use, as it may be referenced from somewhere.
858 2005-04-07 Sureshkumar T <tsureshkumar@novell.com>
859 Ankit Jain <radical@corewars.org>
861 * SqlConnection.cs: Implemented additional connection string
862 property "Asynchronous Processing".
864 * SqlCommand.cs: Implemented Asynchronous command execution API.
866 * SqlAsyncState.cs: A internal state object for asynchronous
869 * SqlAsyncResult.cs: Added. Class to hold result for asynchronous
872 2005-03-28 Sureshkumar T <tsureshkumar@novell.com>
874 * SqlCommand.cs: Execute: Add a semicolon at the end of
875 CommandText. Multiple semicolon's are not being complained.
879 2005-03-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
881 * SqlConnection.cs: added a finalizer for correct implementation of the
884 2005-03-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
886 * SqlException.cs: make it serialization-compatible with MS. Patch by
887 Aleksandar Dezelin. Closes bug #73596.
889 2005-03-08 Sureshkumar T <tsureshkumar@novell.com>
891 * SqlDataReader.cs: Call base constructor with CommandBehavior
892 parameter instead of passing DbCommand object. The internal base
893 class with DbCommand Parameter is removed.
895 2005-03-07 Sureshkumar T <tsureshkumar@novell.com>
897 * SqlCommand.cs : Set CommandBehavior on
898 ExecuteReader,ExecuteScalar,ExecuteNonQuery. This is used in
901 This fixes bug #73252.
903 2005-03-03 Sureshkumar T <tsureshkumar@novell.com>
905 * SqlClientFactory.cs: While creating command, create using
906 DbConnectionFactory as DbConnectionBase.CreateDbCommand needs to
907 have a connection factory.
909 * SqlConnection.cs: Added an internal constructor which takes
912 * SqlConnectionFactory.cs: Added. Concrete class for abstract
913 factory DbConnectionFactory.
915 2005-02-22 Sureshkumar T <tsureshkumar@novell.com>
917 * SqlDataReader.cs: GetBytes: return the length of the data if
918 output buffer is null. if not, copy the values to buffer and
919 return the bytes actually read.
921 2005-02-02 Sureshkumar T <tsureshkumar@novell.com>
924 - Database: return db name from database if connection open,
925 otherwise take from connection string.
926 - Set default values for parameters in the constructor itself.
927 - Dangling else problem with Close method.
928 - reset values of parms (TdsConnectionParameters) rather setting
930 - set disposed to false in Open method
931 - finally call base.Dispose in Dispose (bool)
933 Fixes nunit regressions SqlConnectionTest:DefaultConnectionValues
934 and SqlConnectionTest:DatabaseSynonyms.
936 2005-01-27 Sureshkumar T <tsureshkumar@novell.com>
938 * SqlCommand.cs (DeriveParameters): Change parameter name to
940 * SqlParameter.cs (SqlParameter (object [])) : call default
941 constructor to create Tds.Metaparameter.
945 2005-01-03 Sureshkumar T <tsureshkumar@novell.com>
947 * SqlCommand.cs: Fixed bug #68973. Reset Tds.RecordsAffected to 0
948 for each execute statement.
950 2004-11-25 Sureshkumar T <tsureshkumar@novell.com>
952 These changes are for 2.0 profile only. These changes implement
953 the generic data base access technique using Provider Factory
954 Implementation. These classes need to be dervided from abstract
955 base classes so that the corresponding factory classes are
956 created when calling CreateCommand, CreateParameter, etc.
958 * SqlClientFactory.cs: Provider Factory class Implementaion for SqlServer
959 * SqlParameter.cs: Change base classes and override methods.
960 * SqlParameterCollection.cs: Change base classes and override methods.
961 * SqlTransaction.cs: Change base classes and override methods.
962 * SqlDataSourceEnumerator.cs: DataSource Enumerator stubs.
963 * SqlDataReader.cs: Change base classes and override methods.
964 * SqlConnection.cs: Change base classes and override methods.
965 * SqlCommandBuilder.cs: Change base classes and override methods.
966 * SqlCommand.cs: Change base classes and override necessary methods.
968 2004-10-14 Umadevi S <sumadevi@novell.com>
969 * SqlCommand.cs - Implemented the clone method correctly.
972 2004-10-06 Umadevi S <sumadevi@novell.com>
973 * ISqlNoticationReceiver.cs - changed namespace
974 * Added files SqlNotificationType.cs, SqlNotificationInfo.cs, SqlNotificationSource.cs
976 2004-09-24 Umadevi S <sumadevi@novell.com>
977 * SqlTransaction.cs - Dispose will not call rollback incase the transaction is not open.
979 2004-09-14 Sebastien Pouliot <sebastien@ximian.com>
981 * SqlClientPermission.cs: Added internal constructor accepting an Sql
982 ClientPermissionAttribute parameter (using base class protected ctor).
983 * SqlClientPermissionAttribute.cs: Copy now use the new SqlClient
984 Permission constructor.
986 2004-09-13 Sebastien Pouliot <sebastien@ximian.com>
988 * SqlClientPermission.cs: Mostly completed (needs tests).
989 * SqlClientPermissionAttribute.cs: Completed.
991 2004-09-02 Umadevi S <sumadevi@novell.com>
992 * SqlCommand.cs - ExecuteNonQuery to return -1 incase of executing a storedprocedure
994 2004-08-16 Gert Driesen <drieseng@users.sourceforge.net>
996 * SqlConnection.cs: added TODO on ConnectionString for keywords
997 that are not yet implemented. check value of Integrated Security
998 keyword, check value of bool keywords, improve error reporting
999 for int keywords, added support for the following keyword
1000 synonyms : APP, TIMEOUT, NETWORK, PERSISTSECURITYINFO, WSID,
1001 LANGUAGE, USER. Throw NotImplementedException when encrypt keyword
1002 is set to true, enlist keyword is set to false or attachdbfilename
1003 keyword (or one of its synonyms) is set. Added FIXME for PERSIST
1004 SECURITY INFO keyword, throwing a NotImplementedException here
1005 would break lots of apps
1007 2004-08-16 Gert Driesen <drieseng@users.sourceforge.net>
1009 * SqlConnection.cs - spaces to tabs
1011 2004-08-12 Sureshkumar T <tsureshkumar@novell.com>
1012 * SqlDataReader.cs - In Close method, the remaining resultsets are drained
1013 out, to read output parameters & to avoid stream overlap
1015 2004-06-30 Umadevi S <sumadevi@novell.com>
1016 * SqlCommand.cs : In the Execute Method the commandbehavior parameters were ignored correct
1019 2004-06-22 Atsushi Enomoto <atsushi@ximian.com>
1021 * SqlCommandBuilder.cs : Avoid cast exception caused by DbNull.
1023 2004-06-18 Umadevi S <sumadevi@novell.com>
1024 * SqlCommand.cs - ExecuteNonQuery returns -1 in all cases except
1025 insert,update or delete.
1027 2004-06-18 Umadevi S <sumadevi@novell.com>
1028 * SqlConnection.cs - handled null being passed as a connectionstring
1029 - checked for minimal set of parameters in connectionstring.
1030 - handled unrecogonized keywords similar to MS.NET
1032 2004-06-17 Umadevi S <sumadevi@novell.com>
1033 * SqlTransaction.cs - fixed multiple rollbacks being called causes invalidoperationexception
1035 2004-06-04 Gert Driesen <drieseng@users.sourceforge.net>
1037 * SqlClientPermission.cs: removed extra CreateInstance
1040 2004-06-02 Gert Driesen <drieseng@users.sourceforge.net>
1042 * SQLDebugging.cs: added missing attributes, marked ctor
1043 public to match MS.NET
1045 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
1047 * SqlClientPermission.cs : don't use chained obsolete .ctor.
1049 2004-05-20 Gert Driesen (drieseng@users.sourceforge.net)
1051 * SqlClientPermissionAttribute.cs: change AllowMultiple and
1052 Inherited to match .NET
1054 2004-05-20 Umadevi S <sumadevi@novell.com>
1056 * Fixed bug 58406- implemented the hasrow method, test program used
1057 to test with the bug report
1059 2004-05-13 Umadevi S <sumadevi@novell.com>
1061 * SqlClientPermission.cs, SqlDataReader.cs - added missing methods with TODO tags
1062 * SqlCommand.cs, SqlDataAdapter.cs - implemented ToolboxItemAttribute
1063 * SQLDebugging.cs - Added new file with a TODO tag
1065 2004-04-05 Lluis Sanchez Gual <lluis@ximian.com>
1067 * SqlConnection.cs: Use connection pool implemented in Mono.Data.Tds.
1069 2004-04-01 Lluis Sanchez Gual <lluis@ximian.com>
1071 * SqlDataReader.cs: Null values are now represented with DBNull instances.
1074 2004-03-14 Tim Coleman <tim@timcoleman.com>
1075 * SqlCommand.cs SqlConnection.cs:
1076 Changes from two patches by Andres Taylor
1077 <andres@rotselleri.com>
1079 2004-03-12 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
1081 * SqlParameter.cs: DO NOT USE the consts scheme if types can be referenced directly!
1083 2004-01-10 Atsushi Enomoto <atsushi@ximian.com>
1085 * SqlClientPermission.cs : Fixed NET_2_0 build related to
1086 obsolete attribute problem (see DbDataPermission.cs)
1088 2003-12-28 Tim Coleman <tim@timcoleman.com>
1090 Stubbed out this class.
1092 2003-12-23 Tim Coleman <tim@timcoleman.com>
1094 Improved connection string parsing. See
1095 System.Data.Common.DbConnectionString for source.
1097 2003-12-21 Tim Coleman <tim@timcoleman.com>
1099 Enable Integrated Security
1101 2003-12-19 Tim Coleman <tim@timcoleman.com>
1102 * ISqlNotificationReceiver.cs SqlResultSet.cs:
1104 * SqlClientPermission.cs:
1105 Fix constructor for 1.2
1107 2003-12-04 John Luke <jluke@cfl.rr.com>
1109 * SqlXmlTextReader.cs: applied patch from Chris Masters <neeeeeep@bigpond.com>
1110 fix peek so it checks if it is at the end and also to make sure that if Read()
1111 advances the position past the end of the localBuffer array, it makes
1112 a call to GetNextBuffer(). fixes bug #40253 System.IndexOutOfRangeException when
1113 using SqlCommand.ExecuteXmlReader()
1115 2003-11-20 Joerg Rosenkranz <JoergR@voelcker.com>
1117 * SqlConnection (SetDefaultConnectionParameters):
1118 Changed default value of WORKSTATION ID to reflect real
1119 host name instead of "localhost".
1121 2003-11-16 Ben Maurer <bmaurer@users.sourceforge.net>
1123 * SqlParameterCollection.cs (Clear): Clear needs to take
1124 the parameter out of the collection so that it can be used
1129 2003-10-03 Diego Caravana <diego@toth.it>
1131 * SqlCommand.cs: no change.
1133 * SqlConnection.cs (Close): Added checks for null instance
1136 * SqlParameter.cs (Direction): Now handles parameters of type
1137 ReturnValue and InputOutput.
1139 * SqlParameterCollection.cs (IndexOf(string)): Search for
1140 SqlParameter object in list is done by obtaining ParameterName
1141 attribute, not directly through list.IndexOf().
1143 2003-08-22 Duncan Mak <duncan@ximian.com>
1145 * SqlCommand.cs (ExecuteNonQuery): Return
1146 Connection.Tds.RecordsAffected if it is successful. Patch from
1147 Jörg Rosenkranz <joergr@voelcker.com>.
1149 This is part of a fix to bug #40315.
1151 2003-08-20 Duncan Mak <duncan@ximian.com>
1153 * SqlConnectionPool.cs (ReleaseConnection): A patch from Joerg
1154 Rosenkranz <JoergR@voelcker.com>. Currently, if a connection is
1155 closed by an external event (network problem, etc.) it is pushed
1156 back into the connection pool. The next Open call retrieves this
1157 invalid connection which leads to exceptions when executing
1160 This patch fixes this problem. This closes bug #47429.
1162 2003-07-04 Miguel de Icaza <miguel@ximian.com>
1164 * SqlDataReader.cs: Added extra information to the exceptions
1165 thrown by all the GetXXXX methods.
1167 2003-03-15 Daniel Morgan <danmorg@sc.rr.com>
1169 * SqlConnection.cs: if Server in the ConnectionString
1170 is set to "(local", use "localhost" as the hostname
1173 2003-03-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1175 * SqlException.cs: implemented GetObjectData ().
1177 2003-02-16 Daniel Morgan <danmorg@sc.rr.com>
1179 * ChangeLog: added this file
1181 * SqlConnection.cs: - parse data source for 3 possible uses:
1183 "Server=hostname\\instancename",
1184 "Server=hostname,port" and open the connection based on the
1185 resulting server name and port.
1186 - Added support for named instances
1187 by discovery of the sql server tcp port via the sql monitor (udp port 1434)
1188 thanks to Phillip Jerkins (Phillip.Jerkins@morgankeegan.com) contribution.
1189 Also, thanks to Gonzalo and Tim for their help with timeouts.