ChangeLog 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582
  1. 2006-04-07 Senganal T <[email protected]>
  2. * SqlCommandBuilder.cs :
  3. * CreateDeleteCommand ()
  4. * CreateUpdateCommand ()
  5. * CreateInsertCommand ()
  6. - Changed the signature. Do not need DataRow parameter
  7. as the Query generated is parametric.
  8. - Correct the null-check term in the WhereClause, set the
  9. correct properties for null-check parameter
  10. fixes #78027
  11. - Modified the generated query to match the query as
  12. generated by 2.0. We now ignore null-check in the
  13. whereclause if the Column does not allow nulls.
  14. * ctor () : Set QuotePrefix and QuoteSuffix for 2.0 profile
  15. * GetUpdateCommand ()
  16. * GetInsertCommand ()
  17. * GetDeleteCommand ()
  18. - Do not create new command everytime. Create only if
  19. not already created.
  20. * RefreshSchema : Reset the commands.
  21. 2006-02-17 Chris Toshok <[email protected]>
  22. * SqlCommand.cs, SqlCommandBuilder.cs, SqlConnection.cs,
  23. SqlDataAdapter.cs: remove DataSysDescription attributes for >= 2.0
  24. 2006-02-17 Chris Toshok <[email protected]>
  25. * SqlDataReader.cs: remove VisibleFieldCount property.
  26. 2006-02-10 Senganal T <[email protected]>
  27. * SqlDataReader.cs :
  28. - GetBytes : Read binary/blob/clob data sequentially when
  29. CommandBehavior is set to SequentialAcccess
  30. - GetChars : Read String/clob data sequentially when CommandBehavior
  31. is set to SequentialAccess
  32. * SqlCommand.cs :
  33. - ExecuteReader : set SequentialAccess property on TDS
  34. - CloseDataReader : Reset the command behavior
  35. 2006-01-27 Senganal T <[email protected]>
  36. * SqlCommandBuilder.cs :
  37. - Modified CreateUpdateCommand,CreateDeleteCommand , to not include
  38. column name in the query if its a expression col.
  39. Also, modified the queries to match the generated queries in ms.net
  40. * SqlCommand.cs :
  41. - Modifed Prepare, to check if Parameter is explicitly initialized
  42. * SqlParameter.cs :
  43. - Added CheckIfInitialized : Checks if datatype is explicitly set and
  44. non-zero size is set for variable datatypes.
  45. * SqlDataReader.cs :
  46. - Added code for GetSqlBinary ()
  47. - Fixed GetFieldCount ()
  48. - Added more checks and exceptions.
  49. 2006-01-17 Senganal T <[email protected]>
  50. * SqlCommandBuilder.cs
  51. - Modified CreateNewCommand () : Clean up any existing parameter list
  52. before reusing the command.Fixes #77225
  53. 2005-11-24 Senganal T <[email protected]>
  54. * SqlConnection.cs
  55. - Modifications to get the correct Packet Size
  56. 2005-11-21 Senganal T <[email protected]>
  57. * SqlClientFactory.cs
  58. * SqlCommandBuilder.cs
  59. * SqlParameterCollection.cs
  60. * SqlDataReader.cs
  61. * SqlDataAdapter.cs
  62. * SqlParameter.cs
  63. * SqlTransaction.cs
  64. Added stubs and other changes for ADO.NET 2.0 compatibility
  65. 2005-11-12 Gonzalo Paniagua Javier <[email protected]>
  66. * SqlConnection.cs: don't throw NotImplementedException when using
  67. 'PERSIST SECUTIRY INFO'. Just do nothing.
  68. 2005-10-27 Senganal T <[email protected]>
  69. * SqlCommand.cs
  70. * SqlDataReader.cs
  71. Made changes so that the number of rows affected can be got directly from
  72. Tds regardsless of the type of query.Fixes bug #75698
  73. 2005-10-19 Senganal T <[email protected]>
  74. * SqlConnection.cs (SetProperties) :
  75. - Added support for AttachDBFileName
  76. 2005-10-19 Senganal T <[email protected]>
  77. * SqlException.cs (Constructor)
  78. - Modified the constructor, so that the message parameter
  79. of base class is not the same as that of the Exception message.
  80. fixes bug #76468
  81. 2005-09-24 Sureshkumar T <[email protected]>
  82. * SqlParameterCollection.cs (AddWithValue): added method. patch
  83. from [email protected] (Andy Waddell).
  84. 2005-09-21 Senganal T <[email protected]>
  85. * SqlConnection.cs :
  86. - Set the correct Default Values for Parameters.
  87. - Added Argument Checks (where missing) for the Properties and
  88. throw the correct exception on error.
  89. - Modified SetDefaultParameters() to make sure that the parameters
  90. are all reset to default values everytime it is called.
  91. - Modified SetProperties() to take into account the order of the
  92. keywords in the ConnectionString.
  93. SqlConnection Fixes for the failing sqlserver connected-mode testcases
  94. in ProviderTest/System.Data.SqlClient/SqlConnectionTest.cs
  95. 2005-09-21 Senganal T <[email protected]>
  96. * SqlTransaction.cs : Modifed the Rollback() method, so that
  97. connection can be used for another transaction after the previous
  98. transaction is rolled back. fixes bug 75904
  99. 2005-09-02 Umadevi S <[email protected]>
  100. * Removed SqlResultSet.cs file
  101. 2005-08-26 Sureshkumar T <[email protected]>
  102. * SqlConnection.cs (Open): enable sp_reset_connection.
  103. 2005-08-25 Sureshkumar T <[email protected]>
  104. * SqlCommandBuilder.cs: BuildInformation (): continue on columns
  105. who don't have basetablename.
  106. 2005-08-12 Daniel Morgan <[email protected]>
  107. * SqlCommandBuilder.cs: update command builder based on
  108. OdbcCommandBuilder latest changes to fix regression
  109. of bug 75552
  110. 2005-08-05 Sureshkumar T <[email protected]>
  111. * SqlCommandBuilder.cs: Set SourceVersion property to the created
  112. parameters as it is used by the Adapter's Update method.
  113. 2005-07-22 Sureshkumar T <[email protected]>
  114. * SqlCommandBuilder.cs, SqlParameterCollection.cs,
  115. SqlConnection.cs, SqlParameter.cs:
  116. - updated attributes & attribute descriptions to match with
  117. masterinfos.
  118. 2005-07-16 Daniel Morgan <[email protected]>
  119. * SqlCommandBuilder.cs: CreateUpdateCommand should get the current value, not
  120. the orginal value when setting one of the SET variables
  121. 2005-07-15 Sureshkumar T <[email protected]>
  122. * SqlCommandBuilder.cs:
  123. - set_DataAdapter: unsubscribe event if DataAdapter is reset.
  124. - CreateInsertCommand, CreateUpdateCommand, CreateDeleteCommand:
  125. if column mapping is missing, use the source column name. use
  126. proper version to get the data.
  127. - RowUpdatingHandler: set status to continue to actually process
  128. the query.
  129. 2005-07-04 Ben Maurer <[email protected]>
  130. * SqlError.cs: Patch from [email protected] to fix serialization.
  131. 2005-06-29 Sureshkumar T <[email protected]>
  132. * SqlConnection.cs: Open (): catch TdsInternalException and throw
  133. SqlException.
  134. * SqlException.cs: code re-organised to pass message as well with
  135. the exception.
  136. 2005-06-23 Sureshkumar T <[email protected]>
  137. * SqlConnectionStringBuilder.cs: simplified multiple keyword
  138. mappings and allowed-key checking. fixed Item, Remove,
  139. ContainsKey, ShoudSerialize, TryGetValue implementations.
  140. 2005-06-21 Sureshkumar T <[email protected]>
  141. * SqlConnectionStringBuilder.cs: Connection String Builder class
  142. for SqlClient Data Provider.
  143. 2005-06-01 Gonzalo Paniagua Javier <[email protected]>
  144. * SqlParameter.cs: moved the 'using S.D.SqlTypes' out of NET_2_0. Fixes
  145. the build.
  146. 2005-06-01 Sureshkumar T <[email protected]>
  147. * SqlParameter.cs: Parameter's value can be SqlTypes. Convert to
  148. framework type to pass to TDS layer. Fixes bug #75044.
  149. 2005-05-24 Umadevi S <[email protected]>
  150. * fixed some 2.0 and 1.0 specific fields/attributes for various classes.
  151. * Added SqlClientMetaDataCollectionNames.cs, Implemented some 2.0
  152. properties for SqlParameterCollection for the bulkcopy feature.
  153. 2005-05-20 Kornél Pál <http://www.kornelpal.hu/>
  154. * Fixed Bug #53169 - SqlDataReader incorrectly returns bigint as decimal
  155. Note: The fix works around the limitations of TDS 7.0 to avoid this
  156. difference between Mono and .NET Framework TDS 8.0 should be used instead.
  157. 2005-05-20 Umadevi S <[email protected]>
  158. * Fixed Bug 74948 - SqlParameter also takes DBNull Value.
  159. Correct some attributes stuff of 1.1 and 2.0 for SqlParameter.cs
  160. 2005-05-20 Umadevi S <[email protected]>
  161. * Continuing on implementation for bulkcopy and notification
  162. Added files SqlNotificationEventArgs.cs, OnChangeEventHandler.cs
  163. Modified SqlRowUpdatingEventArgs.cs
  164. 2005-05-19 Umadevi S <[email protected]>
  165. * For implementation of bulkcopy and notifications added files
  166. SqlBulkCopyOptions.cs,SqlBulkCopyColumnMapping.cs,SqlNotificationAuthType.cs
  167. SqlNotificationTransports.cs,SqlRowsCopiedEventArgs.cs, SqlRowsCopiedEventHandler.cs
  168. 2005-05-19 Umadevi S <[email protected]>
  169. * Corrected types,enum values of SqlNotificationType,SqlNotificationSource,
  170. SqlNotificationInfo and added new method in SqlRowUpdatingEventArgs.cs
  171. (For implementation of bulkcopy/notifications)
  172. 2005-04-19 Sureshkumar T <[email protected]>
  173. * SqlDataReader.cs: NextResult (): Re-create schema table for each
  174. result set. don't re-use, as it may be referenced from somewhere.
  175. 2005-04-07 Sureshkumar T <[email protected]>
  176. Ankit Jain <[email protected]>
  177. * SqlConnection.cs: Implemented additional connection string
  178. property "Asynchronous Processing".
  179. * SqlCommand.cs: Implemented Asynchronous command execution API.
  180. * SqlAsyncState.cs: A internal state object for asynchronous
  181. operations.
  182. * SqlAsyncResult.cs: Added. Class to hold result for asynchronous
  183. queries.
  184. 2005-03-28 Sureshkumar T <[email protected]>
  185. * SqlCommand.cs: Execute: Add a semicolon at the end of
  186. CommandText. Multiple semicolon's are not being complained.
  187. fixes bug #74134.
  188. 2005-03-11 Gonzalo Paniagua Javier <[email protected]>
  189. * SqlConnection.cs: added a finalizer for correct implementation of the
  190. IDisposable pattern.
  191. 2005-03-11 Gonzalo Paniagua Javier <[email protected]>
  192. * SqlException.cs: make it serialization-compatible with MS. Patch by
  193. Aleksandar Dezelin. Closes bug #73596.
  194. 2005-03-08 Sureshkumar T <[email protected]>
  195. * SqlDataReader.cs: Call base constructor with CommandBehavior
  196. parameter instead of passing DbCommand object. The internal base
  197. class with DbCommand Parameter is removed.
  198. 2005-03-07 Sureshkumar T <[email protected]>
  199. * SqlCommand.cs : Set CommandBehavior on
  200. ExecuteReader,ExecuteScalar,ExecuteNonQuery. This is used in
  201. CloseDataReader.
  202. This fixes bug #73252.
  203. 2005-03-03 Sureshkumar T <[email protected]>
  204. * SqlClientFactory.cs: While creating command, create using
  205. DbConnectionFactory as DbConnectionBase.CreateDbCommand needs to
  206. have a connection factory.
  207. * SqlConnection.cs: Added an internal constructor which takes
  208. DbConnectionFactory.
  209. * SqlConnectionFactory.cs: Added. Concrete class for abstract
  210. factory DbConnectionFactory.
  211. 2005-02-22 Sureshkumar T <[email protected]>
  212. * SqlDataReader.cs: GetBytes: return the length of the data if
  213. output buffer is null. if not, copy the values to buffer and
  214. return the bytes actually read.
  215. 2005-02-02 Sureshkumar T <[email protected]>
  216. * SqlConnection.cs:
  217. - Database: return db name from database if connection open,
  218. otherwise take from connection string.
  219. - Set default values for parameters in the constructor itself.
  220. - Dangling else problem with Close method.
  221. - reset values of parms (TdsConnectionParameters) rather setting
  222. to null.
  223. - set disposed to false in Open method
  224. - finally call base.Dispose in Dispose (bool)
  225. Fixes nunit regressions SqlConnectionTest:DefaultConnectionValues
  226. and SqlConnectionTest:DatabaseSynonyms.
  227. 2005-01-27 Sureshkumar T <[email protected]>
  228. * SqlCommand.cs (DeriveParameters): Change parameter name to
  229. "procedure_name".
  230. * SqlParameter.cs (SqlParameter (object [])) : call default
  231. constructor to create Tds.Metaparameter.
  232. fixes bug #63122.
  233. 2005-01-03 Sureshkumar T <[email protected]>
  234. * SqlCommand.cs: Fixed bug #68973. Reset Tds.RecordsAffected to 0
  235. for each execute statement.
  236. 2004-11-25 Sureshkumar T <[email protected]>
  237. These changes are for 2.0 profile only. These changes implement
  238. the generic data base access technique using Provider Factory
  239. Implementation. These classes need to be dervided from abstract
  240. base classes so that the corresponding factory classes are
  241. created when calling CreateCommand, CreateParameter, etc.
  242. * SqlClientFactory.cs: Provider Factory class Implementaion for SqlServer
  243. * SqlParameter.cs: Change base classes and override methods.
  244. * SqlParameterCollection.cs: Change base classes and override methods.
  245. * SqlTransaction.cs: Change base classes and override methods.
  246. * SqlDataSourceEnumerator.cs: DataSource Enumerator stubs.
  247. * SqlDataReader.cs: Change base classes and override methods.
  248. * SqlConnection.cs: Change base classes and override methods.
  249. * SqlCommandBuilder.cs: Change base classes and override methods.
  250. * SqlCommand.cs: Change base classes and override necessary methods.
  251. 2004-10-14 Umadevi S <[email protected]>
  252. * SqlCommand.cs - Implemented the clone method correctly.
  253. (fixed bug 67301)
  254. 2004-10-06 Umadevi S <[email protected]>
  255. * ISqlNoticationReceiver.cs - changed namespace
  256. * Added files SqlNotificationType.cs, SqlNotificationInfo.cs, SqlNotificationSource.cs
  257. 2004-09-24 Umadevi S <[email protected]>
  258. * SqlTransaction.cs - Dispose will not call rollback incase the transaction is not open.
  259. 2004-09-14 Sebastien Pouliot <[email protected]>
  260. * SqlClientPermission.cs: Added internal constructor accepting an Sql
  261. ClientPermissionAttribute parameter (using base class protected ctor).
  262. * SqlClientPermissionAttribute.cs: Copy now use the new SqlClient
  263. Permission constructor.
  264. 2004-09-13 Sebastien Pouliot <[email protected]>
  265. * SqlClientPermission.cs: Mostly completed (needs tests).
  266. * SqlClientPermissionAttribute.cs: Completed.
  267. 2004-09-02 Umadevi S <[email protected]>
  268. * SqlCommand.cs - ExecuteNonQuery to return -1 incase of executing a storedprocedure
  269. 2004-08-16 Gert Driesen <[email protected]>
  270. * SqlConnection.cs: added TODO on ConnectionString for keywords
  271. that are not yet implemented. check value of Integrated Security
  272. keyword, check value of bool keywords, improve error reporting
  273. for int keywords, added support for the following keyword
  274. synonyms : APP, TIMEOUT, NETWORK, PERSISTSECURITYINFO, WSID,
  275. LANGUAGE, USER. Throw NotImplementedException when encrypt keyword
  276. is set to true, enlist keyword is set to false or attachdbfilename
  277. keyword (or one of its synonyms) is set. Added FIXME for PERSIST
  278. SECURITY INFO keyword, throwing a NotImplementedException here
  279. would break lots of apps
  280. 2004-08-16 Gert Driesen <[email protected]>
  281. * SqlConnection.cs - spaces to tabs
  282. 2004-08-12 Sureshkumar T <[email protected]>
  283. * SqlDataReader.cs - In Close method, the remaining resultsets are drained
  284. out, to read output parameters & to avoid stream overlap
  285. 2004-06-30 Umadevi S <[email protected]>
  286. * SqlCommand.cs : In the Execute Method the commandbehavior parameters were ignored correct
  287. these
  288. 2004-06-22 Atsushi Enomoto <[email protected]>
  289. * SqlCommandBuilder.cs : Avoid cast exception caused by DbNull.
  290. 2004-06-18 Umadevi S <[email protected]>
  291. * SqlCommand.cs - ExecuteNonQuery returns -1 in all cases except
  292. insert,update or delete.
  293. 2004-06-18 Umadevi S <[email protected]>
  294. * SqlConnection.cs - handled null being passed as a connectionstring
  295. - checked for minimal set of parameters in connectionstring.
  296. - handled unrecogonized keywords similar to MS.NET
  297. 2004-06-17 Umadevi S <[email protected]>
  298. * SqlTransaction.cs - fixed multiple rollbacks being called causes invalidoperationexception
  299. 2004-06-04 Gert Driesen <[email protected]>
  300. * SqlClientPermission.cs: removed extra CreateInstance
  301. method
  302. 2004-06-02 Gert Driesen <[email protected]>
  303. * SQLDebugging.cs: added missing attributes, marked ctor
  304. public to match MS.NET
  305. 2004-05-22 Atsushi Enomoto <[email protected]>
  306. * SqlClientPermission.cs : don't use chained obsolete .ctor.
  307. 2004-05-20 Gert Driesen ([email protected])
  308. * SqlClientPermissionAttribute.cs: change AllowMultiple and
  309. Inherited to match .NET
  310. 2004-05-20 Umadevi S <[email protected]>
  311. * Fixed bug 58406- implemented the hasrow method, test program used
  312. to test with the bug report
  313. 2004-05-13 Umadevi S <[email protected]>
  314. * SqlClientPermission.cs, SqlDataReader.cs - added missing methods with TODO tags
  315. * SqlCommand.cs, SqlDataAdapter.cs - implemented ToolboxItemAttribute
  316. * SQLDebugging.cs - Added new file with a TODO tag
  317. 2004-04-05 Lluis Sanchez Gual <[email protected]>
  318. * SqlConnection.cs: Use connection pool implemented in Mono.Data.Tds.
  319. 2004-04-01 Lluis Sanchez Gual <[email protected]>
  320. * SqlDataReader.cs: Null values are now represented with DBNull instances.
  321. Deal with this.
  322. 2004-03-14 Tim Coleman <[email protected]>
  323. * SqlCommand.cs SqlConnection.cs:
  324. Changes from two patches by Andres Taylor
  325. <[email protected]>
  326. 2004-03-12 Andreas Nahr <[email protected]>
  327. * SqlParameter.cs: DO NOT USE the consts scheme if types can be referenced directly!
  328. 2004-01-10 Atsushi Enomoto <[email protected]>
  329. * SqlClientPermission.cs : Fixed NET_2_0 build related to
  330. obsolete attribute problem (see DbDataPermission.cs)
  331. 2003-12-28 Tim Coleman <[email protected]>
  332. * SqlResultSet.cs:
  333. Stubbed out this class.
  334. 2003-12-23 Tim Coleman <[email protected]>
  335. * SqlConnection.cs:
  336. Improved connection string parsing. See
  337. System.Data.Common.DbConnectionString for source.
  338. 2003-12-21 Tim Coleman <[email protected]>
  339. * SqlConnection.cs:
  340. Enable Integrated Security
  341. 2003-12-19 Tim Coleman <[email protected]>
  342. * ISqlNotificationReceiver.cs SqlResultSet.cs:
  343. New stubs added
  344. * SqlClientPermission.cs:
  345. Fix constructor for 1.2
  346. 2003-12-04 John Luke <[email protected]>
  347. * SqlXmlTextReader.cs: applied patch from Chris Masters <[email protected]>
  348. fix peek so it checks if it is at the end and also to make sure that if Read()
  349. advances the position past the end of the localBuffer array, it makes
  350. a call to GetNextBuffer(). fixes bug #40253 System.IndexOutOfRangeException when
  351. using SqlCommand.ExecuteXmlReader()
  352. 2003-11-20 Joerg Rosenkranz <[email protected]>
  353. * SqlConnection (SetDefaultConnectionParameters):
  354. Changed default value of WORKSTATION ID to reflect real
  355. host name instead of "localhost".
  356. 2003-11-16 Ben Maurer <[email protected]>
  357. * SqlParameterCollection.cs (Clear): Clear needs to take
  358. the parameter out of the collection so that it can be used
  359. again.
  360. (Remove):
  361. (RemoveAt): Ditto.
  362. 2003-10-03 Diego Caravana <[email protected]>
  363. * SqlCommand.cs: no change.
  364. * SqlConnection.cs (Close): Added checks for null instance
  365. variables.
  366. * SqlParameter.cs (Direction): Now handles parameters of type
  367. ReturnValue and InputOutput.
  368. * SqlParameterCollection.cs (IndexOf(string)): Search for
  369. SqlParameter object in list is done by obtaining ParameterName
  370. attribute, not directly through list.IndexOf().
  371. 2003-08-22 Duncan Mak <[email protected]>
  372. * SqlCommand.cs (ExecuteNonQuery): Return
  373. Connection.Tds.RecordsAffected if it is successful. Patch from
  374. Jörg Rosenkranz <[email protected]>.
  375. This is part of a fix to bug #40315.
  376. 2003-08-20 Duncan Mak <[email protected]>
  377. * SqlConnectionPool.cs (ReleaseConnection): A patch from Joerg
  378. Rosenkranz <[email protected]>. Currently, if a connection is
  379. closed by an external event (network problem, etc.) it is pushed
  380. back into the connection pool. The next Open call retrieves this
  381. invalid connection which leads to exceptions when executing
  382. statements.
  383. This patch fixes this problem. This closes bug #47429.
  384. 2003-07-04 Miguel de Icaza <[email protected]>
  385. * SqlDataReader.cs: Added extra information to the exceptions
  386. thrown by all the GetXXXX methods.
  387. 2003-03-15 Daniel Morgan <[email protected]>
  388. * SqlConnection.cs: if Server in the ConnectionString
  389. is set to "(local", use "localhost" as the hostname
  390. to connect
  391. 2003-03-04 Gonzalo Paniagua Javier <[email protected]>
  392. * SqlException.cs: implemented GetObjectData ().
  393. 2003-02-16 Daniel Morgan <[email protected]>
  394. * ChangeLog: added this file
  395. * SqlConnection.cs: - parse data source for 3 possible uses:
  396. "Server=hostname",
  397. "Server=hostname\\instancename",
  398. "Server=hostname,port" and open the connection based on the
  399. resulting server name and port.
  400. - Added support for named instances
  401. by discovery of the sql server tcp port via the sql monitor (udp port 1434)
  402. thanks to Phillip Jerkins ([email protected]) contribution.
  403. Also, thanks to Gonzalo and Tim for their help with timeouts.