2
0

ChangeLog 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068
  1. 2007-10-21 Gert Driesen <[email protected]>
  2. * SqlCommand.cs: Use ExceptionHelper.CheckEnumValue for enum checks.
  3. 2007-10-20 Gert Driesen <[email protected]>
  4. * SqlCommand.cs: Added constant for default CommandTimeout, instead
  5. of using a magic number. Avoid unnecessary initialization. Fixed
  6. default value for DesignTimeVisible. Return zero-length string if
  7. CommandText is null. Use ExceptionHelper.InvalidEnumValueException
  8. to avoid code duplication. Spaces to tabs and code formatting.
  9. * SqlConnection.cs: Use different default package size on 2.0 profile.
  10. Added constants for default values, instead of using magic numbers.
  11. Avoid unnecessary initialization. In PacketSize, return default or
  12. configured packet size when connection is not open. Use
  13. ExceptionHelper.ConnectionClosed instead of local method. Removed
  14. use of some hardcoded values in SetDefaultConnectionParameters, and
  15. use Environment.MachineName as default WorkstationId instead of
  16. DNS host name. Code formatting.
  17. * SqlDataAdapter.cs: In default ctor, set SelectCommand to null.
  18. Avoid unnecessary initializations. Use direct assignment in
  19. IDbDataAdapter implementation. Fixed exception message for negative
  20. UpdateBatchSize. In Dispose override, make sure to invoke base
  21. method.
  22. 2007-10-19 Gert Driesen <[email protected]>
  23. * SqlTransaction.cs: Clear connection in commit. In IsolationLevel,
  24. throw IOE if transaction is no longer open.
  25. 2007-10-19 Gert Driesen <[email protected]>
  26. * SqlTransaction.cs: Avoid unnecessary initialization. Remove
  27. isRolledBack since its essentially the same as isOpen. Use
  28. ExceptionHelper.TransactionNotUsable instead of duplicating code.
  29. On 2.0 profile, ignore call to Rollback when transaction was already
  30. disposed.
  31. 2007-10-18 Gert Driesen <[email protected]>
  32. * SqlConnection.cs: Avoid unnecessary initialization. Use string.Empty
  33. for assigning zero-length string, and use String.Length to check for
  34. zero-length string. Added support for IsolationLevel.Snapshot.
  35. Added StructuredTypeMembers schema collection and restrictions. Fixed
  36. table name for MetaDataCollections collection. Implemented
  37. DataSourceInformation collection. Added missing data types (probably
  38. introduced in 2.0 SP1). In GetSchema, throw InvalidOperationException
  39. if connection is closed and throw NotImplementedException for
  40. StructuredTypeMembers collection.
  41. 2007-10-18 Gert Driesen <[email protected]>
  42. * SqlConnection.cs: On 1.0 profile, IsolationLevel.Unspecified is
  43. not valid. On 2.0 profile, when IsolationLevel.Unspecified is passed
  44. make sure to also set SqlTransaction.IsolationLevel to
  45. ReadCommitted. Modified exceptions to match MS.
  46. 2007-10-17 Nagappan <[email protected]>
  47. * SqlParameter.cs (ConvertToFrameworkType): Added SqlDbType.Image.
  48. 2007-10-17 Nagappan <[email protected]>
  49. * SqlConnection.cs: BeginTransaction does not handle
  50. IsolationLevel.Unspecified, so the default is set as ReadCommited.
  51. Thanks to Jerome Haltom <[email protected]> for this patch. Fixes
  52. bug # 333082.
  53. * SqlTransaction.cs: If transaction count is greater then 0 then roll back.
  54. Thanks to Jerome Haltom <[email protected]> for this patch. Fixes
  55. bug # 331953.
  56. 2007-10-15 Gert Driesen <[email protected]>
  57. * SqlException.cs: Do not hide Message on 2.0 profile. Fixes bug
  58. #333901.
  59. 2007-10-08 Marek Safar <[email protected]>
  60. * SqlParameterCollection.cs (SetParameter): Fixed missing cast.
  61. 2007-09-27 Nagappan A <[email protected]>
  62. * SqlConnection.cs: Added MonoTODO appropriately.
  63. 2007-09-26 Nagappan A <[email protected]>
  64. * SqlCommandBuilder.cs: Code alignment.
  65. 2007-09-25 Nagappan A <[email protected]>
  66. * SqlInitialCatalogConverter.cs, SqlDataSourceConverter.cs:
  67. NetworkLibraryConverter.cs: Added new files.
  68. * SqlParameter.cs: 2.0 attribute changes.
  69. * SqlDataAdapter.cs: 2.0 attribute changes.
  70. * SqlConnectionStringBuilder.cs: 2.0 attribute changes.
  71. * SqlConnection.cs (ClearAllPools, ClearPool): Implemented 2.0
  72. APIs, other 2.0 attribute changes.
  73. * SqlCommandBuilder.cs (GetSchemaTable, InitializeCommand):
  74. Implemented 2.0 APIs, other 2.0 attribute changes.
  75. * SqlBulkCopyColumnMappingCollection.cs: Added constructor, 2.0
  76. API compatibility changes.
  77. * SqlException.cs: 2.0 attribute changes.
  78. 2007-08-13 Nagappan A <[email protected]>
  79. * SqlConnection.cs (ConnectionString): 2.0 compatibility changes.
  80. * SqlDataReader.cs (IsCommandBehavior): Fixed spelling mistake of
  81. the method name.
  82. (Dispose): 2.0 compatibility changes.
  83. * SqlBulkCopy.cs (SqlRowsCopied): Fixed spelling mistake of the
  84. event name.
  85. (RowsCopied): Generates event when NotifyAfter is set.
  86. * SqlCommandBuilder.cs (Dispose, RefreshSchema): 2.0 compatibility
  87. changes.
  88. * SqlClientFactory.cs (CreateDataSourceEnumerator): Removed bogus
  89. TODO.
  90. * SqlException.cs (Message): 2.0 compatibility changes.
  91. 2007-08-06 Nagappan A <[email protected]>
  92. * SqlCommand.cs, SqlDataReader.cs, SqlConnection.cs: When the
  93. server resets the connection, now the client code also disconnects
  94. the session and remove the instance from pool. Fixes bug # 81933.
  95. 2007-07-31 Nagappan A <[email protected]>
  96. * SqlCommand.cs (Transaction, Connection): IDbCommand Transaction
  97. and Connection can be set to null. Fixes bug 82189.
  98. 2007-07-23 Nagappan A <[email protected]>
  99. * SqlCommandBuilder.cs (ApplyParameterInfo, GetParameterName):
  100. (GetParameterPlaceholder): Implemented 2.0 missing APIs.
  101. 2007-07-22 Nagappan A <[email protected]>
  102. * SqlBulkCopy.cs (NotifyAfter): Implemented 2.0 property.
  103. (GetColumnMetaData, GenerateColumnMetaData):
  104. (ValidateColumnMapping): Implemented private method's to generate
  105. and validate SqlBulkCopy headers.
  106. (BulkCopyToServer): Private method to actually do the bulk copy
  107. processing.
  108. (WriteToServer): Implemented 2.0 missing overloaded methods.
  109. (IDisposable.Dispose): Implemented 2.0 missing method.
  110. * SqlBulkCopyColumnMappingCollection.cs (Add, CopyTo): Implemented
  111. missing API.
  112. (Item): Implemented missing property.
  113. * SqlBulkCopyColumnMapping.cs: Modified the implementation of
  114. Constructors to use property.
  115. * SqlDataReader.cs (GetSqlXml, IsCommandBehaviour): Added 2.0
  116. missing method.
  117. (Connection): Added missing property.
  118. * SqlParameter.cs (SetSqlDbType, ConvertToFrameworkType): Modified
  119. method as internal from private.
  120. * SqlConnection.cs: Fixed 2.0 missing feature.
  121. * SqlException.cs: Fixed 2.0 missing feature.
  122. * SqlClientPermission.cs: Fixed 2.0 missing feature.
  123. 2007-07-01 Gert Driesen <[email protected]>
  124. * ISqlNotificationReceiver.cs: Removed.
  125. * SqlClientFactory.cs: Use SqlDataSourceEnumerator from S.D.Sql and
  126. marked method todo. Avoid unnessary casts. Code formatting.
  127. * SqlCommand.cs: Explicit interface implementation of IDbCommand not
  128. necessary on 2.0 profile. Fixes API mismatches. Avoid unnecessary
  129. casts. Code formatting.
  130. * SqlConnection.cs: Also use RecommendAsConfigurable instead of
  131. SettingBindableAttribute on 2.0. Use StateChange event from base class
  132. on 2.0. Only explicitly implement IDbConnection methods on 1.0, since
  133. these are implemented by base class on 2.0 profile. Removed extra
  134. explicit implementation of IDisposable since the base class implements
  135. this. Code formatting.
  136. * SqlDataAdapter.cs: Dispose (bool) override not necessary on 2.0
  137. profile. Stubbed ICloneable.Clone. Fixes API mismatches.
  138. * SqlDataReader.cs: On 2.0, IDisposable.Dispose is implemented by
  139. DbDataReader. Only 1.0 profile, explicitly implemented IEnumerable
  140. GetEnumerator. Code formatting.
  141. * SqlDataSourceEnumerator.cs: Removed.
  142. * SQLDebugging.cs: Marked sealed on 2.0. Code formatting.
  143. * SqlNotificationAuthType.cs: Removed.
  144. * SqlNotificationInfo.cs: Added missing fields. Code formatting.
  145. * SqlNotificationSource.cs: Added missing fields. Code formatting.
  146. * SqlNotificationTransports.cs: Removed.
  147. * SqlNotificationType.cs: Added missing Unknown field. Code formatting.
  148. * SqlParameter.cs: Removed Browsable and EditorBrowsable attributes
  149. from Precision and Scale. Fixes API mismatches. Code formatting fixes.
  150. * SqlTransaction.cs: On 2.0 profile, Dispose method is exposed by
  151. base class. Fixes API mismatches. Code formatting fixes.
  152. 2007-06-21 Nagappan A <[email protected]>
  153. * SqlConnection.cs: Fixed compiler warning.
  154. 2007-06-11 Nagappan A <[email protected]>
  155. * SqlConnection.cs (ParseDataSource): Adds tcp support in
  156. connection string. Fixes bug # 80975.
  157. * SqlCommand.cs (Dispose): On disposing the command object, don't
  158. dispose connection and transaction.
  159. 2007-06-06 Nagappan A <[email protected]>
  160. * SqlCommand.cs, SqlConnectionStringBuilder.cs, SqlConnection.cs:
  161. Fixed 1.0 and 2.0 extras, errors as stated in class status page.
  162. * SqlDataAdapter.cs, SqlParameter.cs:Fixed 1.0 and 2.0 extras,
  163. errors as stated in class status page.
  164. * SqlBulkCopyColumnMappingCollection.cs: Fixed 1.0 and 2.0 extras,
  165. errors as stated in class status page.
  166. 2007-05-30 Nagappan A <[email protected]>
  167. * SqlParameter.cs (SqlParameter): Updated constructor to use the
  168. new TDS RPC implementation.
  169. Fixed missing attributes.
  170. (SetDbType): Added new case for sql_variant type.
  171. (ConvertToFrameworkType): Implemented new private method to
  172. convert the data type to framework type.
  173. * SqlParameterCollection.cs: Fixed missing attributes and
  174. implemented missing methods.
  175. * SqlConnection.cs: Fixed missing attributes.
  176. * SqlConnectionStringBuilder.cs: Certain attributes are missing or
  177. its value or they are not appropriate. Fixed them.
  178. * SqlDataReader.cs (GetData): Method is available only under 1.0
  179. profile.
  180. * SqlCommandBuilder.cs: Certain attributes are available only
  181. under 2.0 profile, so moved them inside ifdef.
  182. * SqlCommand.cs: Certain attributes are available only under 2.0
  183. profile, so moved them inside ifdef.
  184. * SqlBulkCopy.cs: Added new stubs.
  185. * SqlBulkCopyColumnMappingCollection.cs: Added new stubs.
  186. 2007-05-29 Nagappan A <[email protected]>
  187. * SqlCommand.cs (Dispose): Command.Dispose closing
  188. connection. Fixes bug # 81710. Thanks to AMC <[email protected]>
  189. for the fix.
  190. 2007-05-10 Nagappan A <[email protected]>
  191. * SqlClientMetaDataCollectionNames.cs: Fixed incorrect constructor
  192. type.
  193. * SqlConnectionStringBuilder.cs: Fixed missing attributes.
  194. 2007-05-09 Igor Zelmanovich <[email protected]>
  195. * SqlConnectionStringBuilder.cs: added MonoNotSupported attribute.
  196. 2007-04-03 Amit Biswas <[email protected]>
  197. * SqlDataReader.cs (GetSqlBytes, GetProviderSpecificFieldType)
  198. (GetProviderSpecificValue, GetProviderSpecificValues): Implemented
  199. missing API.
  200. * SqlParameter.cs (XmlSchemaCollectionDatabase): Implemented missing property
  201. (XmlSchemaCollectionName): Implemented missing property
  202. (XmlSchemaCollectionOwningSchema): Implemented missing property
  203. (SourceColumnNullMapping): Existing implementation was not correct, Replaced the implementation
  204. (.ctor): Implemented mising constructor new in .net 2.0
  205. * SqlErrorCollection.cs (CopyTo): Implemented missing API
  206. * SqlParameter.cs (InferSqlType): Corrected bug related to default values of
  207. SqlDbType and DbType
  208. (ResetSqlDbType): Implemented missing API
  209. (ResetDbType): Implemented missing API
  210. 2007-03-09 Amit Biswas <[email protected]>
  211. * SqlParameterCollection.cs (CopyTo): Implemented missing API
  212. 2007-04-02 Nagappan A <[email protected]>
  213. * SqlParameter.cs: Variable name fix.
  214. 2007-03-20 Nidhi Rawal <[email protected]>
  215. * SqlClientFactory.cs: Added two using directives.
  216. (CreateConnectionStringBuilder): Implemented the method.
  217. (CreatePermission): Implemented the property.
  218. * SqlCommand.cs: Added one using directive.
  219. (Clone): Implemented the method.
  220. (Dispose): Implemented the method.
  221. (BeginExecuteXmlReader): Implemented the method.
  222. * SqlCommandBuilder.cs (QuoteIdentifier): Implemented the method.
  223. (UnquoteIdentifier): Implemented the method.
  224. * SqlConnection.cs (ChangePassword): Implemented the method.
  225. 2007-03-19 Nidhi Rawal <[email protected]>
  226. * SqlClientFactory.cs (CanCreateDataSourceEnumerator): Implemented
  227. the property.
  228. * SqlCommand.cs (Notification): Implemented the property.
  229. (NotificationAutoEnlist): Implemented the property.
  230. * SqlDataReader.cs (VisibleFieldCount): Implemented the property.
  231. * SqlConnectionStringBuilder.cs (TrustServerCertificate): Implemented
  232. the property.
  233. (TypeSystemVersion): Implemented the property.
  234. (UserInstance): Implemented the property.
  235. (ContextConnection): Implemented the property.
  236. * SqlConnection.cs (FireInfoMessageEventOnUserErrors): Implemented
  237. the property.
  238. (StatisticsEnabled): Implemented the property.
  239. * SqlDataAdapter.cs (UpdateBatchSize): Implemented the property.
  240. * SqlParameter.cs: Implemented one attribute.
  241. 2007-03-16 Andreia Gaita <[email protected]>
  242. * SqlParameter.cs: Move isVariableSizeType flag to TdsMetaParameter
  243. so that the TdsMetaParameter can validate itself for valid size / values.
  244. * SqlCommand.cs (Execute): Call Validate on TdsMetaParameter.
  245. 2007-03-14 Nagappan A <[email protected]>
  246. * SqlCommand.cs (CommandType): Exception type thrown in 2.0
  247. profile is different than 1.0, ArgumentOutOfRangeException.
  248. (Connection): Exception type thrown in 2.0 profile is different
  249. than 1.0, ArgumentOutOfRangeException.
  250. (Execute): If Size property is 0 for String and Binary type, then
  251. throw InvalidOperationException.
  252. (ValidateCommand): Exception type thrown in 2.0 profile is
  253. different than 1.0, NullReferenceException.
  254. 2007-03-09 Nagappan A <[email protected]>
  255. * SqlDataReader.cs: Fixed syntax erros reported in class status
  256. page.
  257. 2007-03-09 Andreia Gaita <[email protected]>
  258. * SqlCommand.cs (ExecuteScalar): Fix returned value for
  259. stored procedure calls to return the first column of the
  260. first row produced by the proc.
  261. 2007-03-08 Nagappan A <[email protected]>
  262. * SqlCommand.cs (CloseDataReader): Checks whether the SQL
  263. connection is created or not.
  264. 2007-03-07 Andreia Gaita <[email protected]>
  265. * SqlCommand.cs (ExecuteScalar): when calling stored procedures,
  266. implement support for return of output values in the parameter
  267. collection.
  268. 2007-02-16 Nidhi Rawal <[email protected]>
  269. * SqlParameter.cs (CompareInfo): Implemented the property
  270. CompareInfo.
  271. (LocaleId): Written the property LocaleId.
  272. (SqlValue): Written the propert SqlValue.
  273. 2007-02-15 Nidhi Rawal <[email protected]>
  274. * SqlCommand.cs: Added some attributes which were not implemented
  275. for .NET 2.0 and removed extra attribute which are not there in
  276. .NET 2.0.
  277. * SqlCommandBuilder.cs: Added some attributes that were not
  278. implemented for .NET 2.0.
  279. * SqlParameterCollection.cs: Added some attributes that were
  280. not implemented for .NET 2.0.
  281. * SqlConnectionStringBuilder.cs: Added some attributes that
  282. were not implemented for .NET 2.0.
  283. * SqlConnection.cs: Added attribute that was not implemented
  284. for .NET 2.0.
  285. * SqlParameter.cs: Added some attributes which were not
  286. implemented for .NET 2.0 and removed some extra attributes which
  287. are not there in .NET 2.0
  288. 2007-02-09 Nagappan A <[email protected]>
  289. * SqlConnection.cs (SetConnectionString): Fixes bug # 80712. A
  290. small typo.
  291. 2007-01-08 Nagappan A <[email protected]>
  292. * SqlTransaction.cs (Dispose): Fixed compliation warning.
  293. * SqlDataReader.cs (GetValues): Length of elements to be copied was
  294. decided based on the argument array passed, which caused a bug, if
  295. the length of given array is more than actual column values.
  296. * SqlCommandBuilder.cs (CatalogSeparator, SchemaSeparator)
  297. (CatalogLocation): Implemented missing properties.
  298. (CreateDeleteCommand, CreateInsertCommand, CreateUpdateCommand):
  299. Modified private methods to take bool flag. If true, add actual
  300. parameter name instead of p1, p2 etc.
  301. (CreateParameter): Added overloaded private method to create
  302. parameter with the actual column name.
  303. (GetUpdateCommand, GetDeleteCommand, GetInsertCommand):
  304. Implemented missing overloaded methods.
  305. (SetRowUpdatingHandler): Implemented missing protected method.
  306. * SqlCommand.cs: Fixed compilation warning. Removed bogus
  307. MonoTODO's.
  308. 2006-12-05 Nagappan A <[email protected]>
  309. * SqlCommand.cs (Execute): If sql2 length is greater than 0, then
  310. add ';' and the respective sql2 string and then execute the
  311. string. Fixes bug # 79880.
  312. 2006-08-30 Nagappan A <[email protected]>
  313. * SqlConnection.cs: Implemented SqlConnection.GetSchema ().
  314. 2006-09-08 Konstantin Triger <[email protected]>
  315. * SqlClientFactory.cs: implemented SqlClientFactory.CreateConnection ().
  316. 2006-07-13 Senganal T <[email protected]>
  317. * SqlClientFactory.cs SqlCommand.cs SqlConnectionFactory.cs
  318. SqlClientPermission.cs SqlParameterCollection.cs SqlDataReader.cs
  319. SqlConnection.cs SqlParameter.cs SqlTransaction.cs :
  320. 2.0 Api fixes
  321. 2006-05-31 Gert Driesen <[email protected]>
  322. * SqlConnection.cs: Removed extra destructor, as destructor on
  323. System.ComponentModel.Component already calls Dispose.
  324. * SqlParameter.cs: Removed explicit interface implementation of
  325. IDataParameter.ParameterName.
  326. 2006-05-26 Senganal T <[email protected]>
  327. * SqlParameter.cs :
  328. - InferSqlType : if value is null or DBNull.Value, retain the
  329. current parameter type.
  330. 2006-04-18 Senganal T <[email protected]>
  331. * SqlConnection.cs :
  332. - SetConnectionString : set the pareameter to default values
  333. if connection string is empty or null
  334. - Open : Raise InvalidOperationException if Connection String
  335. is empty or null
  336. - Dispose : Test exception not raised if dispose called on a
  337. connection with empty connection string
  338. slight modification of the patch by Jonel Rienton
  339. 2006-04-07 Senganal T <[email protected]>
  340. * SqlCommandBuilder.cs :
  341. * CreateDeleteCommand ()
  342. * CreateUpdateCommand ()
  343. * CreateInsertCommand ()
  344. - Changed the signature. Do not need DataRow parameter
  345. as the Query generated is parametric.
  346. - Correct the null-check term in the WhereClause, set the
  347. correct properties for null-check parameter
  348. fixes #78027
  349. - Modified the generated query to match the query as
  350. generated by 2.0. We now ignore null-check in the
  351. whereclause if the Column does not allow nulls.
  352. * ctor () : Set QuotePrefix and QuoteSuffix for 2.0 profile
  353. * GetUpdateCommand ()
  354. * GetInsertCommand ()
  355. * GetDeleteCommand ()
  356. - Do not create new command everytime. Create only if
  357. not already created.
  358. * RefreshSchema : Reset the commands.
  359. 2006-02-17 Chris Toshok <[email protected]>
  360. * SqlCommand.cs, SqlCommandBuilder.cs, SqlConnection.cs,
  361. SqlDataAdapter.cs: remove DataSysDescription attributes for >= 2.0
  362. 2006-02-17 Chris Toshok <[email protected]>
  363. * SqlDataReader.cs: remove VisibleFieldCount property.
  364. 2006-02-10 Senganal T <[email protected]>
  365. * SqlDataReader.cs :
  366. - GetBytes : Read binary/blob/clob data sequentially when
  367. CommandBehavior is set to SequentialAcccess
  368. - GetChars : Read String/clob data sequentially when CommandBehavior
  369. is set to SequentialAccess
  370. * SqlCommand.cs :
  371. - ExecuteReader : set SequentialAccess property on TDS
  372. - CloseDataReader : Reset the command behavior
  373. 2006-01-27 Senganal T <[email protected]>
  374. * SqlCommandBuilder.cs :
  375. - Modified CreateUpdateCommand,CreateDeleteCommand , to not include
  376. column name in the query if its a expression col.
  377. Also, modified the queries to match the generated queries in ms.net
  378. * SqlCommand.cs :
  379. - Modifed Prepare, to check if Parameter is explicitly initialized
  380. * SqlParameter.cs :
  381. - Added CheckIfInitialized : Checks if datatype is explicitly set and
  382. non-zero size is set for variable datatypes.
  383. * SqlDataReader.cs :
  384. - Added code for GetSqlBinary ()
  385. - Fixed GetFieldCount ()
  386. - Added more checks and exceptions.
  387. 2006-01-17 Senganal T <[email protected]>
  388. * SqlCommandBuilder.cs
  389. - Modified CreateNewCommand () : Clean up any existing parameter list
  390. before reusing the command.Fixes #77225
  391. 2005-11-24 Senganal T <[email protected]>
  392. * SqlConnection.cs
  393. - Modifications to get the correct Packet Size
  394. 2005-11-21 Senganal T <[email protected]>
  395. * SqlClientFactory.cs
  396. * SqlCommandBuilder.cs
  397. * SqlParameterCollection.cs
  398. * SqlDataReader.cs
  399. * SqlDataAdapter.cs
  400. * SqlParameter.cs
  401. * SqlTransaction.cs
  402. Added stubs and other changes for ADO.NET 2.0 compatibility
  403. 2005-11-12 Gonzalo Paniagua Javier <[email protected]>
  404. * SqlConnection.cs: don't throw NotImplementedException when using
  405. 'PERSIST SECUTIRY INFO'. Just do nothing.
  406. 2005-10-27 Senganal T <[email protected]>
  407. * SqlCommand.cs
  408. * SqlDataReader.cs
  409. Made changes so that the number of rows affected can be got directly from
  410. Tds regardsless of the type of query.Fixes bug #75698
  411. 2005-10-19 Senganal T <[email protected]>
  412. * SqlConnection.cs (SetProperties) :
  413. - Added support for AttachDBFileName
  414. 2005-10-19 Senganal T <[email protected]>
  415. * SqlException.cs (Constructor)
  416. - Modified the constructor, so that the message parameter
  417. of base class is not the same as that of the Exception message.
  418. fixes bug #76468
  419. 2005-09-24 Sureshkumar T <[email protected]>
  420. * SqlParameterCollection.cs (AddWithValue): added method. patch
  421. from [email protected] (Andy Waddell).
  422. 2005-09-21 Senganal T <[email protected]>
  423. * SqlConnection.cs :
  424. - Set the correct Default Values for Parameters.
  425. - Added Argument Checks (where missing) for the Properties and
  426. throw the correct exception on error.
  427. - Modified SetDefaultParameters() to make sure that the parameters
  428. are all reset to default values everytime it is called.
  429. - Modified SetProperties() to take into account the order of the
  430. keywords in the ConnectionString.
  431. SqlConnection Fixes for the failing sqlserver connected-mode testcases
  432. in ProviderTest/System.Data.SqlClient/SqlConnectionTest.cs
  433. 2005-09-21 Senganal T <[email protected]>
  434. * SqlTransaction.cs : Modifed the Rollback() method, so that
  435. connection can be used for another transaction after the previous
  436. transaction is rolled back. fixes bug 75904
  437. 2005-09-02 Umadevi S <[email protected]>
  438. * Removed SqlResultSet.cs file
  439. 2005-08-26 Sureshkumar T <[email protected]>
  440. * SqlConnection.cs (Open): enable sp_reset_connection.
  441. 2005-08-25 Sureshkumar T <[email protected]>
  442. * SqlCommandBuilder.cs: BuildInformation (): continue on columns
  443. who don't have basetablename.
  444. 2005-08-12 Daniel Morgan <[email protected]>
  445. * SqlCommandBuilder.cs: update command builder based on
  446. OdbcCommandBuilder latest changes to fix regression
  447. of bug 75552
  448. 2005-08-05 Sureshkumar T <[email protected]>
  449. * SqlCommandBuilder.cs: Set SourceVersion property to the created
  450. parameters as it is used by the Adapter's Update method.
  451. 2005-07-22 Sureshkumar T <[email protected]>
  452. * SqlCommandBuilder.cs, SqlParameterCollection.cs,
  453. SqlConnection.cs, SqlParameter.cs:
  454. - updated attributes & attribute descriptions to match with
  455. masterinfos.
  456. 2005-07-16 Daniel Morgan <[email protected]>
  457. * SqlCommandBuilder.cs: CreateUpdateCommand should get the current value, not
  458. the orginal value when setting one of the SET variables
  459. 2005-07-15 Sureshkumar T <[email protected]>
  460. * SqlCommandBuilder.cs:
  461. - set_DataAdapter: unsubscribe event if DataAdapter is reset.
  462. - CreateInsertCommand, CreateUpdateCommand, CreateDeleteCommand:
  463. if column mapping is missing, use the source column name. use
  464. proper version to get the data.
  465. - RowUpdatingHandler: set status to continue to actually process
  466. the query.
  467. 2005-07-04 Ben Maurer <[email protected]>
  468. * SqlError.cs: Patch from [email protected] to fix serialization.
  469. 2005-06-29 Sureshkumar T <[email protected]>
  470. * SqlConnection.cs: Open (): catch TdsInternalException and throw
  471. SqlException.
  472. * SqlException.cs: code re-organised to pass message as well with
  473. the exception.
  474. 2005-06-23 Sureshkumar T <[email protected]>
  475. * SqlConnectionStringBuilder.cs: simplified multiple keyword
  476. mappings and allowed-key checking. fixed Item, Remove,
  477. ContainsKey, ShoudSerialize, TryGetValue implementations.
  478. 2005-06-21 Sureshkumar T <[email protected]>
  479. * SqlConnectionStringBuilder.cs: Connection String Builder class
  480. for SqlClient Data Provider.
  481. 2005-06-01 Gonzalo Paniagua Javier <[email protected]>
  482. * SqlParameter.cs: moved the 'using S.D.SqlTypes' out of NET_2_0. Fixes
  483. the build.
  484. 2005-06-01 Sureshkumar T <[email protected]>
  485. * SqlParameter.cs: Parameter's value can be SqlTypes. Convert to
  486. framework type to pass to TDS layer. Fixes bug #75044.
  487. 2005-05-24 Umadevi S <[email protected]>
  488. * fixed some 2.0 and 1.0 specific fields/attributes for various classes.
  489. * Added SqlClientMetaDataCollectionNames.cs, Implemented some 2.0
  490. properties for SqlParameterCollection for the bulkcopy feature.
  491. 2005-05-20 Kornél Pál <http://www.kornelpal.hu/>
  492. * Fixed Bug #53169 - SqlDataReader incorrectly returns bigint as decimal
  493. Note: The fix works around the limitations of TDS 7.0 to avoid this
  494. difference between Mono and .NET Framework TDS 8.0 should be used instead.
  495. 2005-05-20 Umadevi S <[email protected]>
  496. * Fixed Bug 74948 - SqlParameter also takes DBNull Value.
  497. Correct some attributes stuff of 1.1 and 2.0 for SqlParameter.cs
  498. 2005-05-20 Umadevi S <[email protected]>
  499. * Continuing on implementation for bulkcopy and notification
  500. Added files SqlNotificationEventArgs.cs, OnChangeEventHandler.cs
  501. Modified SqlRowUpdatingEventArgs.cs
  502. 2005-05-19 Umadevi S <[email protected]>
  503. * For implementation of bulkcopy and notifications added files
  504. SqlBulkCopyOptions.cs,SqlBulkCopyColumnMapping.cs,SqlNotificationAuthType.cs
  505. SqlNotificationTransports.cs,SqlRowsCopiedEventArgs.cs, SqlRowsCopiedEventHandler.cs
  506. 2005-05-19 Umadevi S <[email protected]>
  507. * Corrected types,enum values of SqlNotificationType,SqlNotificationSource,
  508. SqlNotificationInfo and added new method in SqlRowUpdatingEventArgs.cs
  509. (For implementation of bulkcopy/notifications)
  510. 2005-04-19 Sureshkumar T <[email protected]>
  511. * SqlDataReader.cs: NextResult (): Re-create schema table for each
  512. result set. don't re-use, as it may be referenced from somewhere.
  513. 2005-04-07 Sureshkumar T <[email protected]>
  514. Ankit Jain <[email protected]>
  515. * SqlConnection.cs: Implemented additional connection string
  516. property "Asynchronous Processing".
  517. * SqlCommand.cs: Implemented Asynchronous command execution API.
  518. * SqlAsyncState.cs: A internal state object for asynchronous
  519. operations.
  520. * SqlAsyncResult.cs: Added. Class to hold result for asynchronous
  521. queries.
  522. 2005-03-28 Sureshkumar T <[email protected]>
  523. * SqlCommand.cs: Execute: Add a semicolon at the end of
  524. CommandText. Multiple semicolon's are not being complained.
  525. fixes bug #74134.
  526. 2005-03-11 Gonzalo Paniagua Javier <[email protected]>
  527. * SqlConnection.cs: added a finalizer for correct implementation of the
  528. IDisposable pattern.
  529. 2005-03-11 Gonzalo Paniagua Javier <[email protected]>
  530. * SqlException.cs: make it serialization-compatible with MS. Patch by
  531. Aleksandar Dezelin. Closes bug #73596.
  532. 2005-03-08 Sureshkumar T <[email protected]>
  533. * SqlDataReader.cs: Call base constructor with CommandBehavior
  534. parameter instead of passing DbCommand object. The internal base
  535. class with DbCommand Parameter is removed.
  536. 2005-03-07 Sureshkumar T <[email protected]>
  537. * SqlCommand.cs : Set CommandBehavior on
  538. ExecuteReader,ExecuteScalar,ExecuteNonQuery. This is used in
  539. CloseDataReader.
  540. This fixes bug #73252.
  541. 2005-03-03 Sureshkumar T <[email protected]>
  542. * SqlClientFactory.cs: While creating command, create using
  543. DbConnectionFactory as DbConnectionBase.CreateDbCommand needs to
  544. have a connection factory.
  545. * SqlConnection.cs: Added an internal constructor which takes
  546. DbConnectionFactory.
  547. * SqlConnectionFactory.cs: Added. Concrete class for abstract
  548. factory DbConnectionFactory.
  549. 2005-02-22 Sureshkumar T <[email protected]>
  550. * SqlDataReader.cs: GetBytes: return the length of the data if
  551. output buffer is null. if not, copy the values to buffer and
  552. return the bytes actually read.
  553. 2005-02-02 Sureshkumar T <[email protected]>
  554. * SqlConnection.cs:
  555. - Database: return db name from database if connection open,
  556. otherwise take from connection string.
  557. - Set default values for parameters in the constructor itself.
  558. - Dangling else problem with Close method.
  559. - reset values of parms (TdsConnectionParameters) rather setting
  560. to null.
  561. - set disposed to false in Open method
  562. - finally call base.Dispose in Dispose (bool)
  563. Fixes nunit regressions SqlConnectionTest:DefaultConnectionValues
  564. and SqlConnectionTest:DatabaseSynonyms.
  565. 2005-01-27 Sureshkumar T <[email protected]>
  566. * SqlCommand.cs (DeriveParameters): Change parameter name to
  567. "procedure_name".
  568. * SqlParameter.cs (SqlParameter (object [])) : call default
  569. constructor to create Tds.Metaparameter.
  570. fixes bug #63122.
  571. 2005-01-03 Sureshkumar T <[email protected]>
  572. * SqlCommand.cs: Fixed bug #68973. Reset Tds.RecordsAffected to 0
  573. for each execute statement.
  574. 2004-11-25 Sureshkumar T <[email protected]>
  575. These changes are for 2.0 profile only. These changes implement
  576. the generic data base access technique using Provider Factory
  577. Implementation. These classes need to be dervided from abstract
  578. base classes so that the corresponding factory classes are
  579. created when calling CreateCommand, CreateParameter, etc.
  580. * SqlClientFactory.cs: Provider Factory class Implementaion for SqlServer
  581. * SqlParameter.cs: Change base classes and override methods.
  582. * SqlParameterCollection.cs: Change base classes and override methods.
  583. * SqlTransaction.cs: Change base classes and override methods.
  584. * SqlDataSourceEnumerator.cs: DataSource Enumerator stubs.
  585. * SqlDataReader.cs: Change base classes and override methods.
  586. * SqlConnection.cs: Change base classes and override methods.
  587. * SqlCommandBuilder.cs: Change base classes and override methods.
  588. * SqlCommand.cs: Change base classes and override necessary methods.
  589. 2004-10-14 Umadevi S <[email protected]>
  590. * SqlCommand.cs - Implemented the clone method correctly.
  591. (fixed bug 67301)
  592. 2004-10-06 Umadevi S <[email protected]>
  593. * ISqlNoticationReceiver.cs - changed namespace
  594. * Added files SqlNotificationType.cs, SqlNotificationInfo.cs, SqlNotificationSource.cs
  595. 2004-09-24 Umadevi S <[email protected]>
  596. * SqlTransaction.cs - Dispose will not call rollback incase the transaction is not open.
  597. 2004-09-14 Sebastien Pouliot <[email protected]>
  598. * SqlClientPermission.cs: Added internal constructor accepting an Sql
  599. ClientPermissionAttribute parameter (using base class protected ctor).
  600. * SqlClientPermissionAttribute.cs: Copy now use the new SqlClient
  601. Permission constructor.
  602. 2004-09-13 Sebastien Pouliot <[email protected]>
  603. * SqlClientPermission.cs: Mostly completed (needs tests).
  604. * SqlClientPermissionAttribute.cs: Completed.
  605. 2004-09-02 Umadevi S <[email protected]>
  606. * SqlCommand.cs - ExecuteNonQuery to return -1 incase of executing a storedprocedure
  607. 2004-08-16 Gert Driesen <[email protected]>
  608. * SqlConnection.cs: added TODO on ConnectionString for keywords
  609. that are not yet implemented. check value of Integrated Security
  610. keyword, check value of bool keywords, improve error reporting
  611. for int keywords, added support for the following keyword
  612. synonyms : APP, TIMEOUT, NETWORK, PERSISTSECURITYINFO, WSID,
  613. LANGUAGE, USER. Throw NotImplementedException when encrypt keyword
  614. is set to true, enlist keyword is set to false or attachdbfilename
  615. keyword (or one of its synonyms) is set. Added FIXME for PERSIST
  616. SECURITY INFO keyword, throwing a NotImplementedException here
  617. would break lots of apps
  618. 2004-08-16 Gert Driesen <[email protected]>
  619. * SqlConnection.cs - spaces to tabs
  620. 2004-08-12 Sureshkumar T <[email protected]>
  621. * SqlDataReader.cs - In Close method, the remaining resultsets are drained
  622. out, to read output parameters & to avoid stream overlap
  623. 2004-06-30 Umadevi S <[email protected]>
  624. * SqlCommand.cs : In the Execute Method the commandbehavior parameters were ignored correct
  625. these
  626. 2004-06-22 Atsushi Enomoto <[email protected]>
  627. * SqlCommandBuilder.cs : Avoid cast exception caused by DbNull.
  628. 2004-06-18 Umadevi S <[email protected]>
  629. * SqlCommand.cs - ExecuteNonQuery returns -1 in all cases except
  630. insert,update or delete.
  631. 2004-06-18 Umadevi S <[email protected]>
  632. * SqlConnection.cs - handled null being passed as a connectionstring
  633. - checked for minimal set of parameters in connectionstring.
  634. - handled unrecogonized keywords similar to MS.NET
  635. 2004-06-17 Umadevi S <[email protected]>
  636. * SqlTransaction.cs - fixed multiple rollbacks being called causes invalidoperationexception
  637. 2004-06-04 Gert Driesen <[email protected]>
  638. * SqlClientPermission.cs: removed extra CreateInstance
  639. method
  640. 2004-06-02 Gert Driesen <[email protected]>
  641. * SQLDebugging.cs: added missing attributes, marked ctor
  642. public to match MS.NET
  643. 2004-05-22 Atsushi Enomoto <[email protected]>
  644. * SqlClientPermission.cs : don't use chained obsolete .ctor.
  645. 2004-05-20 Gert Driesen ([email protected])
  646. * SqlClientPermissionAttribute.cs: change AllowMultiple and
  647. Inherited to match .NET
  648. 2004-05-20 Umadevi S <[email protected]>
  649. * Fixed bug 58406- implemented the hasrow method, test program used
  650. to test with the bug report
  651. 2004-05-13 Umadevi S <[email protected]>
  652. * SqlClientPermission.cs, SqlDataReader.cs - added missing methods with TODO tags
  653. * SqlCommand.cs, SqlDataAdapter.cs - implemented ToolboxItemAttribute
  654. * SQLDebugging.cs - Added new file with a TODO tag
  655. 2004-04-05 Lluis Sanchez Gual <[email protected]>
  656. * SqlConnection.cs: Use connection pool implemented in Mono.Data.Tds.
  657. 2004-04-01 Lluis Sanchez Gual <[email protected]>
  658. * SqlDataReader.cs: Null values are now represented with DBNull instances.
  659. Deal with this.
  660. 2004-03-14 Tim Coleman <[email protected]>
  661. * SqlCommand.cs SqlConnection.cs:
  662. Changes from two patches by Andres Taylor
  663. <[email protected]>
  664. 2004-03-12 Andreas Nahr <[email protected]>
  665. * SqlParameter.cs: DO NOT USE the consts scheme if types can be referenced directly!
  666. 2004-01-10 Atsushi Enomoto <[email protected]>
  667. * SqlClientPermission.cs : Fixed NET_2_0 build related to
  668. obsolete attribute problem (see DbDataPermission.cs)
  669. 2003-12-28 Tim Coleman <[email protected]>
  670. * SqlResultSet.cs:
  671. Stubbed out this class.
  672. 2003-12-23 Tim Coleman <[email protected]>
  673. * SqlConnection.cs:
  674. Improved connection string parsing. See
  675. System.Data.Common.DbConnectionString for source.
  676. 2003-12-21 Tim Coleman <[email protected]>
  677. * SqlConnection.cs:
  678. Enable Integrated Security
  679. 2003-12-19 Tim Coleman <[email protected]>
  680. * ISqlNotificationReceiver.cs SqlResultSet.cs:
  681. New stubs added
  682. * SqlClientPermission.cs:
  683. Fix constructor for 1.2
  684. 2003-12-04 John Luke <[email protected]>
  685. * SqlXmlTextReader.cs: applied patch from Chris Masters <[email protected]>
  686. fix peek so it checks if it is at the end and also to make sure that if Read()
  687. advances the position past the end of the localBuffer array, it makes
  688. a call to GetNextBuffer(). fixes bug #40253 System.IndexOutOfRangeException when
  689. using SqlCommand.ExecuteXmlReader()
  690. 2003-11-20 Joerg Rosenkranz <[email protected]>
  691. * SqlConnection (SetDefaultConnectionParameters):
  692. Changed default value of WORKSTATION ID to reflect real
  693. host name instead of "localhost".
  694. 2003-11-16 Ben Maurer <[email protected]>
  695. * SqlParameterCollection.cs (Clear): Clear needs to take
  696. the parameter out of the collection so that it can be used
  697. again.
  698. (Remove):
  699. (RemoveAt): Ditto.
  700. 2003-10-03 Diego Caravana <[email protected]>
  701. * SqlCommand.cs: no change.
  702. * SqlConnection.cs (Close): Added checks for null instance
  703. variables.
  704. * SqlParameter.cs (Direction): Now handles parameters of type
  705. ReturnValue and InputOutput.
  706. * SqlParameterCollection.cs (IndexOf(string)): Search for
  707. SqlParameter object in list is done by obtaining ParameterName
  708. attribute, not directly through list.IndexOf().
  709. 2003-08-22 Duncan Mak <[email protected]>
  710. * SqlCommand.cs (ExecuteNonQuery): Return
  711. Connection.Tds.RecordsAffected if it is successful. Patch from
  712. Jörg Rosenkranz <[email protected]>.
  713. This is part of a fix to bug #40315.
  714. 2003-08-20 Duncan Mak <[email protected]>
  715. * SqlConnectionPool.cs (ReleaseConnection): A patch from Joerg
  716. Rosenkranz <[email protected]>. Currently, if a connection is
  717. closed by an external event (network problem, etc.) it is pushed
  718. back into the connection pool. The next Open call retrieves this
  719. invalid connection which leads to exceptions when executing
  720. statements.
  721. This patch fixes this problem. This closes bug #47429.
  722. 2003-07-04 Miguel de Icaza <[email protected]>
  723. * SqlDataReader.cs: Added extra information to the exceptions
  724. thrown by all the GetXXXX methods.
  725. 2003-03-15 Daniel Morgan <[email protected]>
  726. * SqlConnection.cs: if Server in the ConnectionString
  727. is set to "(local", use "localhost" as the hostname
  728. to connect
  729. 2003-03-04 Gonzalo Paniagua Javier <[email protected]>
  730. * SqlException.cs: implemented GetObjectData ().
  731. 2003-02-16 Daniel Morgan <[email protected]>
  732. * ChangeLog: added this file
  733. * SqlConnection.cs: - parse data source for 3 possible uses:
  734. "Server=hostname",
  735. "Server=hostname\\instancename",
  736. "Server=hostname,port" and open the connection based on the
  737. resulting server name and port.
  738. - Added support for named instances
  739. by discovery of the sql server tcp port via the sql monitor (udp port 1434)
  740. thanks to Phillip Jerkins ([email protected]) contribution.
  741. Also, thanks to Gonzalo and Tim for their help with timeouts.