svn path=/trunk/mcs/; revision=104772
[mono.git] / mcs / class / System.Data / System.Data.SqlClient / ChangeLog
index b3227e118005f5241454e322d4b2a720f60e7fbe..d5e5851f9e39833f7a23b217757812f23b960344 100644 (file)
@@ -1,3 +1,514 @@
+2008-05-27  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * SqlConnection.cs: Added support for '.' as alias for localhost.
+       Improve exception message when TCP/IP protocol is not enabled.
+
+2008-05-17  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * SqlDataReader.cs (GetInt64): Removed workaround for TDS 7.0 handling
+       of bigint column type as this is handled in Mono.Data.Tds.
+
+2008-05-14  Marek Habersack  <mhabersack@novell.com>
+
+       * SqlConnection.cs: added support for USER INSTANCE keyword in the
+       connection string.
+
+2008-04-22  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       ** Fixes Bug#381151
+       * SqlCommand.cs: Handle exceptions sanely and do not close
+       connection on TdsTimeoutException.
+       
+2008-04-21  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * SqlBulkCopyColumnMappingCollection.cs: Changed argument names to
+       match MS. Code formatting.
+       * SqlCommand.cs: Changed argument names to match MS. Code formatting.
+       Do not include explicit IDbCommand implementation on 2.0 profile.
+       * SqlCommandBuilder.cs: Changed argument names to match MS. Code
+       formatting.
+       * SqlDataReader.cs: Changed argument names to match MS. Code
+       formatting.
+       * SqlParameterCollection.cs: Do not include IList, ICollection and
+       IDataParameterCollection explicit interface implementation on 2.0
+       profile. Code formatting.
+       * SqlConnection.cs: Changed argument names to match MS.
+       * SqlDataAdapter.cs: Changed argument names to match MS.
+       * SqlTransaction.cs: Do not include explicit interface implementation
+       of IDbTransaction.Connection on 2.0 profile. Code formatting.
+
+2008-04-19  Robert Jordan  <robertj@gmx.net>
+
+       * SqlParameterCollection.cs (AddRange(SqlParameter[])):
+       Fix endless recursion.
+
+2008-04-08  Marek Habersack  <mhabersack@novell.com>
+
+       * SqlConnection.cs: TCP port discovery via UDP port 1434 should
+       honor the timeout specified in the connection string (or the
+       default one). In some environments 100 microseconds might not be
+       enough to discover the port.
+
+2008-04-01  Marek Habersack  <mhabersack@novell.com>
+
+       * SqlParameter.cs: ConvertToFrameworkType must handle empty
+       strings gracefully - a DBNull.Value must be returned in this
+       case.
+
+       * SqlCommand.cs: DeriveParameters should split the stored
+       procedure name into the schema name and procedure name before
+       querying its parameters.
+
+2008-03-03  Ankit Jain  <jankit@novell.com>
+
+       * SqlClientMetaDataCollectionNames.cs: Set the field values.
+
+2007-10-21  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * SqlCommand.cs: Use ExceptionHelper.CheckEnumValue for enum checks.
+
+2007-10-20  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * SqlCommand.cs: Added constant for default CommandTimeout, instead
+       of using a magic number. Avoid unnecessary initialization. Fixed
+       default value for DesignTimeVisible. Return zero-length string if
+       CommandText is null. Use ExceptionHelper.InvalidEnumValueException
+       to avoid code duplication. Spaces to tabs and code formatting.
+       * SqlConnection.cs: Use different default package size on 2.0 profile.
+       Added constants for default values, instead of using magic numbers.
+       Avoid unnecessary initialization. In PacketSize, return default or
+       configured packet size when connection is not open. Use
+       ExceptionHelper.ConnectionClosed instead of local method. Removed
+       use of some hardcoded values in SetDefaultConnectionParameters, and
+       use Environment.MachineName as default WorkstationId instead of
+       DNS host name. Code formatting.
+       * SqlDataAdapter.cs: In default ctor, set SelectCommand to null.
+       Avoid unnecessary initializations. Use direct assignment in
+       IDbDataAdapter implementation. Fixed exception message for negative
+       UpdateBatchSize. In Dispose override, make sure to invoke base
+       method.
+
+2007-10-19  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * SqlTransaction.cs: Clear connection in commit. In IsolationLevel,
+       throw IOE if transaction is no longer open.
+
+2007-10-19  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * SqlTransaction.cs: Avoid unnecessary initialization. Remove 
+       isRolledBack since its essentially the same as isOpen. Use
+       ExceptionHelper.TransactionNotUsable instead of duplicating code.
+       On 2.0 profile, ignore call to Rollback when transaction was already
+       disposed.
+
+2007-10-18  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * SqlConnection.cs: Avoid unnecessary initialization. Use string.Empty
+       for assigning zero-length string, and use String.Length to check for
+       zero-length string. Added support for IsolationLevel.Snapshot.
+       Added StructuredTypeMembers schema collection and restrictions. Fixed
+       table name for MetaDataCollections collection. Implemented
+       DataSourceInformation collection. Added missing data types (probably
+       introduced in 2.0 SP1). In GetSchema, throw InvalidOperationException
+       if connection is closed and throw NotImplementedException for
+       StructuredTypeMembers collection.
+
+2007-10-18  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * SqlConnection.cs: On 1.0 profile, IsolationLevel.Unspecified is
+       not valid. On 2.0 profile, when IsolationLevel.Unspecified is passed
+       make sure to also set SqlTransaction.IsolationLevel to
+       ReadCommitted. Modified exceptions to match MS.
+
+2007-10-17  Nagappan <anagappan@novell.com> 
+
+       * SqlParameter.cs (ConvertToFrameworkType): Added SqlDbType.Image.
+
+2007-10-17  Nagappan <anagappan@novell.com> 
+
+       * SqlConnection.cs: BeginTransaction does not handle
+         IsolationLevel.Unspecified, so the default is set as ReadCommited.
+         Thanks to Jerome Haltom <wasabi@larvalstage.net> for this patch. Fixes
+         bug # 333082.
+       * SqlTransaction.cs: If transaction count is greater then 0 then roll back.
+         Thanks to Jerome Haltom <wasabi@larvalstage.net> for this patch. Fixes
+         bug # 331953.
+
+2007-10-15  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * SqlException.cs: Do not hide Message on 2.0 profile. Fixes bug
+       #333901.
+
+2007-10-08  Marek Safar <marek.safar@gmail.com> 
+
+       * SqlParameterCollection.cs (SetParameter): Fixed missing cast.
+       
+2007-09-27  Nagappan A <anagappan@novell.com> 
+
+       * SqlConnection.cs: Added MonoTODO appropriately.
+
+2007-09-26  Nagappan A <anagappan@novell.com> 
+
+       * SqlCommandBuilder.cs: Code alignment.
+
+2007-09-25  Nagappan A  <anagappan@novell.com>
+
+       * SqlInitialCatalogConverter.cs, SqlDataSourceConverter.cs:
+       NetworkLibraryConverter.cs: Added new files.
+
+       * SqlParameter.cs: 2.0 attribute changes.
+
+       * SqlDataAdapter.cs: 2.0 attribute changes.
+
+       * SqlConnectionStringBuilder.cs: 2.0 attribute changes.
+
+       * SqlConnection.cs (ClearAllPools, ClearPool): Implemented 2.0
+       APIs, other 2.0 attribute changes.
+
+       * SqlCommandBuilder.cs (GetSchemaTable, InitializeCommand):
+       Implemented 2.0 APIs, other 2.0 attribute changes.
+
+       * SqlBulkCopyColumnMappingCollection.cs: Added constructor, 2.0
+       API compatibility changes.
+
+       * SqlException.cs: 2.0 attribute changes.
+
+2007-08-13  Nagappan A  <anagappan@novell.com>
+
+       * SqlConnection.cs (ConnectionString): 2.0 compatibility changes.
+
+       * SqlDataReader.cs (IsCommandBehavior): Fixed spelling mistake of
+       the method name.
+       (Dispose): 2.0 compatibility changes.
+
+       * SqlBulkCopy.cs (SqlRowsCopied): Fixed spelling mistake of the
+       event name.
+       (RowsCopied): Generates event when NotifyAfter is set.
+
+       * SqlCommandBuilder.cs (Dispose, RefreshSchema): 2.0 compatibility
+       changes.
+
+       * SqlClientFactory.cs (CreateDataSourceEnumerator): Removed bogus
+       TODO.
+
+       * SqlException.cs (Message): 2.0 compatibility changes.
+
+2007-08-06  Nagappan A  <anagappan@novell.com>
+
+       * SqlCommand.cs, SqlDataReader.cs, SqlConnection.cs: When the
+       server resets the connection, now the client code also disconnects
+       the session and remove the instance from pool. Fixes bug # 81933.
+
+2007-07-31  Nagappan A  <anagappan@novell.com>
+
+       * SqlCommand.cs (Transaction, Connection): IDbCommand Transaction
+       and Connection can be set to null. Fixes bug 82189.
+
+2007-07-23  Nagappan A  <anagappan@novell.com>
+
+       * SqlCommandBuilder.cs (ApplyParameterInfo, GetParameterName):
+       (GetParameterPlaceholder): Implemented 2.0 missing APIs.
+
+2007-07-22  Nagappan A  <anagappan@novell.com>
+
+       * SqlBulkCopy.cs (NotifyAfter): Implemented 2.0 property.
+       (GetColumnMetaData, GenerateColumnMetaData):
+       (ValidateColumnMapping): Implemented private method's to generate
+       and validate SqlBulkCopy headers.
+       (BulkCopyToServer): Private method to actually do the bulk copy
+       processing.
+       (WriteToServer): Implemented 2.0 missing overloaded methods.
+       (IDisposable.Dispose): Implemented 2.0 missing method.
+
+       * SqlBulkCopyColumnMappingCollection.cs (Add, CopyTo): Implemented
+       missing API.
+       (Item): Implemented missing property.
+
+       * SqlBulkCopyColumnMapping.cs: Modified the implementation of
+       Constructors to use property.
+
+       * SqlDataReader.cs (GetSqlXml, IsCommandBehaviour): Added 2.0
+       missing method.
+       (Connection): Added missing property.
+
+       * SqlParameter.cs (SetSqlDbType, ConvertToFrameworkType): Modified
+       method as internal from private.
+
+       * SqlConnection.cs: Fixed 2.0 missing feature.
+
+       * SqlException.cs: Fixed 2.0 missing feature.
+
+       * SqlClientPermission.cs: Fixed 2.0 missing feature.
+
+2007-07-01  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * ISqlNotificationReceiver.cs: Removed.
+       * SqlClientFactory.cs: Use SqlDataSourceEnumerator from S.D.Sql and
+       marked method todo. Avoid unnessary casts. Code formatting.
+       * SqlCommand.cs: Explicit interface implementation of IDbCommand not
+       necessary on 2.0 profile. Fixes API mismatches. Avoid unnecessary
+       casts. Code formatting.
+       * SqlConnection.cs: Also use RecommendAsConfigurable instead of
+       SettingBindableAttribute on 2.0. Use StateChange event from base class
+       on 2.0. Only explicitly implement IDbConnection methods on 1.0, since
+       these are implemented by base class on 2.0 profile. Removed extra
+       explicit implementation of IDisposable since the base class implements
+       this. Code formatting.
+       * SqlDataAdapter.cs: Dispose (bool) override not necessary on 2.0
+       profile. Stubbed ICloneable.Clone. Fixes API mismatches.
+       * SqlDataReader.cs: On 2.0, IDisposable.Dispose is implemented by
+       DbDataReader. Only 1.0 profile, explicitly implemented IEnumerable
+       GetEnumerator. Code formatting.
+       * SqlDataSourceEnumerator.cs: Removed.
+       * SQLDebugging.cs: Marked sealed on 2.0. Code formatting.
+       * SqlNotificationAuthType.cs: Removed.
+       * SqlNotificationInfo.cs: Added missing fields. Code formatting.
+       * SqlNotificationSource.cs: Added missing fields. Code formatting.
+       * SqlNotificationTransports.cs: Removed.
+       * SqlNotificationType.cs: Added missing Unknown field. Code formatting.
+       * SqlParameter.cs: Removed Browsable and EditorBrowsable attributes
+       from Precision and Scale. Fixes API mismatches. Code formatting fixes.
+       * SqlTransaction.cs: On 2.0 profile, Dispose method is exposed by
+       base class. Fixes API mismatches. Code formatting fixes.
+
+2007-06-21  Nagappan A  <anagappan@novell.com>
+
+       * SqlConnection.cs: Fixed compiler warning.
+
+2007-06-11  Nagappan A  <anagappan@novell.com>
+
+       * SqlConnection.cs (ParseDataSource): Adds tcp support in
+       connection string. Fixes bug # 80975.
+
+       * SqlCommand.cs (Dispose): On disposing the command object, don't
+       dispose connection and transaction.
+
+2007-06-06  Nagappan A  <anagappan@novell.com>
+
+       * SqlCommand.cs, SqlConnectionStringBuilder.cs, SqlConnection.cs:
+       Fixed 1.0 and 2.0 extras, errors as stated in class status page.
+
+       * SqlDataAdapter.cs, SqlParameter.cs:Fixed 1.0 and 2.0 extras,
+       errors as stated in class status page.
+
+       * SqlBulkCopyColumnMappingCollection.cs: Fixed 1.0 and 2.0 extras,
+       errors as stated in class status page.
+
+2007-05-30  Nagappan A  <anagappan@novell.com>
+
+       * SqlParameter.cs (SqlParameter): Updated constructor to use the
+       new TDS RPC implementation.
+       Fixed missing attributes.
+       (SetDbType): Added new case for sql_variant type.
+       (ConvertToFrameworkType): Implemented new private method to
+       convert the data type to framework type.
+
+       * SqlParameterCollection.cs: Fixed missing attributes and
+       implemented missing methods.
+
+       * SqlConnection.cs: Fixed missing attributes.
+
+       * SqlConnectionStringBuilder.cs: Certain attributes are missing or
+       its value or they are not appropriate. Fixed them.
+
+       * SqlDataReader.cs (GetData): Method is available only under 1.0
+       profile.
+       
+       * SqlCommandBuilder.cs: Certain attributes are available only
+       under 2.0 profile, so moved them inside ifdef.
+
+       * SqlCommand.cs: Certain attributes are available only under 2.0
+       profile, so moved them inside ifdef.
+
+       * SqlBulkCopy.cs: Added new stubs.
+
+       * SqlBulkCopyColumnMappingCollection.cs: Added new stubs.
+
+2007-05-29  Nagappan A  <anagappan@novell.com>
+
+       * SqlCommand.cs (Dispose): Command.Dispose closing
+       connection. Fixes bug # 81710. Thanks to AMC <amc1999@gmail.com>
+       for the fix.
+
+2007-05-10  Nagappan A  <anagappan@novell.com>
+
+       * SqlClientMetaDataCollectionNames.cs: Fixed incorrect constructor
+       type.
+
+       * SqlConnectionStringBuilder.cs: Fixed missing attributes.
+
+2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
+
+       * SqlConnectionStringBuilder.cs: added MonoNotSupported attribute.
+
+2007-04-03  Amit Biswas  <amit@amitbiswas.com>
+
+       * SqlDataReader.cs (GetSqlBytes, GetProviderSpecificFieldType)
+       (GetProviderSpecificValue, GetProviderSpecificValues): Implemented
+       missing API.
+
+       * SqlParameter.cs (XmlSchemaCollectionDatabase): Implemented missing property
+       (XmlSchemaCollectionName): Implemented missing property
+       (XmlSchemaCollectionOwningSchema): Implemented missing property
+       (SourceColumnNullMapping): Existing implementation was not correct, Replaced the implementation
+       (.ctor): Implemented mising constructor new in .net 2.0
+
+       * SqlErrorCollection.cs (CopyTo): Implemented missing API
+
+       * SqlParameter.cs (InferSqlType): Corrected bug related to default values of
+       SqlDbType and DbType
+       (ResetSqlDbType): Implemented missing API
+       (ResetDbType): Implemented missing API  
+
+2007-03-09  Amit Biswas  <amit@amitbiswas.com>
+
+       * SqlParameterCollection.cs (CopyTo): Implemented missing API
+
+2007-04-02  Nagappan A  <anagappan@novell.com>
+
+       * SqlParameter.cs: Variable name fix.
+
+2007-03-20  Nidhi Rawal  <rawalnidhi_rawal@yahoo.com>
+
+       * SqlClientFactory.cs: Added two using directives.
+       (CreateConnectionStringBuilder): Implemented the method.
+       (CreatePermission): Implemented the property.
+       
+       * SqlCommand.cs: Added one using directive.
+       (Clone): Implemented the method.
+       (Dispose): Implemented the method.
+       (BeginExecuteXmlReader): Implemented the method.
+       
+       * SqlCommandBuilder.cs (QuoteIdentifier): Implemented the method.
+       (UnquoteIdentifier): Implemented the method.
+       
+       * SqlConnection.cs (ChangePassword): Implemented the method.
+
+2007-03-19  Nidhi Rawal  <rawalnidhi_rawal@yahoo.com>
+
+       * SqlClientFactory.cs (CanCreateDataSourceEnumerator): Implemented
+       the property.
+
+       * SqlCommand.cs (Notification): Implemented the property.
+       (NotificationAutoEnlist): Implemented the property.
+
+       * SqlDataReader.cs (VisibleFieldCount): Implemented the property.
+
+       * SqlConnectionStringBuilder.cs (TrustServerCertificate): Implemented
+       the property.
+       (TypeSystemVersion): Implemented the property.
+       (UserInstance): Implemented the property.
+       (ContextConnection): Implemented the property.
+
+       * SqlConnection.cs (FireInfoMessageEventOnUserErrors): Implemented
+       the property.
+       (StatisticsEnabled): Implemented the property.
+       
+       * SqlDataAdapter.cs (UpdateBatchSize): Implemented the property.
+
+       * SqlParameter.cs: Implemented one attribute.
+
+2007-03-16  Andreia Gaita  <avidigal@novell.com>
+       
+       * SqlParameter.cs: Move isVariableSizeType flag to TdsMetaParameter
+       so that the TdsMetaParameter can validate itself for valid size / values.
+       * SqlCommand.cs (Execute): Call Validate on TdsMetaParameter.
+
+2007-03-14  Nagappan A  <anagappan@novell.com>
+
+       * SqlCommand.cs (CommandType): Exception type thrown in 2.0
+       profile is different than 1.0, ArgumentOutOfRangeException.
+       (Connection): Exception type thrown in 2.0 profile is different
+       than 1.0, ArgumentOutOfRangeException.
+       (Execute): If Size property is 0 for String and Binary type, then
+       throw InvalidOperationException.
+       (ValidateCommand): Exception type thrown in 2.0 profile is
+       different than 1.0, NullReferenceException.
+
+2007-03-09  Nagappan A  <anagappan@novell.com>
+
+       * SqlDataReader.cs: Fixed syntax erros reported in class status
+       page.
+
+2007-03-09  Andreia Gaita  <avidigal@novell.com>
+
+       * SqlCommand.cs (ExecuteScalar): Fix returned value for 
+       stored procedure calls to return the first column of the
+       first row produced by the proc.
+
+2007-03-08  Nagappan A  <anagappan@novell.com>
+
+       * SqlCommand.cs (CloseDataReader): Checks whether the SQL
+       connection is created or not.
+
+2007-03-07  Andreia Gaita <avidigal@novell.com>
+
+       * SqlCommand.cs (ExecuteScalar): when calling stored procedures,
+       implement support for return of output values in the parameter
+       collection.
+
+2007-02-16  Nidhi Rawal  <rawalnidhi_rawal@yahoo.com>
+
+       * SqlParameter.cs (CompareInfo): Implemented the property
+       CompareInfo.
+       (LocaleId): Written the property LocaleId.
+       (SqlValue): Written the propert SqlValue.
+
+2007-02-15  Nidhi Rawal  <rawalnidhi_rawal@yahoo.com>
+
+       * SqlCommand.cs: Added some attributes which were not implemented
+       for .NET 2.0 and removed extra attribute which are not there in
+       .NET 2.0.
+
+       * SqlCommandBuilder.cs: Added some attributes that were not 
+       implemented for .NET 2.0.
+
+       * SqlParameterCollection.cs: Added some attributes that were 
+       not implemented for .NET 2.0.
+
+       * SqlConnectionStringBuilder.cs: Added some attributes that
+        were not implemented for .NET 2.0.
+       
+       * SqlConnection.cs: Added attribute that was not implemented
+       for .NET 2.0.
+
+       * SqlParameter.cs: Added some attributes which were not
+       implemented for .NET 2.0 and removed some extra attributes which
+       are not there in .NET 2.0
+
+2007-02-09  Nagappan A  <anagappan@novell.com>
+
+       * SqlConnection.cs (SetConnectionString): Fixes bug # 80712. A
+       small typo.
+
+2007-01-08  Nagappan A  <anagappan@novell.com>
+
+       * SqlTransaction.cs (Dispose): Fixed compliation warning.
+
+       * SqlDataReader.cs (GetValues): Length of elements to be copied was
+       decided based on the argument array passed, which caused a bug, if
+       the length of given array is more than actual column values.
+
+       * SqlCommandBuilder.cs (CatalogSeparator, SchemaSeparator)
+       (CatalogLocation): Implemented missing properties.
+       (CreateDeleteCommand, CreateInsertCommand, CreateUpdateCommand):
+       Modified private methods to take bool flag. If true, add actual
+       parameter name instead of p1, p2 etc.
+       (CreateParameter): Added overloaded private method to create
+       parameter with the actual column name.
+       (GetUpdateCommand, GetDeleteCommand, GetInsertCommand):
+       Implemented missing overloaded methods.
+       (SetRowUpdatingHandler): Implemented missing protected method.
+
+       * SqlCommand.cs: Fixed compilation warning. Removed bogus
+       MonoTODO's.
+
+2006-12-05  Nagappan A  <anagappan@novell.com>
+
+       * SqlCommand.cs (Execute): If sql2 length is greater than 0, then
+       add ';' and the respective sql2 string and then execute the
+       string. Fixes bug # 79880.
+
 2006-08-30  Nagappan A  <anagappan@novell.com>
 
        * SqlConnection.cs: Implemented SqlConnection.GetSchema ().