Merge pull request #819 from brendanzagaeski/patch-1
[mono.git] / mcs / class / Mono.Data.Tds / Mono.Data.Tds.Protocol / ChangeLog
index 2f8ce53741d78ad1c832dad7baacced0c7af92f2..48beb38ae24b7832e62ee2f968a62f80f0541db3 100644 (file)
@@ -1,3 +1,343 @@
+2011-05-05  Veerapuram Varadhan  <v.varadhan@gmail.com>
+
+       ** Fixes #681916
+       * Tds70.cs (WriteParameterInfo): Handle null value for Image 
+       or varbinary(max) parameters as well. 
+       
+2010-09-29  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       ** Fixes failed test for smallmoney
+       * Tds70.cs (WriteParameterInfo): Round money values to 4 decimals, for smallmoney too.
+       
+2010-07-13  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       ** Fixes #613845
+       * Tds70.cs (WriteParameterInfo): Round money values to 4 decimals.
+       
+2010-07-12  Veerapuram Varadhan  <vvaradhan@novell.com>
+       
+       ** Fixes #569543
+       * Tds70.cs (ExecPrepared): Revert back to old changes.
+       * Tds80.cs (ExecPrepared): Override for Tds 8 version that optimizes 
+       network bandwidth.
+       
+2010-07-10  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       ** Fixes 620860
+       * Tds70.cs (Precision): New virtual property to handle Precision values 
+       across different Tds versions.
+       (WriteParameterInfo): Use defined Precision property instead of 
+       constant value.  Also handle Ulong and long max/min values properly.
+       * Tds80.cs (Precision): Override property to provide Tds 8 precision value.
+       
+2010-07-07  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       * TdsComm.cs (Append[DateTime]): Ugh.. ugh.. final fix for handling MinValue for DateTime.
+       
+2010-07-07  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       ** Fixes #609109 - DateTime part
+       * TdsComm.cs (Append[DateTime]): More fix for handling SqlServer MinValue for DateTime.
+       
+2010-07-06  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       ** Fixes #609109
+       * TdsComm.cs (Append[DateTime]): Handle datetime values sanely that are less than epoch.
+       (Append[string]): Fix boundary checking for availability of enough buffer
+       
+2010-07-03  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       ** Fixes #609935
+       * TdsComm.cs (Append[string]): Fix boundary calculations of bytes 
+       to be written and available free buffer.
+       
+2010-06-15 Jonathan Chambers  <joncham@gmail.com>
+
+       * Tds.cs: Add {} around default switch case.
+
+2010-06-15  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       ** Fixes #613087
+       * Tds.cs (ProcessLoginAck): Fix server version being compared in 
+       the switch-case.
+       * Tds70.cs (BuildPreparedParameters, BuildProcedureCall): Set default 
+       precision to 18 as used by MS.Net when connecting to SqlServer 7.0.
+       (BuildExec, ExecRPC): Marked protected in order to be used by Tds80 
+       and henceforth.
+       * Tds80.cs (Execute): Separated from Tds70 to include Tds80 changes.
+       
+2010-04-21  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       ** Fixes #595918
+       * Tds70.cs (WriteParameterInfo): Write updated decimal value according 
+       to specified scale value.
+       
+2009-08-17  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       ** Fixes #381151 NRE 
+       * Tds.cs (ProcessColumnInfo): Use Columns instead of creating a new list.
+       * TdsDataColumnCollection.cs (Clear, Add): New utility methods 
+       * Tdsxx.cs: ProcessColumnInfo definition changes.
+       
+2009-07-25  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       * Tds70.cs (ProcessColumnInfo): Update the new DataTypeName property.
+       * TdsDataColumn.cs: Added DataTypeName property accessors.
+       
+2009-07-25  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * TdsConnectionPool.cs: Fixed typo in ResetConnectionPool.
+
+2009-05-26  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       ** Fixes #382734
+       * Tds80.cs: Consider queries with Parameters as RPCs and avoid formatting 
+       param values as strings.  Fixes issues with locale specific string 
+       formatting/conversions.
+       
+       * TdsRpcProcId.cs: New - enum of rpc Ids to use with RPC packet type.
+       
+2009-05-16  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       * Tds70.cs (WriteParameterInfo): Default precision is 29 and not 28.
+       
+2009-05-16  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       * Tds70.cs (WriteParameterInfo): Do not change the original 
+       param.TypeName value.
+       
+2009-05-16  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       ** Fixes #382589
+       * Tds.cs (ServerTdsVersion): New property to access ServerVersion.
+       
+       * Tds70.cs (WriteParameterInfo): Treat Decimal types as Numeric 
+       types from SQL Server 2000.
+       
+       * TdsVersion.cs: Add SQL Server 2008 version.
+       
+2009-05-02  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       ** Fixes #462947 - Patch by Gert Driesen
+       * Tds.cs (InitExec): More intialization of variables. 
+       
+2009-04-28  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       * Tds.cs (InitExec):  Move initialization of SequentialAccess related 
+       variables here.
+       
+2009-04-28  Veerapuram Varadhan  <vvaradhan@novell.com>
+       
+       * Tds.cs (ExecuteQuery): Reset all the variables related to LoadData 
+       when performing queries with SequentialAccess set to true.  Fixes 
+       incorrect handling of data retrieval when multiple queries are run 
+       with SequentialAccess set to true for the same instance of Tds.
+       
+2009-04-28  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       * Tds.cs (ExecuteQuery): Reset SequentialAccess read state variables 
+       in order to avoid blocking forever when two queries are executed with 
+       SequentialAccess set to true for the same instance of Tds.
+       
+2009-04-28  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       ** Fixes#463011
+       * Tds70.cs (Reset): Call base.Reset to update Database being used.
+
+2009-04-28 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * TdsConnectionPool.cs: if GetConnection() fails to create a
+       connection, try again several times and then throw. Improved
+       ResetConnectionPool() so that it does not immediately close
+       connections in use. Don't re-add connections that have been closed.
+
+       * Tds.cs: Connected tests the socket connection too. Made Disconnect()
+       not throw.
+
+       * TdsComm.cs: set more socket options (timeout and NoDelay) and have a
+       single entry point for reading from the stream.
+
+2009-03-23  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       * Tds.cs: Properly handle TdsColumnType.BigInt as we support TDS 8 now.
+       
+2009-03-15  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       ** Fixes #463011
+       * Tds70.cs (Reset): Call base.Reset to update Database being used.
+       
+2009-03-14  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       * Tds70.cs (WriteParameterInfo): Handle scenarios of Partlentype, 
+       a TDS 9 feature.
+       
+2009-03-04  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       * TdsComm.cs (Append (*)): Do not create temporary byte arrays, 
+       instead manipulate directly. Saves quite a bit of allocations 
+       and improves performance.
+       (AppendInternal) : Do the math here.
+       (TdsByteOrder) : Property that indicates the byte-order-encoding which, 
+       is independent of host's byte-order-encoding.
+       (SendPhysicalPacket): Add packet-id to the header
+       
+2009-02-26  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       * Tds.cs (ProcessLoginAck): Set TdsVersion to the version
+       supported by the server.
+       (GetColumnValue): lcid and sortId are available only from Tds 8.
+
+       * Tds80.cs (ProcessColumnInfo, ProcessOutputParam): Call base
+       methods if the server version is less than Tds 8.
+       
+2009-02-19  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       * Tds.cs: Tds 8 collation support
+         Tds80.cs: - ditto -
+         TdsComm.cs: - ditto -
+         TdsDataColumn.cs: - ditto -
+         TdsCollation.cs: New file. Based on patch from Dmitry S. Kataev  
+         <dmitryskey@hotmail.com>
+         
+2009-02-02  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       * Tds.cs:       TDS 8 changes
+         Tds70.cs: - ditto -
+         Tds80.cs: - ditto -
+         TdsVersion.cs: - ditto -
+         TdsEnvPacketSubType.cs: - ditto -
+         TdsComm.cs:   - ditto -
+         
+2009-01-29 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * Tds70.cs: fix for output parameters and '@'.
+       Fixes bug #470579. Patch from Varadhan.
+
+2009-01-24 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * TdsConnectionPool.cs: made getting/releasing connections thread safe.
+       If we have a release connection available, we return that without locking
+
+2009-01-21 Christian Hergert <christian.hergert@gmail.com>
+
+       * TdsComm.cs: optimize Append(byte[],int,byte) for adding data to
+       the buffer in the largest size of chunks possible.  also optimize
+       other Append overloads to use this rather than lots of Append(byte).
+
+2009-01-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * TdsComm.cs: no need for the ManualResetEvent or the timeout instance
+       variables.
+
+2009-01-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * Tds70.cs: fix my mistake in the previous patch.
+
+2009-01-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * Tds70.cs: more '@' handling.
+
+2009-01-14 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * Tds70.cs: send the leading '@' for parameters that do not have one.
+       Fixes bug #466071.
+       Thanks to William Shallum.
+
+2009-01-04  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Tds.cs: Support detecting NULL value when sequentially reading
+       text/ntext/image column. Fixed typo in exception message in
+       GetSequentialColumnValue. Support reading zero-length binary data.
+
+2008-12-30  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Tds.cs: Added IsWideType method.
+       * Tds70.cs: Fixed columnsize for unicode columns. Set precision
+       and scale for non-decimal/numeric column.
+       * TdsColumnType.cs: Adds tds names as comment.
+
+2008-12-30  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Tds.cs (LoadData): Improve exception message when attempting to
+       read before the current position. Update the remaining length of the
+       stream when skipping bytes.
+
+2008-12-05 Gonzalo Paniagua Javier <gonzalo@novell.com>
+
+       * Tds70.cs: support parameter names with or without a leading '@'.
+
+2008-11-13  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       * TdsComm.cs (ResetConnection, IsConnected): Added a property and
+       method.  IsConnected will check for any connection-reset occurrance
+       from other end-point of the underlying socket.  ResetConnection
+       adds the "reset" bit in the Status flag field of packet header.
+       Set socket option to keep alive, whereever supported and also, let
+       the socket close along with the underlying stream.
+
+       * Tds70.cs (Reset): Use the new ResetConnection property instead
+       of executing sp_reset_connection.  Saves a round-trip.
+       
+2008-11-11  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Tds70.cs: Support writing negative (small)money values. Added 
+       overflow check for smallmoney values. Fixes bug #428139.
+       * Tds.cs: Fixed reading negative (small)money values.
+
+2008-11-09  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * TdsConnectionPool.cs: Added TdsConnectionPoolManager.GetConnection
+       overload that can be used to retrieve an existing connection pool.
+       Modified ResetConnectionPool () to skip free slots in the pool and to
+       close pooled connections that are not in use. Pooled connections that
+       are in use are now marked as non-pooled so that they are no longer
+       returned to the pool when they are closed. Fixes bug #443131.
+
+2008-09-16  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       Patch from Christian Hergert <christian.hergert@gmail.com>
+       * TdsComm.cs: Expose the stream to be internally used by other
+       classes
+       * Tds70.cs (Reset): Validate whether the connection is available
+       or not.
+       
+2008-07-09  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       * TdsComm.cs:  Cleanup stray Console.WriteLine that got in during last commit
+       
+2008-07-09  Veerapuram Varadhan  <vvaradhan@novell.com>
+
+       Patch by Jon Larimer <jlarimer@gmail.com> fixes ##407208
+       * TdsComm.cs: Call DNS.GetHostEntry() only for host names and not for IPs.
+       
+2008-07-06  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * TdsConnectionPool.cs: When pooled connection cannot be reset, remove
+       it from pool and allow slot to be re-used for a newly established
+       connection. Fixes part of bug #360157. When pool is full, and no
+       connection becomes available before the connect timeout has elapsed,
+       then throw an InvalidOperationException instead of a SqlException.
+       * Tds50.cs: Fixed compiler warning. Removed extra tabs, and changed
+       spaces to tabs. Minor code formatting.
+       * Tds70.cs: Removed extra tabs, and changed spaces to tabs. Code
+       formatting. Avoid calling Environment.UserDomainName if username
+       contains domain. Use String.Empty instead of "".
+       * TdsConnectionParameters.cs: Invoke Reset method for initializing
+       fields. Spaces to tabs.
+
+2008-07-04  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * TdsConnectionPool.cs: On 1.0 profile, use object[] for list of
+       connections. Patch provided by Christian Hergert. Fixes bug #406540.
+
+2008-07-04  Gert Driesen  <drieseng@users.sourceforge.net>
+
+       * Tds.cs: Avoid accessing TdsDataColumnCollection indexer. On 2.0
+       profile, use predefined properties on TdsDataColumn for setting the
+       BaseColumnName and BaseTableName. Fixes bug #406556.
+       * Tds50.cs: Avoid accessing TdsDataColumnCollection indexer, and
+       fixed IsHidden.
+
 2008-07-01  Gert Driesen  <drieseng@users.sourceforge.net>
 
        * Tds70.cs: Avoid accessing TdsDataColumnCollection indexer.