ChangeLog 55 KB

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