ChangeLog 59 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556
  1. 2004-06-02 Gert Driesen <[email protected]>
  2. * DataTableTypeConverter.cs: added
  3. * DataView.cs: added missing attribute on Table property
  4. * DataViewManager.cs: moved attribute to correct property
  5. * UniqueConstraint.cs: removed extra ReadOnly attribute from
  6. IsPrimaryKey property
  7. 2004-06-01 Atsushi Enomoto <[email protected]>
  8. * DataRow.cs : ColumnsChanged event is not required in .ctor().
  9. 2004-06-01 Atsushi Enomoto <[email protected]>
  10. * XmlDataReader.cs : type change is required before setting value
  11. string to row item.
  12. 2004-05-31 Atsushi Enomoto <[email protected]>
  13. * DataSet.cs : Loop-break of the last fix was incorrect.
  14. 2004-05-31 Atsushi Enomoto <[email protected]>
  15. * DataSet.cs : When a row has no parent row but the table has parent
  16. relation(s), that row had been always ignored.
  17. 2004-05-31 Atsushi Enomoto <[email protected]>
  18. * XmlDataInferenceLoader.cs : Fixed GetMappedTable() that incorrectly
  19. rejected same-named tables in different hierarchy. Thanks to Boris.
  20. 2004-05-31 Atsushi Enomoto <[email protected]>
  21. * XmlDiffLoader.cs : Added some Skip() that is required not to go to
  22. infinite loop. Thanks to Boris for this fix.
  23. 2004-05-31 Atsushi Enomoto <[email protected]>
  24. * XmlDataInferenceLoader.cs : XmlSchema elements should not be infered.
  25. Thanks to Boris for this fix.
  26. 2004-05-30 Atsushi Enomoto <[email protected]>
  27. * DataTable.cs : serialization .ctor() should use XmlReadMode.DiffGram
  28. for ReadXml(). Thanks to Boris.
  29. 2004-05-27 Boris Kirzner <[email protected]>
  30. * DataRow.cs :
  31. - CheckReadOnlyStatus : use typed (and faster comparing).
  32. - EndEdit : bug fix - do not dispose record if it holds original version.
  33. - SetValuesFromDataRecord : Take care about autoincrement columns.
  34. 2004-05-27 Atsushi Enomoto <[email protected]>
  35. * MergeManager.cs : don't output debug message to Console.
  36. 2004-05-27 Atsushi Enomoto <[email protected]>
  37. * XmlDataInferenceLoader.cs : Namespace are not imported to the table
  38. structure. Thanks to Boris Kirzner for the fix.
  39. 2004-05-27 Umadevi S <[email protected]>
  40. * DataRelationCollection.cs - fixed nunit test errors
  41. 2004-05-27 Umadevi S <[email protected]>
  42. * DataTableCollection.cs - fixed nunit test errors
  43. 2004-05-21 Atsushi Enomoto <[email protected]>
  44. * DataColumnCollection.cs : NullReferenceException was thrown when
  45. the table was not found.
  46. * DataRowCollection.cs :
  47. Find() just returns null for null value under MS.NET 1.1.
  48. RemoveAt() should also avoid to call AcceptChanges() like Remove().
  49. * UniqueConstraint.cs : in AssertConstraint() throw ConstraintException
  50. directly under MS.NET (for nunit test).
  51. 2004-05-21 Atsushi Enomoto <[email protected]>
  52. * XmlSchemaDataImporter.cs : Setting startindex in LastIndexOf()
  53. caused problem on qualified name to get schema Field name.
  54. 2004-05-21 Atsushi Enomoto <[email protected]>
  55. * XmlDataReader.cs : Now data reader is namespace aware in all places.
  56. When table's namespace is different, it entered to infinite loop.
  57. 2004-05-19 Boris Kirzner <[email protected]>
  58. * MergeManager.cs : AdjustSchema now updates by reference new created table,
  59. so in Merge you do not need to lookup for it (were unable to do this for unnamed tables).
  60. Code styling.
  61. 2004-05-19 Boris Kirzner <[email protected]>
  62. * DataColumn.cs : In set_Item[int] - if autoincrement, adjust next autoincrement value.
  63. * DataColumnCollection.cs : fixed parantethes.
  64. * DataRow.cs :
  65. - AcceptChanges : do nothing if row state is unchanged.
  66. - GetChildRows, GetParentRows : bug fix (use correct index).
  67. * DataRowCollection.cs : bug fix (compare all row's values).
  68. * DataTable.cs : bug fix (use correct row version).
  69. 2004-05-20 Atsushi Enomoto <[email protected]>
  70. * XmlSchemaDataImporter.cs : xs:positiveInteger is mapped to ulong.
  71. When content type is Mixed, text column is not required (it is
  72. required only when the complex type has no particle).
  73. "Repeated element" column is also created (considering maxOccurs=0
  74. and complex content extension).
  75. 2004-05-20 Atsushi Enomoto <[email protected]>
  76. * XmlSchemaDataImporter.cs : XmlSchemaGroupBase was not handled
  77. properly.
  78. 2004-05-20 Atsushi Enomoto <[email protected]>
  79. * XmlSchemaDataImporter.cs : Removed unused code and extra MonoTODO.
  80. Fixed relation inference to consider attribute XPath.
  81. 2004-05-19 Atsushi Enomoto <[email protected]>
  82. * DataColumn.cs : Fixed set_Item[int]. Convert.ToInt64(DBNull.Value)
  83. always fails.
  84. 2004-05-19 Boris Kirzner <[email protected]>
  85. * DataColumn.cs - removed default member attribute.
  86. 2004-05-19 Boris Kirzner <[email protected]>
  87. * DataColumn.cs,
  88. DataColumnChangeEventArgs.cs,
  89. DataColumnCollection.cs,
  90. DataRow.cs,
  91. DataRowCollection.cs,
  92. DataTable.cs,
  93. Index.cs : Data storage in the row is redesigned. Now data is stored in
  94. typed containers inside DataColumn. Row holds its versions as indexes inside
  95. each of data container, accessed through the row that holds it.
  96. 2004-05-19 Boris Kirzner <[email protected]>
  97. * UniqueConstraint.cs - added comment.
  98. 2004-05-19 Atsushi Enomoto <[email protected]>
  99. * XmlDataInferenceLoader.cs : Don't add already-existing DataTable to
  100. DataSet.
  101. 2004-05-17 Atsushi Enomoto <[email protected]>
  102. * DataSet.cs,
  103. XmlDataInferenceLoader.cs,
  104. XmlDataReader.cs,
  105. XmlSchemaDataImporter.cs : XmlDecode every local name to read and
  106. XmlEncode every local name to write. This should fix bug #58268.
  107. 2004-05-17 Atsushi Enomoto <[email protected]>
  108. * DataSet.cs : Implemented ignored namespaces in InferXmlSchema().
  109. Supported repeated elements. Removed MonoTODOs.
  110. * XmlDataInferenceLoader.cs : Design change to support ignored
  111. namespace and repeated elements.
  112. * XmlSchemaDataImporter.cs : Added mapping support classes.
  113. 2004-05-15 Atsushi Enomoto <[email protected]>
  114. * CustomDataClassGenerator.cs :
  115. Added property parent "[foo]Row" and children "Get[foo]Row" support
  116. for custom DataRow classes.
  117. Fixed DataColumn property accessibility (public --> internal).
  118. 2004-05-14 Atsushi Enomoto <[email protected]>
  119. * CustomDataClassGenerator.cs :
  120. - Put classes inside custom DataSet class.
  121. - Added automatic DataRelation creation support.
  122. - Added Constraints creation support. That is done separate from
  123. relations, since they might be independently created.
  124. - Added non-MS public DataRelation fields.
  125. - Removed extraneous "DataRelation type generation" code.
  126. - Fixed custom_dataset.Initialize() not to create "c" field that
  127. was created more than once.
  128. - Implemented AddxxxRow() that takes parameters for every column.
  129. 2004-05-14 Atsushi Enomoto <[email protected]>
  130. * XmlSchemaDataImporter.cs : When primary key is used more than once,
  131. DataRelation borked because of empty parent column name.
  132. 2004-05-14 Atsushi Enomoto <[email protected]>
  133. * XmlSchemaDataImporter.cs : When Creating constraints with related
  134. to DataRelation creation, also set PrimaryKey to the parent table.
  135. 2004-05-14 Atsushi Enomoto <[email protected]>
  136. * XmlSchemaDataImporter.cs :
  137. Design change to add indirect table and relation structures.
  138. Support for "relation" annotation for local element.
  139. Support for repeatable simple element column (maxOccurs > 1).
  140. Fixed handling of Nested property on DataRelation (for globally
  141. annotated relation, Nested is false).
  142. 2004-05-13 Atsushi Enomoto <[email protected]>
  143. * DataRow.cs : Added DataElement property to avoid storing every row-
  144. element mapping. It stored even for nodes that should be removed.
  145. 2004-05-13 Umadevi S <[email protected]>
  146. * RelationshipConverter.cs - Stubbed this class
  147. * DataRelation.cs - added TypeConveterAttribute
  148. 2004-05-13 Umadevi S <[email protected]>
  149. * DataColumnCollection.cs - Added ResDescriptionAttribute
  150. * DataRelation.cs - Added TypeConverterAttribute
  151. * DataRelationCollection.cs - Added DefaultPropertyAttribute
  152. * DataRowView.cs - Added GetHashCode method with a TODO tag
  153. * DataSet.cs - Added DesignerAttribute
  154. * DataView.cs - Added DesignerAttribute
  155. * DataViewManager.cs - Added DesignerAttribute
  156. * DataViewSetting.cs - Added TypeConverterAttribute
  157. 2004-05-12 Atsushi Enomoto <[email protected]>
  158. * DataRow.cs : Added XmlDataElement initialization code.
  159. 2004-05-11 Atsushi Enomoto <[email protected]>
  160. * XmlDataInferenceLoader.cs :
  161. It now requires XmlDocument as input. Improved identification of
  162. DataSet element. Removed extra lines.
  163. Moved boresome design notes to bottom of the source and
  164. added standalone runnable driver (not included on build).
  165. * DataSet.cs :
  166. Update with related to the change above.
  167. WriteXml() should call Flush() after writing. This fixes bug #58327.
  168. * XmlSchemaDataImporter.cs :
  169. Improved indentification of DataSet element.
  170. 2004-05-11 Gert Driesen ([email protected])
  171. * DataTable: marked initStatus enum internal
  172. 2004-05-09 Gert Driesen ([email protected])
  173. * DataTable.cs: removed TypeConverterAttribute, marked RowsExist
  174. methods internal
  175. * DataRowView.cs: removed extra Error property
  176. * DataRow.cs: reduced accessibility of CollectionChanged method
  177. to private
  178. * DataColumnPropertyDescriptor.cs: made class internal
  179. * DataColumn.cs: removed extra TypeConvertorAttribute
  180. * ConstrainCollection.cs: marked PostEndInit method internal
  181. 2004-05-07 Atsushi Enomoto <[email protected]>
  182. * DataSet.cs :
  183. In WriteXmlSchema(), when complex type contains simple type content
  184. attributes must not added to XmlSchemaComplexType directly. It
  185. causes schema compilation error.
  186. DataRelation should not be output when related columns are hidden.
  187. 2004-05-07 Atsushi Enomoto <[email protected]>
  188. * XmlDataInferenceReader.cs : Added. It does InferXmlSchema() (it is
  189. also expected to do ReadXml(), but I will remove that feature and
  190. support column reordering).
  191. * XmlSchemaDataImporter.cs : Always initialize dataset name.
  192. Always set Nested and primary key for parent table.
  193. * XmlDataReader.cs : Now it is used.
  194. Top level element might not match to dataset name nor any table
  195. name, but still possible to read content tables.
  196. Handle empty element correctly in some places.
  197. Handle Fragment mode (read up XmlReader to the end).
  198. * DataSet.cs : Modified InferXmlSchema() and ReadXml() to use
  199. XmlDataInferenceLoader and XmlDataReader.
  200. 2004-05-06 Atsushi Enomoto <[email protected]>
  201. * DataSet.cs :
  202. Eliminated CRLF injection.
  203. More clear message in Clear().
  204. Updates reflecting XmlSchemaDataImporter change.
  205. Added duplicate check for XmlSerializerNamespaces in BuildSchema().
  206. Don't use xmlns attribute for UnhandledAttributes (its not mandatory
  207. but that depends on different behavior from ms.net).
  208. Set locale also for DataTable.
  209. Add xs:element only when target namespace matches to the
  210. element's namespace. Otherwise, add xs:import for external namespace.
  211. Put xs:sequence for dataset element's particle _only when_ actual
  212. contents exist.
  213. 2004-05-06 Atsushi Enomoto <[email protected]>
  214. * XmlDataReader.cs : Added. This class will work better when our
  215. schema inference and schema read engine gets improved. (It contains
  216. standalone testable Driver class.)
  217. 2004-05-06 Atsushi Enomoto <[email protected]>
  218. * ForeignKeyConstraint.cs : Check step change. Existence then column
  219. validity. just for tests.
  220. * XmlSchemaDataImporter.cs : code simplification. reduced extraneous
  221. fields.
  222. 2004-05-05 Atsushi Enomoto <[email protected]>
  223. * DataSet.cs : Ignore empty content only when output type is diffgram.
  224. 2004-05-05 Atsushi Enomoto <[email protected]>
  225. * CustomDataClassGenerator.cs : Modified that DataSet contains each
  226. DataTable field so that each table property can access them directly.
  227. (plus, modified standalone code driver code: shouldn't affect)
  228. 2004-05-05 Boris Kirzner <[email protected]>
  229. * DataView.cs , DataRowView.cs : Added implementation to basic methods and properties.
  230. 2004-05-05 Atsushi Enomoto <[email protected]>
  231. * XmlSchemaDataImporter.cs :
  232. SimpleContent column support.
  233. Annotated relation support.
  234. Top-level element is counted only when its type is complex.
  235. xs:anyType is no longer treated as complex type.
  236. dataset existence is mandatory now.
  237. Improved DataType and DefaultValue support.
  238. Attribute namespace is properly handled now.
  239. Prohibited attribute is now treated as hidden column.
  240. Reject list or union simple type.
  241. Still incomplete 1) to read relationship in some cases, 2) to
  242. determine whether an element is dataset or table, 3) thus to
  243. exclude extraneous column, 4) to remove extraneous *_Id column.
  244. 2004-05-05 Atsushi Enomoto <[email protected]>
  245. * DataTable.cs :
  246. We had better reuse DataSet's ReadXmlSchema() and ReadXml() in
  247. serialization .ctor() (thus schema read/inference should be easier).
  248. DataRowSorter should consider Table's Locale.
  249. 2004-05-05 Atsushi Enomoto <[email protected]>
  250. * DataColumnCollection.cs : We already had AutoIncrementValue(), so
  251. use it instead of duplicating logic.
  252. 2004-05-05 Atsushi Enomoto <[email protected]>
  253. * ConstraintCollection.cs :
  254. Use Table.CaseSensitive and Table.Locale to compare strings.
  255. Duplicate constraint name exception does not occur under .NET 1.1.
  256. 2004-05-04 Lluis Sanchez Gual <[email protected]>
  257. * XmlSchemaDataImporter.cs: Added little type check.
  258. 2004-05-04 Lluis Sanchez Gual <[email protected]>
  259. * DataSet.cs: Implemented support for runtime serialization. Fixed support
  260. for xml serialization.
  261. * XmlDiffLoader.cs: Skip diffgram element when it is empty.
  262. 2004-04-30 Umadevi S <[email protected]>
  263. * DataColumnCollection.cs : Fixed nunit test errors, removed TODOs
  264. * DataTableCollection.cs : Tested and removed TODO
  265. * TypedDataSetGeneratorException.cs : Fixed a couple of TODOs
  266. 2004-04-29 Atsushi Enomoto <[email protected]>
  267. * DataRow.cs : My previous patch unintentionally reverted Boris patch.
  268. 2004-04-29 Boris Kirzner <[email protected]>
  269. * UniqueConstraint.cs : Constraint columns becaomes unique after adding constraint ifand only if
  270. constraint is defined on single column.
  271. 2004-04-29 Atsushi Enomoto <[email protected]>
  272. * DataRowCollection.cs : .NET 1.1 throws InvalidConstaintException,
  273. not ArgumentException (maybe changed after 1.1).
  274. 2004-04-29 Atsushi Enomoto <[email protected]>
  275. * DataRow.cs : When Column was added and it was AutoIncrement column,
  276. it extended the item object array incorrectly.
  277. (Plus tiny comment and incorrect indentation fix.)
  278. 2004-04-29 Boris Kirzner <[email protected]>
  279. * MergeManager.cs : added ( incomplete yet ) support for merging DataSet schema.
  280. 2004-04-29 Boris Kirzner <[email protected]>
  281. * DataRow.cs : Bug fix in CopyValuesToRow().
  282. 2004-04-29 Boris Kirzner <[email protected]>
  283. * UniqueConstraint.cs : There is no reason to mark constraint's columns as unique, because
  284. each of the columns should not be unique, but only all the constraint's columns together.
  285. 2004-04-28 Boris Kirzner <[email protected]>
  286. * DataRow.cs :
  287. - Perfomance fixes:
  288. - Added using of list of autoIncrement columns
  289. - SetColumnValue receives also DataColumn to avoid duplicate lookup in DatacolumnCollection
  290. - Fix in CheckNullConstraints
  291. - Fix in this[] and HasVersion() : when evaluating an expression deleted rows values can be accessed.
  292. - Fix in SetColumnValue() , added CanAccess() method to avoid case of accessing internal array values berore it actually allocated.
  293. - Added onColumnRemoved() method to threat column removal accurately.
  294. * DataRowCollection.cs :
  295. - Added using of DataRow._nullConstraintViolation (for perfomance fix in EndLoadData())
  296. - Added method onColumnRemoved() - calls each row's onColumnRemoved() (to ensure column removal is treated accurately)
  297. * DataTable.cs :
  298. - Call DataRowCollection.onColumnRemoved() in OnRemoveColumn() (to ensure column removal is treated accurately)
  299. * DataColumnCollection.cs :
  300. - Perfomance fixes :
  301. - collection holds a list of its autoIncrement columns (avoids unnesessary lookup through whole collection)
  302. - collection holds mapping from column names to DataColumn objects (avoids lookup through whole collection).
  303. - automatic creation of column names rewrited (bug fixes + perfomance improvement)
  304. * DataColumn.cs :
  305. - Uses autoincrement list of a table
  306. 2004-04-27 Atsushi Enomoto <[email protected]>
  307. * XmlDataLoader.cs : Even when it should ignore schema, it was
  308. infering schema.
  309. * XmlSchemaDataImporter.cs : DataRelation creation support.
  310. Improved "DataSet" element handing. When attributes are on the
  311. element, it is not a "DataSet" element.
  312. Fixed parent key column name.
  313. Unique name creation is not required. Just raise an error.
  314. Fill facet also for attribute types.
  315. 2004-04-27 Atsushi Enomoto <[email protected]>
  316. * DataRow.cs : Null check for CheckReadOnlyStatus() and
  317. CheckNullConstraints(), with some coding guideline fixes.
  318. Type check should be done by Type instance comparison.
  319. 2004-04-27 Atsushi Enomoto <[email protected]>
  320. * DataColumnCollection.cs : When add a column to the collection, fill
  321. auto-increment column.
  322. 2004-04-26 Boris Kirzner <[email protected]>
  323. * DataColumn.cs : Small perfomance fix (avoid unnesessary string concatenation).
  324. 2004-04-26 Atsushi Enomoto <[email protected]>
  325. * CustomDataClassGenerator.cs : Added.
  326. * TypedDataSetGenerator.cs : Implemented Generate().
  327. Changed GenerateIdName() to call CustomDataClassGenerator.MakeSafeName
  328. * XmlSchemaDataImporter.cs : Table Locale should be supplied.
  329. 2004-04-25 Boris Kirzner <[email protected]>
  330. * DataTable.cs : Small perfomance fix (avoid unnesessary string concatenation).
  331. 2004-04-25 Boris Kirzner <[email protected]>
  332. * Constraint.cs : Small perfomance fix (avoid unnesessary string concatenation).
  333. 2004-04-23 Umadevi S ([email protected])
  334. * DataRow.cs: Checked BeginEdit,EndEdit,CancelEdit and Delete methods
  335. - Added error handling to the above methods
  336. 2004-04-22 Atsushi Enomoto <[email protected]>
  337. * DataSet.cs : Data should be read when mode is IgnoreSchema (well,
  338. the support is incomplete yet).
  339. * XmlDataLoader.cs :
  340. Reverted ReadModeSchema() argument change. XmlReadMode would be
  341. useful to handle IgnoreSchema.
  342. Don't overwrite DataSetName when mode is not such kind.
  343. Set Prefix and Namespace as well as DataSetName.
  344. AllowDBNull looks set false by default for element column.
  345. Set unique constraint as primary key when infering the table schema.
  346. 2004-04-21 Atsushi Enomoto <[email protected]>
  347. * DataSet.cs :
  348. Never set null string for Prefix and Namespace.
  349. In InferXmlSchema() when null XmlReader is passed, just do nothing.
  350. In WriteXmlSchema(string), earlier try block.
  351. In BuildSchema(), try to add serialization namespaces for each
  352. namespaces in DataSet/DataTable/DataColumn.
  353. Removed namespace argument from WriteColumnAsElement() and don't
  354. overwrite when namespace is "". This fixes bug #57330.
  355. * DataColumn.cs : For Namespace and Prefix, never set null.
  356. 2004-04-21 Boris Kirzner <[email protected]>
  357. * XmlSchemaMapper.cs : Check for not null unique constraint in ReadXmlSchemaKeyref()
  358. before creating and adding foreign key constraint and relation.
  359. 2004-04-21 Boris Kirzner <[email protected]>
  360. * MergeManager.cs : In AdjustSchema() source table clone should be added
  361. and not the table itself.
  362. 2004-04-21 Boris Kirzner <[email protected]>
  363. * DataSet.cs :
  364. - CaseSensitive : Additional fix (removed unnesessary assignment).
  365. - CopyProperties : Do not try to copy ExtendedProperties if the collection is empty.
  366. 2004-04-21 Boris Kirzner <[email protected]>
  367. * DataTable.cs : Ensure that DataSet property is not null before using it in Clear().
  368. 2004-04-20 Boris Kirzner <[email protected]>
  369. * DataTable.cs :
  370. - EndLoadData() : perfomance fix in case of null constraint violation
  371. during data load (also in DataRow.cs).
  372. - CaseSensitive : If DataTable belongs to DataSet it should always use
  373. DataSet.CaseSensitive untill explicitly changed.
  374. - CopyProperties() : do not try to copy ExtendedProperties if the collection is empty.
  375. * DataRow.cs :
  376. - Pefromance fix in case of null constraint violation
  377. during data load (also in DataTable.cs).
  378. - CollectionChanged() : use correct column number after new DataColumn was added
  379. (differs in case some DataColumn was previosly removed).
  380. - EndEdit() - throw away proposed values only after CheckChildRows() complete.
  381. 2004-04-20 Boris Kirzner <[email protected]>
  382. * DataColumnCollection.cs : Since unique constraint is added now
  383. in DataColumn.SetTable() the additional creation of constraint in
  384. DataColumnCollection.Add() is redundant and causes exception - fixed.
  385. 2004-04-19 Atsushi Enomoto <[email protected]>
  386. * XmlDataLoader.cs : Added "never add data rows" mode.
  387. Removed unused code. However, it is temporary fixes to unify
  388. ReadXml() and InferXmlSchema().
  389. * DataSet.cs : Implemented InferXmlSchema(), though it is incomplete.
  390. I'll create another XmlDataLoader since there are many problems
  391. such that 1) it is too waste to read the entire xml into an
  392. XmlDocument, 2) it does not handle attributes correctly, and 3) it
  393. must handle "ignored namespaces".
  394. 2004-04-19 Atsushi Enomoto <[email protected]>
  395. * Added XmlSchemaDataImporter.cs (new schema reader).
  396. * DataSet.cs : Use XmlSchemaDataImporter (right now for DataSet only)
  397. for ReadXmlSchema().
  398. Let schema reading work to ReadXmlSchema().
  399. Don't return ReadSchema when argument read mode was DiffGram.
  400. 2004-04-15 Umadevi S ([email protected])
  401. * Updated Clone/Copy methods in DataSet along with Testcase
  402. * ForeignKeyConstraint.cs - special ctor implemented
  403. Logic : ParentTable in the ctor - Since only name is given (not the DataTable object), we cannot associate any DataTable or DataSet right now. So, only possible way is to do it when AddRange() is called. The ParentTable is searched in the DataSet to which the calling DataTable belongs. And make the calling DataTable as ChildTable. In the PostAddRange() method check is addedd to perform the assignment of parent and child data columns once the information becomes available (When AddRange is called).
  404. * Changes in ConstraintCollection.cs for the above
  405. Add (Constraint) - A check is performed to see if the constraint is ForeignKeyConstraint and whether data columns are validated. If no, whether it is called with AddRange(), If no, an Exception is thrown. AddRange() - PostAddRange() is called on the ForeignKeyConstraint object with the "table" as argument. Thanks to Deepak for the patch.
  406. 2004-04-15 Atsushi Enomoto <[email protected]>
  407. * XmlSchemaMapper.cs : set parent key and foreign key info to
  408. DataRelation when reading refkey constraints.
  409. Supply constraint name for fkey.
  410. 2004-04-15 Atsushi Enomoto <[email protected]>
  411. * XmlDataLoader.cs : Don't overwrite existing DataSetName. When read
  412. mode is Auto, just ignore the schema if there is already schema info.
  413. * DataSet.cs : Similarly ignore schema info for XmlReadMode = Auto.
  414. 2004-04-14 Atsushi Enomoto <[email protected]>
  415. * DataSet.cs :
  416. - In MS output, XML declaration looks to have standalone decl (yes).
  417. - ReadXml(reader) just calls to ReadXml(reader, XmlReadMode.Auto)
  418. - ReadXml(reader, mode)
  419. 1) return originally specified mode, instead of (always) Auto.
  420. 2) Check empty reader.
  421. 3) Check diffgram schema and content separately.
  422. 4) When diffgram exists, remaining (the same-level) contents
  423. won't be consumed.
  424. 5) Similar fact should be applied, but somewhat different.
  425. InferSchema and IgnoreSchema just skips, Fragment reads both
  426. schema and content, others just reads schema.
  427. - Removed unused code.
  428. * XmlDataLoader.cs :
  429. - Read() should skip in some ReadMode.
  430. - Don't compare schema element name as case-insensitive (well,
  431. should schemas be checked here?)
  432. - Avoided BuildDocument() not to create confusing DataSet
  433. document element.
  434. - Don't add any tables when reader has single element.
  435. * XmlDiffLoader.cs :
  436. When target table was not found, MS.NET doesn't raise an error.
  437. * XmlSchemaMapper.cs :
  438. When XmlSchema.Read() left xml reader at </xs:schema>, read once.
  439. 2004-04-13 Atsushi Enomoto <[email protected]>
  440. * DataSet.cs :
  441. - InferXmlSchema(): Throw explicit NotImplementedException now.
  442. - Don't put XML declaration everywhere. Write just for filename arg.
  443. - xmlns="" should not be written. Maybe WebService problem is
  444. because default namespace is overwritten. This patch will keep
  445. the WS problem away and actually fixes some unit tests (i.e. use
  446. explicit String.Empty for null namespace in WriteStartElement()).
  447. - MoveToContent() should always be called, not only when
  448. LocalName="xml". It will ignore prolog (DTD, PI, comment etc.).
  449. - Even XmlReadMode is DiffGram, reader might not be "diffgram"
  450. element. As to MSDN, diffgram does not contain schema.
  451. 2004-04-13 Gonzalo Paniagua Javier <[email protected]>
  452. * DataTable.cs: made _initStatus private so that System.Data is CLS
  453. compliant.
  454. 2004-04-13 Umadevi S <[email protected]>
  455. * UniqueConstraint.cs:
  456. * ConstraintCollection.cs:
  457. * DataTable.cs:
  458. - Implemented a Constructor for UniqueConstraint.cs
  459. - Used EndInit on DataTable to call a delegate which adds the
  460. constraints passed to the most recent call of AddRange().Used
  461. AddRange() on ConstraintCollection to check whether
  462. DataTable.BeginInit has occurred. If yes, save the argument
  463. constraint collection passed, then return. If no, Check whether the
  464. constraints are of type UniqueConstraint and initialized with the
  465. special constructor If yes Initialized the table property of this
  466. UniqueConstraint object with table assosciated with the current
  467. instance of ConstraintCollection class.
  468. 2004-04-07 Marek Safar <[email protected]>
  469. * Constraint.cs: changed ClsCompliant to CLSCompliant, build fix.
  470. 2004-04-06 Gonzalo Paniagua Javier <[email protected]>
  471. * Constraint.cs:
  472. * DataColumnCollection.cs:
  473. * DataRelationCollection.cs:
  474. * DataRowCollection.cs:
  475. * DataTableCollection.cs:
  476. * InternalDataCollectionBase.cs:
  477. * Node.cs: CLS compliance for System.Data. Patch by Gert Driesen.
  478. Fixes bug #56557.
  479. 2004-04-05 Jackson Harper <[email protected]>
  480. * DataTable.cs: Add rows to the row list if there is no filter.
  481. 2004-03-31 Juraj Skripsky <[email protected]>
  482. * DataColumn.cs : Setting Caption to null sets it to the empty string
  483. (ms.net behaviour, testcase is in DataColumnTest).
  484. * DataRow.cs : Evaluate DataColumn.Expression when such a column's
  485. value is requested.
  486. 2004-03-30 Lluis Sanchez Gual <[email protected]>
  487. * DataColumn.cs: In Expression setter, set the expression member even if
  488. it is an empty string.
  489. * DataSet.cs: Support serialization of byte[] columns.
  490. * XmlDataLoader.cs: Support deserialization of Guid columns.
  491. Set MappingType.Attribute to columns infered from attributes.
  492. 2004-03-29 Juraj Skripsky <[email protected]>
  493. * ExpressionElements.cs : remove
  494. * DataColumn.cs, DataRelationCollection.cs, DataTable.cs :
  495. Integration of new Mono.Data.SqlExpressions classes used in
  496. DataTable.{Select, Compute}.
  497. Fixes bug #55503 and lots of failures in DataTableTest.cs.
  498. 2004-03-28 Juraj Skripsky <[email protected]>
  499. * Index.cs: Simple fix in ComparePartialRowNonUnique.
  500. This fixes bugs #56129 and #56014.
  501. 2004-03-25 Lluis Sanchez Gual <[email protected]>
  502. * DataSet.cs: In WriteXml (string filename, XmlWriteMode mode), close the
  503. stream after writing the dataset. This fixes bug #52581.
  504. Also added several writer.Close into finally blocks, so writers are properly
  505. closed in case of an exception.
  506. 2004-03-12 Andreas Nahr <[email protected]>
  507. * Constraint.cs: DO NOT USE the consts scheme if types can be referenced directly!
  508. * DataColumn.cs: DO NOT USE the consts scheme if types can be referenced directly!
  509. * ColumnTypeConverter.cs: Added stub
  510. * DefaultValueTypeConverter: Added stub
  511. * ConstraintConverter.cs: Added stub
  512. 2004-03-04 Eran Domb <[email protected]>
  513. * XmlDataLoader.cs : Xml reading reviewed. Added support for additional xml formats as described
  514. in MS.NET documentation (missing DataSet element etc).
  515. 2004-03-04 Eran Domb <[email protected]>
  516. * Node.cs : Added.
  517. * Index.cs : Rollback last changes.
  518. 2004-03-03 Atsushi Enomoto <[email protected]>
  519. * Index.cs : justa build fix.
  520. 2004-03-03 Eran Domb <[email protected]>
  521. * Index.cs : Added.
  522. * Constraint.cs, ForeignKeyConstraint.cs, UniqueConstraint, ConstraintCollection.cs, DataColumn.cs,
  523. DataRow.cs, DataRowCollection.cs, DataSet.cs, DataTable.cs : Changes made for using indexes on tables.
  524. This changes made for performance improvement.
  525. 2004-02-08 Eran Domb <[email protected]>
  526. * XmlSchemaMapper.cs : Read columns is they were written as SimpleContent or as Attributes.
  527. 2004-02-08 Eran Domb <[email protected]>
  528. * DataSet.cs: Fix some bugs in ReadXml().
  529. 2004-02-04 Lluis Sanchez Gual <[email protected]>
  530. * DataSet.cs: Added missing method that broke the build.
  531. 2004-02-04 Eran Domb <[email protected]>
  532. * DataRowCollection.cs (InsertAt): Add a check for null row. Replace check of IndexOf with RowId for
  533. better performance.
  534. * DataSet.cs (GetTableSchema) : Add supprot for simple content columns. Change the condition for a case
  535. when all column are attributes (elements count is 0), we still want to add the relations. No relations
  536. can be on simple contents.
  537. (AddUniqueConstraints) Check that the column of the constraint are not hidden.
  538. (AddForeignKeys) Check that the relation has constraints attach to it.
  539. * XmlConstants.cs : Added constant.
  540. 2004-02-04 Eran Domb <[email protected]>
  541. * DataSet.cs : GetSchemaSerializable() return null and not BuildSchema().
  542. DoWriteXmlSchema calls BuildSchema ().
  543. 2004-02-04 Lluis Sanchez Gual <[email protected]>
  544. * DataRow.cs: Added SetOriginalValue(), which is used to set the original
  545. value of a column.
  546. * DataRowCollection.cs: In InsertAt(), perform the correct checks and
  547. attach the row.
  548. * DataSet.cs: Fixed method GetChanges(): Parent rows of modified rows must
  549. also be added to the dataset.
  550. In WriteTable(), do not write unchanged rows when writing the original
  551. version of the table.
  552. Added WriteIndividualTableContent(), for writing the contents of a single
  553. table.
  554. Changed BuildSchema and related methods, so it can generate a schema for
  555. any set of tables, not just the tables of the dataset (needed for
  556. single datatable serialization).
  557. * DataTable.cs: Implemented serialization constructor and GetObjectData method.
  558. Also implemented some ReadXmlSchema methods.
  559. * XmlDiffLoader.cs: Read and process the xml document directly from XmlReader,
  560. instead of loading the full dataset in an XmlDocument. It is faster and
  561. saves memory. Also fixed several problems when generating the changes.
  562. * XmlSchemaMapper.cs: Support reading schemas for single tables (used by
  563. table serialization).
  564. 2004-02-02 Eran Domb <[email protected]>
  565. * DataSet.cs : Add indentation to the xml serialization only if we create the XmlWriter.
  566. Add the namespace attribute even if namespace is an empty string for inteoperability with MS.NET.
  567. * DataTable.cs (NewRow): Create only one DataRowBuilder.
  568. Initiate new row with row id -1.
  569. * DataRow.cs : Add RowId property.
  570. * DataRowBuilder.cs : Add _rowId member.
  571. * DataRowCollection.cs (Add) : Use the RowId property of the new row to check if it is already exists in the collection.
  572. 2004-01-26 Eran Domb <[email protected]>
  573. * XmlConstants.cs : Added some constants.
  574. * DataColumn.cs : Added a method to retrive AutoIncrement value.
  575. * XmlDataLoader.cs : Set the value of the foriegn key column, according to the value of the
  576. parent table column.
  577. * XmlDiffLoader.cs : Convert the value comming from the xml.
  578. * XmlSchemaMapper.cs (Read) : Set the DataSet namespace.
  579. (ReadXmlSchemaSequence) : Change the logic that decides if this element is a column or a table.
  580. (ReadXmlSchemaElement) : Set the locale of the dataset.
  581. (ReadColumn) : Set the column type. Find if the column is AutoIncrement.
  582. (GetColumnType) : New method to get the column type from the attribute value.
  583. (ReadXmlSchemaUnique) : Improve parsing of XPath. Set the constraint as a PK if needed,
  584. and add the constraint to the table.
  585. (ReadXmlSchemaKeyref) : Improve parsing of XPath. Create the FK constraint and add it to
  586. the table.
  587. * DataSet.cs : Improving writing of unique constraints, and foriegn key constraint. Givving them the correct names.
  588. Writing more information to the schema for interoperability with ms.net.
  589. Improve diffgarm writing mode.
  590. 2004-01-21 Atsushi Enomoto <[email protected]>
  591. * TypedDataSetGenerator.cs : Implemented GenerateIdName().
  592. 2004-01-21 Eran Domb <[email protected]>
  593. * XmlDataLoader.cs (AddRowToTable) : Give thre new relation correct name.
  594. Do not set the child column to be AutoIncrement.
  595. Create the new column for the relation as MappingType.Hidden so they will not be serialized
  596. when writing the dataset to xml.
  597. 2004-01-20 Atsushi Enomoto <[email protected]>
  598. * Added missing TypedDataSetGenerator.cs.
  599. 2004-01-08 Eran Domb <[email protected]>
  600. * XmlSchemaMapper.cs : Fix a bug. Check if table already in DataSet before adding it.
  601. * DataSet.cs (ReadXml) : Fix bugs. Read correctly the xml file with XmlReadMode of DiffGram,
  602. InferSchema, ReadSchema and IgnoreSchema.
  603. * XmlDataLoader.cs : All modes use the same logic.
  604. * XmlDiffLoader.cs : Adding BuildXmlDocument method to the class.
  605. 2004-01-06 Eran Domb <[email protected]>
  606. * DataRelationCollection.cs : Use IndexOf in indexer.
  607. * DataSet.cs : Adding support for WriteXml with diffgram. Code style changes.
  608. * XmlDataLoader.cs : Set the DataSet.enforceConstraints to false before loading the tables.
  609. * XmlDiffLoader.cs : Reading nested tables.
  610. * XmlSchemaMapper.cs : Reading the relation.
  611. * XmlConstants.cs : Adding some constants.
  612. 2004-01-05 Jackson Harper <[email protected]>
  613. * DataView.cs: Set readonly property of property descriptor. This
  614. fixes bug #52598.
  615. 2004-01-01 Sanjay Gupta <[email protected]>
  616. * DataRelationCollection.cs : Fixed incorrect generation of default
  617. Relation name.
  618. * DataSet.cs : Added missing functionality in WriteXml().
  619. * XmlConstants.cs : Added new constants.
  620. 2003-12-27 Atsushi Enomoto <[email protected]>
  621. * DataSet.cs : Fixed incorrect WriteXml() signature.
  622. 2003-12-18 Jackson Harper <[email protected]>
  623. * DataView.cs: Implement AddNew, Delete, and OnListChanged.
  624. 2003-12-17 Atsushi Enomoto <[email protected]>
  625. * DataSet.cs, XmlDataLoader.cs : Table name should be encoded before
  626. they take shape of xml. This fixed bug #52240
  627. 2003-12-16 Tim Coleman <[email protected]>
  628. * KeyRestrictionBehavior.cs:
  629. New stubs added for .NET 1.2
  630. * DataTable.cs:
  631. Changes for 1.2
  632. 2003-12-08 Eran Domb <[email protected]>
  633. * DataColumn.cs (Expression) : Validate the expression.
  634. * DataRelationCollection.cs (IndexOf) : Added new method sensetive to case differences in relation name.
  635. (Contains, IndexOf, this[], Add) : Call new IndexOf when needed.
  636. * DataRow.cs (this[]) : Fix the condition for throwing RowNotInTableException.
  637. (RejectChanges) : Detach row when state was Added.
  638. (CollectionChanged) : Fix a bug.
  639. * ExpressionElement (ValidateExpression) : Fix a bug.
  640. * ForeignKeyConstraint.cs (AssertConstraint) : Added implementation. Check all rows from child table have
  641. a parent row in the parent table.
  642. (_validateColumns) : Fix bugs.
  643. * MergeManager.cs (AdjustSchema) : Fix a bug.
  644. * XmlDataLoader.cs (ReadModeInferSchema) : Change implementation. Now we can read nested xml, and we generate the relations
  645. between the tables.
  646. 2003-11-30 Eran Domb <[email protected]>
  647. * DataColumnCollection.cs (this[string name]) : Use IndexOf to find the column.
  648. (Add) : Find if the new column name is the same as the one found in IndexOf.
  649. (IndexOf) : New method.
  650. (Contains) : Use new IndexOf.
  651. (IndexOf) : Use new IndexOf.
  652. * DataRelationCollection.cs (DataRelationCollection.AddCore) : Add The Relation to the collection.
  653. (DataSetRelationCollection.AddCore) : First add the UniqueConstraint.
  654. * DataRow.cs (this[int columnIndex, DataRowVersion version]) : Change exceptions.
  655. (Delete) : Detach row if the RowState was Added.
  656. (GetChildRows) : Get the array form the ChildTable.
  657. (GetParentRows) : Get the array from the ParenTable.
  658. * DataRowCollection.cs (Remove) : Check if row state is Detached to avoid exception.
  659. * DataSet.cs (IXmlSerializable.ReadXml) : Do not call MoveToContent and ReadEndElement - the XmlSerializationReader does it.
  660. * DataTable.cs (PrimaryKey) : Fix bugs.
  661. (Compute) : First call Select. Then create ExpressionAggregate to aggregate the Select result.
  662. * DataTableCollection.cs (Add) : Fix a bug.
  663. * ExpressionElement.cs (ValidateExpression) : Turning ValidateExpression to static.
  664. (Result) : Added new interface to AggregateExpression that get DataRow[] as a param.
  665. Some code style changes (tab instead of whit spaces, alignment, etc...).
  666. * ForeignKeyConstraint.cs (_validateColumns) : Throw correct exception.
  667. * MergeManager.cs (AdjustSchema) : Fix a bug.
  668. 2003-11-26 Miguel de Icaza <[email protected]>
  669. * DataSet.cs: Add a few more missing methods, code style updated
  670. to Mono style.
  671. 2003-11-26 Tim Coleman <[email protected]>
  672. * ConflictOptions.cs DataAdapterException.cs DataTableReader.cs
  673. * DbMetaData.cs FillOptions.cs IDataReader2.cs IDataRecord2.cs
  674. * IDataUpdatableRecord.cs IDbAsyncCommand.cs IDbAsyncConnection.cs
  675. * IDbExecutionContext.cs IGetTypedData.cs ISetTypedData.cs
  676. * LoadOption.cs OperationAbortedException.cs ResultSetOptions.cs
  677. * ResultSetSensitivity.cs StatementCompletedEventArgs.cs
  678. * StatementCompletedEventHandler.cs UpdateOptions.cs:
  679. New classes added for NET_2_0
  680. * DBConcurrencyException.cs DataRelation.cs DataSet.cs DataTable.cs
  681. * DataTableCollection.cs DataView.cs ForeignKeyConstraint.cs:
  682. Modifications to add new NET_2_0 functions
  683. 2003-11-25 Tim Coleman <[email protected]>
  684. * IDataSources.cs:
  685. New 1.2 class added
  686. 2003-11-21 Pedro Martínez Juliá <[email protected]>
  687. * DataRow.cs: Detached row can be accesible (new rows from data
  688. table are detached). Closes but #51263.
  689. 2003-11-19 Eran Domb <[email protected]>
  690. * DataRow.cs : Throw exceptions if Row is Detached.
  691. (EndEdit) : Check that we are not in middle of ChangeEvent.
  692. (AcceptChanges) : Detach the row.
  693. * DataRelation.cs : throw correct exception.
  694. *UniqueConstraint.cs : throw correct exception.
  695. 2003-11-09 Pedro Martínez Juliá <[email protected]>
  696. * DataRow.cs: Use RemoveInternal instead of Remove because the last
  697. one uses Delete and AcceptChanges.
  698. * DataRowCollection.cs: When removing, Delete and AcceptChanges
  699. method from the row are called. Added an internal method that will
  700. be used by DataRow to "physically" remove the row from the list.
  701. 2003-11-09 Pedro Martínez Juliá <[email protected]>
  702. * DataRowCollection.cs: To follow the specification: Remove and
  703. RemoveAt should remove the row. But needed to call DeletingDataRow
  704. to prepare the deleting.
  705. * DataRow.cs: Don't call DeletingDataRow when it is called by the
  706. method Table.Rows.Remove.
  707. 2003-11-09 Pedro Martínez Juliá <[email protected]>
  708. * DataRowCollection.cs: Make the row be deleted by itself. If not,
  709. it fails because we need to call OnRowDeleting and OnRowDeleted. It
  710. is full implemented inside DataRow.
  711. 2003-11-05 Eran Domb <[email protected]>
  712. * DataView.cs (ctor) : Changing default RowStateFilter to CurrentRow.
  713. 2003-11-04 Eran Domb <[email protected]>
  714. * DataRow.cs (CheckChildRows) : Improving the implementation - checking child for all FK, and not
  715. on all Relations.
  716. (GetChildRows) : Adding some checks.
  717. (GetParentRows) : Adding some checks. Fix a bug in implementation.
  718. (SetParentRow) : Added implementation.
  719. * DataRowCollection.cs (Add) : Added more checks on the row added to the collection.
  720. * DataTable.cs (Copy) : Set the During Loading flag to save unnecessary assertions.
  721. * ForeignKeyConstraint.cs (AssertConstraint) : Fixing bugs in implementation. Checking for DBNull values in the row.
  722. * MergeManager.cs : Check that the target table is not null.
  723. 2003-10-27 Eran Domb <[email protected]>
  724. * DataColumn.cs (DefaultValue) : Changing null value to DBNull. Checking that the type of the new default value
  725. can be converted to the column type.
  726. * DataRelationCollection.cs (AddCore) : Give the new FK the name of the relation.
  727. * DataRow.cs (EndEdit) : Check if we need to validate the constraints.
  728. (GetParentRows, GetChildRows) : Checking that the row has the wanted version, before accessing the row's value.
  729. * DataRowCollection.cs (Add) : Fixing a bug.
  730. (Clear) : Before clearing the array check that there is no violation of FK constraint.
  731. * DataSet.cs (Prefix) : If value is null chage it to empty string.
  732. (GetXml) : Removing the Processing Instructions from the xml string as in MS ADO.NET.
  733. * ExpressionElement : Adding support for IN expresion.
  734. * DataTable (CopyConstraints) : New method that copy the tables constraints to the copy table.
  735. (Select) : Adding support for DataViewwRowState.
  736. * ForeignKeyConstraint.cs (AssertConstraint) : Adding implementation.
  737. * MergeManager.cs (MergeRow) : Fix bugs.
  738. 2003-10-27 Eran Domb <[email protected]>
  739. * DataRow.cs (SetColumnValue): Donot check null value when in midle of loading data.
  740. check null values when ending loading data.
  741. * DataSet.cs (RejectChanges) : Imlementation.
  742. (Prefix) : If prefix was changed fire event. Check that the prefix is not null - if null,
  743. change it to empty string.
  744. * DataTable.cs (BeginLoadData, EndLoadData) : Impemantation.
  745. 2003-10-22 Eran Domb <[email protected]>
  746. * MergeManager.cs : Fixing bugs. Adding check for PrimaryKey matching.
  747. * ConstraintCollection.cs (RamoveAt): Change implemntation.
  748. * DataTableCollection (CanRemove): Removing cast to Constraint.
  749. 2003-10-22 Eran Domb <[email protected]>
  750. * DataRelationCollection.cs (AddCore): The unique constraint was added even if the createConstraints flag was false.
  751. (Clear): The collection was cleared without removing the relation from the parent and child tables.
  752. * DataSet.cs (Copy, Clone): The Relations of the DataSet were not copy.
  753. (HasChanges, Reset): Imlementation.
  754. * DataTable.cs (HasErrors): There is no flag for errors, instead the table ask her row if they have any errors.
  755. This is because the we do not no when to turn off the flag.
  756. (Locale): Changing implementation to behave like ADO.NET.
  757. (AcceptChanges): Fix bug.
  758. (Clear): Check that this table is not referenced from a foreign key constraint.
  759. (Copy): Do not try to access a deleted row.
  760. (CopyProperties): Copy the PrimaryKey.
  761. (GetChanges, ImportRow): Implementation.
  762. (LoadDataRow): Adding implementation if the table has PrimaryKey.
  763. (ToString): Changing implementation to behave like ADO.NET.
  764. * UniqueConstraint.cs (AssertConstraint): support for Multiple DataColumns in the constraint.
  765. * DataRow.cs (Ctor): In the constructor we initiate the current array, but we should initiate only the proposed array for new rows.
  766. (HasErrors): Implementation.
  767. (Delete): Added checking for child rows of the deleted row.
  768. (EndEdit): Added checking for child row and firing events.
  769. (GetColumnError): Added a check that the method will not return null, as in ADO.NET(an empty string is returned).
  770. (GetColumnsInError): Added a check for null values in column error.
  771. (HasVersion): Added special treatment for special RowState.
  772. (CollectionChanged): More checks to avoid NullReferenceException.
  773. * DataRowCollection.cs (Remove): Fix a bug.
  774. 2003-10-01 Duncan Mak <[email protected]>
  775. More patches from Eran Domb <[email protected]>.
  776. * MergeManager.cs: New file.
  777. * DataRelationCollection.cs (AddCore): Check that a
  778. UniqueConstraint is already exists. It loops over the Relations
  779. instead of the Constraints.
  780. (Add, AddCore): The relation was added twice.
  781. * DataSet.cs (Merge, GetChanges, HasChanges): Implemented.
  782. 2003-09-30 Duncan Mak <[email protected]>
  783. Patches from Eran Domb <[email protected]>.
  784. * DataRelation.cs (constructor): When the name of the relation is
  785. null, it should return an empty, not "Relation".
  786. * DataRow.cs (AcceptChanges): Added special case for
  787. RowState.Detached.
  788. (CancelEdit): Set editing flag to false.
  789. (IsNull): Check that the value is DBNull.
  790. * DataRowCollection.cs (Add): There was no check that the table of
  791. the collection is owned by a DataSet.
  792. * DataSet.cs (OnMergeFailed): Added.
  793. * UniqueConstraint.cs (AssertConstraint): There was no check that
  794. values in the row are not null, where it is a primary key
  795. column. Also check that the row has a proposed version, if not,
  796. get the current version when we compare the rows.
  797. 2003-09-25 Duncan Mak <[email protected]>
  798. Patches from Eran Domb <[email protected]>.
  799. * DataColumn.cs (Unique): Implemented.
  800. * DataTable.cs:
  801. * ConstraintCollection.cs:
  802. * ForeignKeyConstraint.cs (_ensureUniqueConstraintExists): Fixes
  803. an Exception thrown. Details:
  804. http://lists.ximian.com/archives/public/mono-devel-list/2003-September/002130.html
  805. * DataRowCollection.cs (Add): There is no checking that there is
  806. no violation of the unique constrains.
  807. * UniqueConstraint.cs (AssertConstraint): There is no checking on
  808. all columns in the constraint.
  809. * DataTableCollection (Add): Correctly throw an Exception, more
  810. details here:
  811. http://lists.ximian.com/archives/public/mono-devel-list/2003-September/002117.html
  812. (Remove, RemoveAt): Implemented.
  813. 2003-07-31 Duncan Mak <[email protected]>
  814. * DBConcurrencyException.cs: Added new NET_1_1 no-param constructor.
  815. 2003-07-25 Ravi Pratap <[email protected]>
  816. * DataRelation.cs (OnPropertyChanging): Calling the 'Invoke'
  817. method on a delegate is disallowed - fix this.
  818. 2003-07-22 Lluis Sanchez Gual <[email protected]>
  819. * DataSet.cs: Implemented IXmlSerializable interface. Added basic support for
  820. xml serialization. Modified method of writing schema. Now it creates
  821. a XmlSchema object and serializes it using XmlSerializer.
  822. * XmlConstants.cs: Added constants for data type names.
  823. * XmlDataLoader.cs: Fixed deserialization of data. Now converts data to the
  824. type specified in the column.
  825. 2003-04-20 Alan Tam <[email protected]>
  826. * DataRelationCollection.cs: Fix a bug that prevent relations
  827. from being added via DataSet.
  828. 2003-04-12 Ville Palo <[email protected]>
  829. * UniqueConstraint.cs: one tiny fix.
  830. 2003-04-05 Ville Palo <[email protected]>
  831. * DataTable.cs: Remove UniqueConstraints when adding new ones
  832. 2003-04-04 Ville Palo <[email protected]>
  833. * DataColumnCollection.cs: Little 'case sensitive' fix
  834. 2003-04-04 Ville Palo <[email protected]>
  835. * DataRow.cs: AutoIncrement handling to Constructor
  836. * DataRowCollection.cs: This doesnt need anymore AutoIncrements
  837. 2003-03-27 Ville Palo <[email protected]>
  838. * DataTable.cs: Some fixes to PrimaryKey etc...
  839. * UniqueConstraint.cs: Little clean up
  840. 2003-03-27 Ville Palo <[email protected]>
  841. * DataTable.cs: Tiny fix to ToString () -method
  842. 2003-03-27 Ville Palo <[email protected]>
  843. * ConstraintCollection.cs: Little fix.
  844. * DataColumn.cs: Added new internal method SetUnique()
  845. * UniqueConstraint.cs: some little fixes
  846. 2003-03-26 Ville Palo <[email protected]>
  847. * DataRowCollection.cs: Bugfixes, implementation,...
  848. 2003-03-26 Ville Palo <[email protected]>
  849. * DataColumn.cs: If DataType if set to something else than short, int
  850. or long and AutoIncrement is true, AutoIncrement is must set to false.
  851. 2003-03-26 Gonzalo Paniagua Javier <[email protected]>
  852. * DataRow.cs:
  853. (BeginEdit): fixed array bound problem when a column has been added.
  854. (EndEdit): just assign proposed to current as proposed is set to null.
  855. This also fixes another array boudn problem.
  856. 2003-03-21 Alan Tam <[email protected]>
  857. * DataRow.cs: Fixed problems in accessers, BeginEdit, CancelEdit,
  858. EndEdit and AcceptChanges to act correctly according to DataRowState
  859. and DataRowVersion.
  860. * DataRowCollection.cs: Call AttachRow and DetachRow when a row is
  861. attached and detached from the collection.
  862. 2003-03-20 Alan Tam <[email protected]>
  863. * DataColumn.cs: Store empty string for Expression when null is passed in.
  864. Classes generated by XSD.exe passes null by default.
  865. 2003-03-16 Ville Palo <[email protected]>
  866. * DataColumnCollection.cs: Tiny clean up
  867. 2003-03-16 Ville Palo <[email protected]>
  868. * DataColumn.cs: little fixes.
  869. * DataColumnCollection.cs: Lots of little fixes and improvments.
  870. 2003-03-12 Alan Tam <[email protected]>
  871. * DataSet.cs: Fixed a bug that the file written does not close correctly.
  872. 2003-03-08 Alan Tam <[email protected]>
  873. * DataRelationCollection.cs: Removed the mis-overridden methods
  874. * DataRow.cs: Fixed an attribute
  875. * DataSet.cs: Fixed the modifiers
  876. 2003-03-06 Aleksey Demakov <[email protected]>
  877. * DataTableCollection.cs: The Contains (string name),
  878. IndexOf (string name) methods, and item[string name] indexer
  879. now behave more like .NET with respect to case-sensitivity.
  880. That is if there is an exactly matching item then this one is used.
  881. If there is only one item differing in case then it used.
  882. If there are more than one item differing in case then
  883. Contains returns false, IndexOf returns -1, and item[]
  884. throws an ArgumentException.
  885. 2003-02-28 Ville Palo <[email protected]>
  886. * ExpressionElement.cs: More implementation.
  887. 2003-02-28 Alan Tam <[email protected]>
  888. * DataSet.cs: Changed WriteTable so that it now calls the newly written
  889. WriteObjectXml to direct the call to the respective XmlConvert method.
  890. This fixes the wrong format written to XML files of bool, float,
  891. double, DateTime and TimeSpan types.
  892. 2003-02-25 Alan Tam <[email protected]>
  893. * DataRelation.cs: Added SetDataSet for DataSetRelationCollection to use.
  894. * DataRelationCollection.cs: Implemented AddRange and Contains.
  895. Implemented AddRange, Clear, List and RemoveCore for DataSetRelationColletion.
  896. Implemented AddCore, List and RemoveCore for DataTableRelationCollection.
  897. Reimplemented most Add methods to eliminate duplicated checks.
  898. Centralized RelationName generation procedure in GetNextDefaultRelationName.
  899. 2003-02-25 Alan Tam <[email protected]>
  900. * DataColumn.cs: Fixed wrong storage representation of Expression
  901. (using empty string instead of null) so that ToString() returns nothing.
  902. * DataColumnCollection.cs: Reimplemented GetNextDefaultColumnName so that
  903. auto column naming now works as expected. Reimplemented some Add methods
  904. to eliminate code duplication.
  905. 2003-02-19 Ville Palo <[email protected]>
  906. * DataTable.cs: DataTable.CaseSensitive follows parent
  907. DataSet.CaseSensitive property if DataTable.CaseSensitive has never
  908. been changed directly from DataTable
  909. 2003-02-19 Ville Palo <[email protected]>
  910. * DataSet.cs: When CaseSensitive property is changed all of the Tables
  911. of DataSet have to change too
  912. 2003-02-19 Daniel Morgan <[email protected]>
  913. * InternalDataCollectionBase.cs: revert change to field
  914. to fix build
  915. * DataViewManager.cs
  916. * DataView.cs
  917. * DataTable.cs
  918. * DataSet.cs: commented use of DesignerAttribute
  919. because it broke the build. According to MSDN,
  920. DesignerAttribute does not have a zero-argument constructor
  921. 2003-02-18 Ville Palo <[email protected]>
  922. * DataColumnCollectin.cs: Little fix for indexer and case sensitivity
  923. 2003-02-18 Alan Tam <[email protected]>
  924. * DataRow.cs: Implemented GetParentRow and GetParentRows.
  925. * DataSet.cs: Added stub for HasChanges, InferXmlSchema,
  926. OnPropertyChanging, OnRemoveRelation, OnRemoveTable,
  927. RaisePropertyChanging.
  928. * DataTable.cs: Implemented NewRowArray.
  929. * DataTablePropertyDescriptor: Fixed a modifier.
  930. * InternalDataCollectionBase.cs: Fixed modifiers. Implemented SyncRoot.
  931. * PropertyCollection.cs: Minor fix.
  932. * ConstraintCollection.cs DataColumn.cs DataColumnCollection.cs
  933. * DataRelation.cs DataRelationCollection.cs DataRow.cs
  934. * DataRowCollection.cs DataRowState.cs DataSet.cs DataTable.cs
  935. * DataTableCollection.cs DataTablePropertyDescriptor.cs DataView.cs
  936. * DataViewManager.cs DataViewRowState.cs DataViewSettingCollection.cs
  937. * ForeignKeyConstraint.cs InternalDataCollectionBase.cs
  938. * PropertyCollection.cs UniqueConstraint.cs: Added missing attributes
  939. 2003-02-08 Ville Palo <[email protected]>
  940. * ExpressionElement.cs: More implementation
  941. 2003-02-05 Alan Tam <[email protected]>
  942. * DataSet.cs: Added framework for DataSet.Update Implemented missing
  943. methods GetSchemaSerializable, GetSerializationData,
  944. ReadXmlSerializable, ShouldSerializeRelations and ShouldSerializeTables
  945. for DataSet
  946. * DataTable.cs: Implemented missing methods CreateInstance and
  947. GetRowType for DataTable
  948. 2003-02-03 Ville Palo <[email protected]>
  949. * DataSet.cs: Implemented private method MapType for
  950. mapping datatypes for XmlSchema
  951. 2003-02-03 Gonzalo Paniagua Javier <[email protected]>
  952. * DataView.cs: implemented Dispose.
  953. 2003-01-30 Ville Palo <[email protected]>
  954. * ExpressionElement.cs: Added new file. This file is for parsing
  955. and DataData.Select () -methods and DataColumn.Expression -property
  956. * DataTable.cs: Implemented Select(string) -method
  957. 2003-01-28 Ville Palo <[email protected]>
  958. * DataSet.cs: One little fix to writing xml
  959. 2003-01-27 Ville Palo <[email protected]>
  960. * XmlSchemaMapper.cs: Some fixes.
  961. * DatSet.cs: Some XmlFixes and BeginInit ()/ EndInit () -fix
  962. 2003-01-24 Ville Palo <[email protected]>
  963. * UniqueConstraint.cs: Do not set columns Unique property true
  964. as a default.
  965. * ForeignKeyConstraint.cs: Add UniqueConstraint to parent Table
  966. 2003-01-18 Ville Palo <[email protected]>
  967. * DataTableCollection.cs: Now names new DataTable if it doesn't
  968. already have a name.
  969. 2003-01-17 Ville Palo <[email protected]>
  970. * XmlSchemaMapper.cs: Improvments.
  971. * XmlConstaints.cs: Added more constants.
  972. * DataSet.cs: Improvments of reading and writing xml
  973. * DataColumn.cs: Added default values of properties.
  974. 2003-01-14 Ville Palo <[email protected]>
  975. * XmlSchemaMapper.cs: Some improvments
  976. 2003-01-13 Ville Palo <[email protected]>
  977. * DataRowCollection.cs: Added IndexOutOfRangeException
  978. * DataTableCollection.cs: Added OnCollectionChanging and
  979. OnCollectionChanged events.
  980. * DataSet.cs: Many fixes. Implemented Clone () and Copy () -methods
  981. * DataTable.cs: Implemented Copy () and Clone () methods.
  982. * XmlDataLoader.cs: some fixes.
  983. * XmlSchemaMapper.cs: comments.
  984. 2003-01-08 Gonzalo Paniagua Javier <[email protected]>
  985. * DataColumnPropertyDescriptor.cs: store columnIndex in the .ctor.
  986. 2003-01-08 Gonzalo Paniagua Javier <[email protected]>
  987. * DataColumnPropertyDescriptor.cs: fixed typo.
  988. * DataViewManagerListItemTypeDescriptor.cs: added new internal property
  989. to get the DataViewManager and removed TablePD class.
  990. * DataTablePropertyDescriptor.cs: TablePD class is now this one as
  991. suggested by danmorg.
  992. 2003-01-06 Ville Palo <[email protected]>
  993. * XmlDataLoader.cs: Moved diffgram stuff to new internal class
  994. XmlDiffLoader.
  995. * XmlDiffLoader.cs: new class for diffgrams. Added handling of
  996. diffgr:Errors and some fixes and changed XmlReader to XPathNavigator.
  997. 2003-01-06 Gonzalo Paniagua Javier <[email protected]>
  998. * DataView.cs: made dataViewManager internal.
  999. * DataViewManager.cs: use ICustomTypeDescriptor. We don't want the
  1000. properties of the object, but the values of the columns present in a
  1001. row.
  1002. * DataViewManagerListItemTypeDescriptor.cs: implemented GetProperties,
  1003. which returns a PropertyDescriptorCollection. Created a new class
  1004. derived from PropertyDescriptor that treats Table as an object whose
  1005. properties are DataRowView.
  1006. 2003-01-04 Ville Palo <[email protected]>
  1007. * XmlSchemaMapper.cs: Added handling for Constraints, Attributes.
  1008. 2003-01-04 Ville Palo <[email protected]>
  1009. * DataColumn.cs: ExtendedProperties is by default !null-
  1010. 2003-01-04 Ville Palo <[email protected]>
  1011. * DataColumnCollection.cs: Add (DataColumn Column) -method didn't
  1012. set column's ordinal.
  1013. 2003-01-02 Ville Palo <[email protected]>
  1014. * DataSet.cs:
  1015. * XmlDataLoader.cs: XmlReader closing fixes.
  1016. * XmlSchemaReader.cs: Added support for ref=
  1017. 2003-01-01 Ville Palo <[email protected]>
  1018. * DataSet.cs:
  1019. - Added XmlReader and XmlWriter Closing.
  1020. - Moved ReadXmlSchema stuff to new internal class XmlSchemaMapper.
  1021. * XmlSchemaMapper.cs
  1022. - Much better way IMHO to map xmlschema than the old one in
  1023. DataSet.cs. Its, more flexible, cleaner, ...
  1024. 2002-12-29 Ville Palo <[email protected]>
  1025. * XmlDataLoader.cs: Reading diffgrams.
  1026. 2002-12-29 Ville Palo <[email protected]>
  1027. * DataRow.cs: Little fix to indexer and DataColumnCang* trigger fixes.
  1028. * DataTable.cs: Added ChanginDataColumn () for triggering
  1029. DataColumnChanging event
  1030. 2002-12-28 Ville Palo <[email protected]>
  1031. * DataSet.cs: Indentations to WriteXmlSchema () and one little fix
  1032. 2002-12-28 Ville Palo <[email protected]>
  1033. * DataSet.cs: Indentations to WriteXml ()
  1034. 2002-12-27 Ville Palo <[email protected]>
  1035. * DataSet.cs:
  1036. * XmlDataLoader.cs: Moved ReadXml -stuff from DataSet.cs to new
  1037. class XmlDataLoader.cs
  1038. 2002-12-19 Ville Palo <[email protected]>
  1039. * DataSet.cs Implemented ReadXml with XmlReadMode.ReadSchema
  1040. 2002-12-18 Ville Palo <[email protected]>
  1041. * DataSet.cs: Started to implement ReadXml-methods.
  1042. 2002-12-17 Gonzalo Paniagua Javier <[email protected]>
  1043. * DataSet.cs: implemented DefaultViewManager and GetList.
  1044. * DataViewManager.cs: a bit of work on IList and ITypedList needed by
  1045. DataList in System.Web.
  1046. * DataViewManagerListItemTypeDescriptor.cs: custom type descriptor for
  1047. DataViewManager.
  1048. 2002-12-16 Ville Palo <[email protected]>
  1049. * DataRow.cs
  1050. * DataTable.cs: Fixed NullException (rollback -event)
  1051. * DataSet.cs: WriteXml -method does not anymore write <?xml... row.
  1052. 2002-12-15 Ville Palo <[email protected]>
  1053. * DataRow.cs:
  1054. * DataRowCollection.cs: Moved event triggering from DataRow to
  1055. DataRowCollection.
  1056. 2002-12-09 Ville Palo <[email protected]>
  1057. * DataSet.cs: Little fix to WriteTable () -method
  1058. and DoReadXmlSchema () -method.
  1059. 2002-12-06 Ville Palo <[email protected]>
  1060. * DataSet.cs: Clean up to reading xmlschema. This looks much better
  1061. now (work better too), but it not working correctly yet.
  1062. 2002-12-04 Ville Palo <[email protected]>
  1063. * DataRow.cs:
  1064. * DataRowCollection.cs: Added some event handlins stuff.
  1065. * DataSet.cs: Some fixes.
  1066. * DataTable.cs: Added event handlers.
  1067. 2002-11-30 Ville Palo <[email protected]>
  1068. * DataRowChangeEventArgs.cs: Implemented Action and Row properties
  1069. 2002-11-30 Ville Palo <[email protected]>
  1070. * System.Data/DataRow.cs: Added internal property XmlDataID
  1071. 2002-11-29 Ville Palo <[email protected]>
  1072. * DataSystem.Data.DataTableCollection.cs:
  1073. Removed HashTable. There could be situations where DataTable
  1074. is added to collection before it hava TableName. So using
  1075. HashTable is impossible.
  1076. 2002-11-19 Carlos Guzmán Álvarez <[email protected]>
  1077. * DataRow.cs: an object that is equal to null
  1078. should be allowed to be set in this indexer too
  1079. to be like .NET
  1080. 2002-11-06 Daniel Morgan <[email protected]>
  1081. * DataColumnPropertyDescriptor.cs: added file
  1082. * System.Data/DataRowView.cs: started implementation
  1083. * DataTable.cs: stubbed more interfaces. Implemented
  1084. IListSource.GetList()
  1085. * DataView.cs: stubbed more interfaces. Implemented
  1086. some properties and methods: GetEnumerator(),
  1087. ITypedList.GetItemProperties, Item indexer, CopyTo()
  1088. 2002-05-18 Nick Drochak <[email protected]>
  1089. * DataRow.cs: Fix typo.