ChangeLog 56 KB

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