ChangeLog 52 KB

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