ChangeLog 49 KB

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