Welcome to mirror list, hosted at ThFree Co, Russian Federation.

ChangeLog « System.Data « System.Data « class « mcs - github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 89943a3ba9d881db135fdb121a10849fe6292d1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2006-02-24  Senganal T  <tsenganal@novell.com>

	* UniqueConstraint.cs :
		- ChildConstraint : Added. Simplifies verifying if constraints are
		related.
		- CanRemoveFromCollection : Fixed the check to verify if constraints is
		linked to a ForeignKeyConstraint. Fixes #77630
	* ForeignKeyConstraint.cs :
		- _validateRemoveParentConstraint : Removed. Not used anymore
		- ParentConstraint : Added. Simplifies verifying if constraints are
		related.

2006-02-11  Senganal T  <tsenganal@novell.com>
	
	* UniqueConstraint.cs :
		- PostAddRange : Check PrimaryKey is not already set for the table
	* DataTable.cs :
		- PrimaryKey : follow ms.net behavior when BeginInit , EndInit is used.
			- Add new priamry key only when EndInit is called.
			- Incase of an error, retain old primarykey 
		- EndInit :
			- Add Constraints after columns are added.
			- If both PrimaryKey Property and PrimaryKey Constraint are set,
			then the Constraint takes precedence.
		fixes bug #77404

2006-02-03  Senganal T  <tsenganal@novell.com>

	* DataTableCollection.cs : 
		- Remove () : Check for invalid TableName
		- Add () : Verify the table doesn't belong to another dataset
	* DataView.cs :
		- CompleteLastAdded () : Do not raise ItemAdded Event as it is
			already raised in AddNew().
	* DataColumn.cs :
		- Expression : Verify that the Column names in the expression are valid 
		- ResetCollectionInfo : Renamed to ResetColumnInfo
	* DataRow.cs :
		- RejectChanges () : Reorganized the code to do the Right thing.
		- Item  : Dont check for detached and deleted rows as these are
			done elsewhere.
	* DataRowCollection.cs :
		- Add () : Check for null value
	* DataTable.cs :
		- PrimaryKey : Set AllowDBNull=false for all the key columns
		- ImportRow : Import the row only if it is not in Detached state. if in Deleted
			state, perform the validation when AcceptChanges/RejectChanges is called.
	* DataColumnCollection.cs :
		- Add : Validate the column expression before adding it to the collection.
		- GetColumnDependency () : New. Get the dependencies on the column 
		- CanRemove : Move checks to GetColumnDependency
		- Clear () : Simplified code. Remove unncessary checks.Also, dont check Expression col.
		- IndexOf - Check argument.
		Overall , appropriate error msg's are thrown if Remove/Clear fails. Removed a few
		redundant checks performed and moved the common code to GetColumnDependency.

2006-01-31  Senganal T  <tsenganal@novell.com>

	* DataSet.cs : Modified CopyRelations ()
		- Added code to copy ForeignKeyConstraints. Fixes #77411.
	
2006-01-18 Boris Kirzner <borisk@mainsoft.com>
	* DataColumn.cs: added PropertyCchangedEvent handling.

2006-01-17  Senganal T  <tsenganal@novell.com>
	
	* DataRow.cs:
		ItemArray : Modified to raise RowInTableException only if
		the concerned row has been removed from the table.Fixes 
		bug #77267

2006-01-16 Boris Kirzner <borisk@mainsoft.com>
	* DataTable.cs: Drop dependend indexes on column removal.

2006-01-16  Atsushi Enomoto  <atsushi@ximian.com>

	* CustomDataClassGenerator.cs :
	  When a DataRelation connects the same table as parent and child,
	  generate parent row property as BlahRowParent. Fixed bug #77248.

2006-01-10  Senganal T <tsenganal@novell.com>
	* DataRowCollection.cs
		- Added ListChangedEvent to notify reset of the collection.
	* DataView.cs
		- Subscribes to the ListChangedEvent of DataRowCollection
		Fixes bug #77188

2006-01-09  Senganal T <tsenganal@novell.com>
	* RelatedDataView.cs
	* DataColumn.cs
		- Resolving a name clash in IExpression

2006-01-06  Senganal T <tsenganal@novell.com>
	
	* DataColumn.cs
	* DataColumnCollection.cs
		- Reset the Parameters of DataColumn to Default Values when 
		column is removed from the Table's Collection

2006-01-03  Senganal T <tsenganal@novell.com>

	* DataTable.cs :
		- ParseSortString() : Changed the way the sort string is parsed.
		Using a regex to parse the string.Fixes bug #77104

2005-12-12  Konstantin Triger <kostat@mainsoft.com>

	* DataRow.cs: Added index Updates.
		EndEdit() fixed to first update indices and then AssertConstraints
		based on those indices.
		Added Validate() and AssertConstraints() functions.
	* DataRowCollection.cs: Removed ValidateDataRowInternal().
	* DataTable: Fixed Clear().

2005-12-06  Atsushi Enomoto  <atsushi@ximian.com>

	* CustomDataClassGenerator.cs : (InitializeFields) handle AllowDBNull
	  and DefaultValue as well. Patch by Marek Habersack (bug #76709).

2005-12-01  Miguel de Icaza  <miguel@novell.com>

	* DataSet.cs: Apply patch from Robert Jordan, to fix #76817

2005-11-26  Konstantin Triger <kostat@mainsoft.com>

	* ConflictOption.cs: TARGET_JVM include.

2005-11-11  Senganal T <tsenganal@novell.com>
	
	* ConflictOption.cs (new file)
		- Added ConflictOption Enumeration 
	* DataTableReader.cs
	* IDataRecord2.cs 
		- GetProviderSpecificFieldType : Corrected the method name

2005-11-11  Senganal T <tsenganal@novell.com>

	* DataSet.cs : Added the SchemaSerializationMode Property for NET_2_0
	compatibility.
	* SchemaSerializationMode.cs : Added SchemaSerializationMode Enumeration
	for NET_2_0 compatibility.

	Fixes bug #76517

2005-10-20  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlSchemaWriter.cs : escape names in the schema with XmlConvert.
	  Fixed bug #76480.

2005-10-14  Sureshkumar T  <tsureshkumar@novell.com>

	* DataView.cs: Correct multiple throwing of events. Patch from
	Marc Haisenko.
	(RowStateFilter): Fire ListChangedEvent.
	(ApplyDefaultSort): Fire ListChangedEvent.
	(CompleteLastAdded): call UpdateIndex to remove the row from rowCache.
	(IBindingList.Find): Implemented.

2005-10-11  Sureshkumar T  <tsureshkumar@novell.com>

	* DataView.cs (IBindingList): Implemented methods for IBindingList interface.

2005-09-26  Lluis Sanchez Gual <lluis@novell.com>

	* DataSet.cs: In IXmlSerializable.GetSchema, return null again for
	untyped datasets. Fixes bug #76101.

2005-09-21 Boris Kirzner <borisk@mainsoft.com>
	* DataRow.cs: Fixes for index updating.
	* DataTable.cs: 
		- Reset case-sensitive indexes also if their filter contains columns 
		of type string.
		- Use GetIndex instead of FindIndex, so the indexes created in Select()
		are reused. 
	* RelatedDataView.cs: implement IExpression.Equals() and GetHashCode().
	
2005-09-20  Sureshkumar T  <tsureshkumar@novell.com>

	* DataView.cs (Sort): Apply default Sorting Order if Sort property
	is reset to null. Sort property handles this. Patch from Marc.

	* DataTable.cs (ParseSortString): Patch from  Marc Haisenko for
	allowing [ & ] in DataView.Sort string.

2005-09-01 Boris Kirzner <borisk@mainsoft.com>
	* System.Data/DataRowCollection.cs: indexes should be updated even if 
	EnforceConstraints is false. Check for EnforceConstraints in
	ValidateDataRowInternal.

2005-08-08  Gert Driesen  <drieseng@users.sourceforge.net>

	* DataView.cs: Changed accessibility of dataTable, rowState and
	rowCache field to internal to fix public API. Assigned TypeConverter
	to Table property.
	* ForeignKeyConstraint.cs: IsConstraintViolated is now internal.
	* Constraint.cs: IsConstraintViolated is now internal.
	* UniqueConstraint.cs: IsConstraintViolated is now internal.

2005-08-05  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlSchemaDataImporter.cs : When "dataset element" has identity
	  constraints, then first reserve constraints room for them and then
	  process elements, skipping pkey creation if there is already
	  reserved one. Fixed bug #75711.

2005-08-05  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlDataInferenceLoader.cs : in GetElementMappingType(), don't guess
	  the same (QNamed) element again when it was already evaluated as
	  not simple type. Fixed one part of bug #75711.

2005-08-02 Boris Kirzner <borisk@mainsoft.com>
	* XmlSchemaDataImporter.cs : Data relations should be processed after the
	keys, so no redundant constraints created while relations processing.

2005-07-25 Boris Kirzner <borisk@mainsoft.com>
	* FillOptions.cs, ConflictOptions.cs, UpdateOptions.cs: 
	added ifdef TARGET_JVM.

2005-07-22  Sureshkumar T  <tsureshkumar@novell.com>

	* DataViewSettingCollection.cs, DataTableCollection.cs,
	DataSet.cs, DataView.cs, DataColumn.cs, ForeignKeyConstraint.cs,
	DataRelationCollection.cs, UniqueConstraint.cs, DataTable.cs,
	DataColumnCollection.cs, DataRelation.cs, DataSet.cs:
	- updated attributes & attribute descriptions to match with
	masterinfos.

	* DataView.cs: changed protected members
	rowstate,rowcache,dataTable to protected internal.
	* Constraint.cs, ForeignKeyConstraint.cs, UniqueConstraint.cs:
	changed InConstraintViolated to protected internal.
	* ConflictOptions.cs, UpdateOptions.cs, FillOptions.cs: enclosed
	with NET_2_0 define.

2005-07-21  Sureshkumar T  <tsureshkumar@novell.com>

	* ForeignKeyConstraint.cs: 
	- IsConstraintViolated (): no matter what EnforceConstraints is,
	this function now honestly validates. It is upto the caller to run
	this or not.
	- AddToConstraintCollectionSetup (): AssertConstraint according to
	EnforceConstraints.
	
2005-07-21 Boris Kirzner <borisk@mainsoft.com>
	* ForeignKeyConstraint.cs - IsConstraintViolated() should check also for Table.EnforceConstraints.
	* DataTable.cs - EnforceConstraints becomes internal so it can be used by ForeignKeyConstraint.

2005-07-19  Sureshkumar T  <tsureshkumar@novell.com>

	* DataTable.cs - CopyConstraints (): copy constraints only if it
	does not exist.

	* DataSet.cs - Copy ():
	- use activator.CreateInstance to create a typed dataset.
	- copy tables if target does not exist, otherwise, just add rows.
	- add relation only if it does not exists.

	Typed datasets create the constraints & relations through
	constructors. Fixes bug #75211.

2005-07-14  Sureshkumar T  <tsureshkumar@novell.com>

	* DataView.cs: Patch from Marc Haisenko to throw descriptive error
	message when accessing Item, with invalid index.

2005-07-14  Sureshkumar T  <tsureshkumar@novell.com>

	reapplied patch from Marc Haisenko.
	* DataView.cs: Patch from Marc Haisenko that ensures that rowCache
	is never null.

2005-07-13  Sureshkumar T  <tsureshkumar@novell.com>

	* DataRelationCollection.cs: adding a relation with same set of
	parent columns & child columns, should not be allowed.

2005-07-08  Sureshkumar T  <tsureshkumar@novell.com>

	* DataTableReader.cs: GetSchemaTable: DataType column should be
	passed a type of Type.

	* DataRow.cs: Load : Fired necessary events.

	* DataTable.cs: LoadDataRow (object [], LoadOption): Fired
	necessary events.

2005-06-28  Sureshkumar T  <tsureshkumar@novell.com>

	* DataRow.cs: Delete (): if row is detached, do nothing.
	fixes bug #75388.

2005-06-22  Sureshkumar T  <tsureshkumar@novell.com>

	* DataRow.cs: Added method MergeValuesToRow copy merge two rows
	according to the merge rules.

	* MergeManager.cs: (MergeRow): use MergeValuesToRow
	API. CopyValuesToRow simply makes the target row same as source
	row. Rather, MergeValuesToRow merges with the target row according
	to the merge rules.

2005-06-19  Konstantin Triger <kostat@mainsoft.com>

	* DataSet.cs: Fixed ReadXml to work with IXmlSerializable

2005-06-17  Jordi Mas i Hernandez <jordi@ximian.com>

	* DataViewManager.cs: fixes exception and creates DataView

2005-06-15  Sureshkumar T  <tsureshkumar@novell.com>

	* DataRow.cs: CheckChildRows: cascade parent changes to child rows
	only if there is a change in columns of the fk constraint.

2005-06-14  Sureshkumar T  <tsureshkumar@novell.com>

	* DataSet.cs: GetChanges: if row is deleted, get parent rows based
	on original version. fixes bug #75227.

2005-06-13  Sureshkumar T  <tsureshkumar@novell.com>

	* DataRowCollection.cs: Find (keys, version): Added an overload to
	find keys matching given DataViewRowState filter. Used in
	DataSet.Merge and DataTable.LoadDataRow.

	* DataTable.cs: LoadDataRow (values, LoadOption): Use
	DataRowCollection.Find (object [], DataViewRowState) overload.

	* DataRow.cs:
	- CopyValuesToRow: Create target "records" out of loop. Records
	should be created once, not for each column. Dispose Unused target
	records.

	* MergeManager.cs:
	- MergeRow: Find rows with matching original records. If not,
	select with current values.
	- MergeRow: While adding new row, use NewNotInitializedRow.

	* ForeignKeyConstraint.cs: IsConstraintViolated: should not check
	if EnforceConstraints is false.

2005-06-10  Sureshkumar T  <tsureshkumar@novell.com>

	* DataRow.cs: CopyValuesToRow: if orginal == current, don't create
	a new current record.

	* DataSet.cs: GetChanges :Temporarily disable EnforceConstraints.

	* MergeManager.cs: Merge: Temporarily disable
	EnforceConstraints. Patch from george.barbarosie@gmail.com (George
	Barbarosie).

2005-06-09  Jordi Mas i Hernandez <jordi@ximian.com>

	* DataView.cs: fixes GetListName

2005-06-02  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlSchemaConstants.cs,
	  XmlSchemaDataImporter.cs,
	  XmlSchemaWriter.cs : AutoIncrementStep support. Patch partly by
	  George Barbarosie. Fixed bug #75121.
	* XmlSchemaMapper.cs : it is not used anymore, so just removed.

2005-05-31 Boris Kirzner <borisk@mainsoft.com>
	* DataRow.cs : SetParentRow on Detached row with no Default version throws an exception.
	
2005-05-29 Konstantin Triger <kostat@mainsoft.com>

	* This patch fixes #74813
	* DataView.cs: rework the CreateChildView to receive the index into the indexed row array, rowState became protected to be initialized from RelatedDataView
	* DataRowView.cs: movo the logic of creating the child view to the DataView
	* RelatedDataView.cs: perform correct init.

2005-05-25  Sureshkumar T  <tsureshkumar@novell.com>

	* DataTable.cs: Reworked DataTable.LoadDataRow method after
	regressions caused by Index redesign.
	* DataRow.cs: Load : reworked.

2005-05-25 Konstantin Triger <kostat@mainsoft.com>

	* ISafeDataRecord.cs: Added GetDateTimeSafe method, the interface was made derived from IDataRecord

2005-05-22 Konstantin Triger <kostat@mainsoft.com>

	* DataTable.cs, DataColumn.cs: in continuation to the previous fix - moving the common logic to 1 function and throwing the correct exception in any flow

2005-05-20  Sureshkumar T  <tsureshkumar@novell.com>

	* DataTable.cs: CreateRecord :value should be set to auto
	increment value or default value if the given value is null.

2005-05-16 Konstantin Triger <kostat@mainsoft.com>

	* DataTable.cs: In DataTable.LoadDataRow with LoadOption - reverting the search order back to Original -> Current (by Suresh request)

2005-05-16 Konstantin Triger <kostat@mainsoft.com>

        * DataRow.cs, DataTable.cs: code under net_2_0 changed to use the new interface
        * DataTable.cs: Added CompareRecords, which compares records in column order


2005-05-16  Sureshkumar T  <tsureshkumar@novell.com>

	* DataRow.cs:
	* DataTable.cs: quick fix to make build 2.0 profile (follow up for
	check in 2005-05-16). Merge with previous changes.

2005-05-11  Sureshkumar T  <tsureshkumar@novell.com>

	fix for "import row does not import deleted records"

	* UniqueConstraint.cs: Make a way to access value even from a
	deleted record. deleted records are added to the collection by
	ImportRow method.

	* DataRow.cs:
	- Added restriction-less methods GetValue to fetch a
	value even if it is in deleted state.
	- If a row is detached, don't try to delete it from indexes.
	- sanity check for record_index in CopyValuesToRow method

2005-05-05  Sureshkumar T  <tsureshkumar@novell.com>

	* DataTableReader.cs: Implemented Delete handler and move the
	current pointer accordingly.

2005-05-04  Sureshkumar T  <tsureshkumar@novell.com>

	* DataTableReader.cs: Added event handlers to make reader stable
	when the datasource is modified. Thanks to Umadevi for giving the
	review comments for this implementation.

	* DataTable.cs: Clear (): Raise TableCleared event.

	* DataTableClearEventArgs.cs: Args for DataTableClearEventHandler.

	* DataTableClearEventHandler.cs: Handler for DataTable.TableClear
	event.

	* DataRow.cs: AcceptChanges: raise row changing & row changed
	events.

	* DataRowCollection.cs: Clear : remove rows from indexes

2005-05-02  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlSchemaDataImporter.cs : XmlSchemaParicle might be XmlSchemaAny.
	  This fixes bug #74784.

2005-04-29  Sureshkumar T  <tsureshkumar@novell.com>

	* DataTableReader.cs: removed use of _first. throw if given index
	is out of range of columns. Copy DataTable [] to local array so
	that not to be disturbed.

2005-04-27  Sureshkumar T  <tsureshkumar@novell.com>

	* DataTableReader.cs: Implemented most of the TODO.

2005-04-22  Sureshkumar T  <tsureshkumar@novell.com>

	* LoadOption.cs: Changed the enums. Keeping old values for
	migration.

	* DataTable.cs: Implemented methods Load and its overloads. Also
	implemented LoadDataRow.

	* DataRowCollection.cs: Added a variation of the Find method to
	return a row even if it is of state Deleted. This is required for
	DataTable.LoadDataRow method.

	* DataRow.cs: Implemented internal helper method Load for loading
	values from an object array and given an LoadOption (2.0 feature).

	* DataRowAction.cs: Added few more enums for .net 2.0. Sorted
	alphabetically.

2005-05-16 Konstantin Triger <kostat@mainsoft.com>

	* UniqueConstraint.cs : IsNull check is relevant for rows having default row version.
	* DataTable.cs : The row should be validated when imported
	* DataRowCollection.cs : if the row does not contain Proposed neither Current version, it's irrelevant for validation

2005-04-26 Boris Kirzner <borisk@mainsoft.com>

	* UniqueConstraint.cs :
		- Add indication whenever the constraint belongs to collection. 
		- Calculation of IsPrimaryKey simplified.
		- If constraint is based on single column, the column becomes unique.
		- Use boolean IsConstraintViolated() instead of AssertConstraint().
		- Use Index.Duplicates to proper exception message formatting.
		- AssertConstraint(DataRow) changed to suite new indexes interface.
		- Added CanRemoveFromCollection method.
		- Contains() method renamed to IsColumnContained().
	* RelatedDataView.cs : added new class.
	* MergeManager.cs :
		- Reset indexes after merge.
		- Add new tables when row array is merged into dataset.
		- Clean proposed record in MergeRow.
		- Inherit nesting on creating new relations in target data set.
		- Avoid double loop on constraints collection.
	* Locale.cs : added new class.
	* ISafeDataRecord.cs : added new interface.
	* Index.cs : commented out. Index implementation moved to System.Data.Common.
	* ForeignKeyConstraint.cs : 
		- No more use of childColumnsExtended since new indexes allow duplicate records.
		- Constraints can not be created on expression columns.
		- Removed unnecessary delegation.
		- Use boolean IsConstraintViolated() instead of AssertConstraint(). 
		- Use proper exception message formatting.
		- Contains() method renamed to IsColumnContained().
	* DataViewRowState.cs : use enum members to simplify notation.
	* MergeManager.cs : implemented RelationCollectionChanged().
	* DataView.cs :  new implementation.
	* DataTableCollection.cs : 
		- Added boundary check in indexer.
		- More accurate handling in AddRange().
		- Raise event in Remove().
	* DataTable.cs :
		- Hold primary key as constraint.
		- Added accurate handling of DefaultView.
		- Hold DataRowBuilder per table.
		- Proper exception messages if enforce Constraints is violated.
		- If there is no rows, Compute() returns DBNull.
		- Use DataRow properties instead of private members.
		- CopyProperties() fixed.
		- Raise proper events in EndInit().
		- Proper order of violation checks in EndLoadData().
		- Create array of rows using NewRowArray().
		- ImportRow handles rows according to their versions.
		- LoadDataRow make use of records (instead of raw object array).
		- Added and implemented LoadDataRow() that gets IDataRecord as a parameter (used in Fill)
		- Select() uses indexes filtering and sorting ability (instead of "loop-throw-sort" approach).
		- Removed redundant RowSorter and Sortable column classes.
		- ParseSortString() fixed to threat bracketed column names.
		- Table holds collection of property descriptors.
	* DataSet.cs :
		- Reset table case sensitive indexes on CaseSensitive change.
		- EnforceConstraints update logic moved to internal method (used by DataTable).
		- InAddChangedRow first add row and than copy values for proper handling of default values.
	* DataRowView.cs :
		- Changed private member names to suite name convention.
		- CancelEdit() fixed.
		- CreateChildView() delegates to DataView.
		- IsNew fixed.
		- Proper exception messages in indexers.
		- RowVersion uses DataView.
		- GetProperties() delegates to corresponding table if needed.
	* DataRowCollection.cs :
		- Common Add() logic moved to AddInternal() (used also by DataTable).
		- Removed redundant check from Contains().
		- Dalegate Find() calls when possible.
		- Remove() fixed.
		- RomoveAt() delegates to Remove().
		- Optimized constraints check in row validation.
	* DataRelationPropertyDescriptor.cs : added new class.
	* DataRelationCollection.cs :
		- Indexers fixed.
		- Fixed order of actions in AddCore().
		- RemoveCore() also delegates to base.
		- Add relation to dataset also in AddCore().
		- Remove relation from dataset also in RemoveCore().
		- InTransition hold a data relation so we can properly identify the "in transition" state.
		- Added threat of parent and child table s property descriptors in Add().
		- Common Add() logic moved to AddCore().
		- Clear() fixed.
		- Remove() threats "in transition" state properly.
		- Remove methods delegate to single implementation.
	* DataColumnPropertyDescriptior.cs :
		- Added new constructor.
		- Commented out redundant method.
	* DataColumnCollection.cs :
		- Boundary check in indexer.
		- RegisterName and UnregisterName become internal (used also by DataColumn).
		- Fixed AddRange().
		- Fixed CanRemove().
		- Rethrow correct exception in Clear();
		- Change in collection resets parent table property descriptors.
		- Added PostEndEdit() helper method (used by DataTable).
	* DataColumn.cs :
		- Private member names changed to suite name convention.
		- Created method for CanAutoIncrement() logic.
		- Proper handling of column name update.
		- Proper exception messages on expression update.
		- Proper namespace handling (delegates to table when needed).
		- Removed redundant check in Unique update.
		- Implemented internal Clone().
		- GetParentRalation() and GetChildRelation() become private.
	* Constraint.cs :
		- Added abstract methods (implemented in UniqueConstraint and ForeignKeyConstraint).
		- Simplified index update.
	* ConstraintCollection.cs :
		- Use Locale instead of CaseSensitive in column names comparison.
		- Removed #ifdef
		- Rethrow correct exception type in Add().
		- Proper update of table primary key in Add().
		- Delegate CanRemove() to constraint.
		- Remove table primary key in Clear();
		- Delegate "can remove" check to constraint in Remove().
		- Removed unnecessary methods and properties.
	* DataRow.cs :
		- RowSate becomes calculated property.
		- Use properties instead of private members where possible.
		- Fixed indexer.
		- Fixed order of actions in ItemArray update.
		- Fixed DetachRow().
		- Added ImportRecord() method.
		- Removed redundant SetValuesFromDataRecord().
		- Fixed IndexFromVersion().
		- Added VersionFromIndex() method. Returns row version the passed record index corresponds to.
		- Fixed AcceptChanges().
		- Fixed creating proposed version in BeginEdit();
		- Added record disposal in Delete().
		- Fixed CheckChildRows().
		- EndEdit() fixed. Checks for readonly. Uses straight flow instead of "try and fix if fail" approach.
		- GetChildRows() and GetPrarentRows() rewrited. Use records and indexes for rows lookup.
		- GetColumnError() delegates to another implementation.
		- HasVersion() fixed.
		- RejectCahnges checks on child rows before passing through.
		- SetParentRow() fixed. Create relation collection if needed. Use typed data container value copy.
		- CopyErrors() logic moved to separate method (used also by DataTable).
	* ExpressionElement.cs : added new class.
	* Res.cs : added new class.

2005-04-20  Jordi Mas i Hernandez <jordi@ximian.com>

	* DataViewManager.cs: implements TypedList.GetListName used in SWF

2005-04-19  Atsushi Enomoto  <atsushi@ximian.com>

	* DataRowView.cs : indexer should access to DataRow with proper
	  DataRowVersion. Fixed bug #74650.

2005-04-18  Sureshkumar T  <tsureshkumar@novell.com>

        * DataRow.cs: if there are no mapping fields, fill with default
	  value.

2005-04-17  Atsushi Enomoto  <atsushi@ximian.com>

	* DataView.cs : Delete() should not try to remove row twice.
	  Fixed bug #74631.

2005-04-13  Atsushi Enomoto  <atsushi@ximian.com>

	* DataTable.cs : Use GetRowType() for the base of the returning array 
	  type of Select(). Fix by Gerhard Rittweger.
	* CustomDataClassGenerator.cs : Fixed slightly harmless wrong code.

2005-04-13  Atsushi Enomoto  <atsushi@ximian.com>

	* CustomDataClassGenerator.cs : custom relation was not added to
	  Relations property. The second entry of bug #69276 was fixed.
	  Patch by Daniel Rodriguez.

2005-04-07  Lluis Sanchez Gual <lluis@novell.com>

	* DataRowCollection.cs: Fix the signature of the Add method
	for NET_2_0.

2005-03-16  Atsushi Enomoto  <atsushi@ximian.com>

	* DataRow.cs : on importing row, it was copying data from incorrect
	  DataRow. This fixes bug #73288.

2005-03-07  Jackson Harper  <jackson@ximian.com>

	* DataViewManagerListItemTypeDescriptor.cs: Implement missing
	features. These are needed for System.Windows.Forms databinding.

2005-02-25  Atsushi Enomoto  <atsushi@ximian.com>

	* DataColumn.cs : setting negative value on MaxLength of SimpleContent
	  column is still valid.

2005-02-15  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlSchemaWriter.cs : new file for outputting XmlSchema.
	* DataSet.cs : removed rewritten code in XmlSchemaWriter.
	* XmlConstants.cs : added UseCurrentCulture constant.
	* DataTable.cs :
	  Use new Xml Schema writer.
	  Use XmlSchemaDataImporter as we use in DataSet.

2005-02-10  Atsushi Enomoto  <atsushi@ximian.com>

	* DataView.cs, DataRowView.cs : Fixed bug #72421. CreateChildView()
	  should target only child rows.

2005-02-03  Atsushi Enomoto  <atsushi@ximian.com>

	* DataViewManager.cs: misuse of ReadStartElement(string).
	* DataRowView.cs : removed some MonoTODO.

2005-02-02  Sureshkumar T  <tsureshkumar@novell.com>
	    Ankit Jain     <radical@corewars.org>

	* DataColumn.cs: throw exception if the column is part of a
	relationship, when chaning the data type. Added methods
	"GetParentRelation ()" and "GetChildRelation ()" get the relation
	which contains the current column
	* DataRelation.cs: Added method "Contains (DataColumn)" to check
	whether the relation contains the given column.

	fixes nunit failure: DataRelationTest.InvalidConstraintException2.

2005-02-02  Sureshkumar T  <tsureshkumar@novell.com>

	* DataColumnCollection.cs: implemented todo item "check for
	constraints" when removing columns from table.
	* DataRowCollection.cs: Clear (): don't have to throw child key
	constraint exception when the child table does not have any
	rows. safe to remove parent rows.
	* UniqueConstraint.cs: added method "Contains (DataColumn)" to
	check whether a column is part of UniqueConstraint.
	* ForeignKeyConstraint.cs: added method "Contains (DataColumn,
	lookInParent)" to check whether a column is part of foreignkey.

	fixes nunit failure: DataTableTest.ClearTest ()

2005-02-02  Sureshkumar T  <tsureshkumar@novell.com>

	* ForeignKeyConstraint.cs: validating columns: move checking
	"tables are of same dataset" before "checking column types".

	fixes nunit failure: ForeignKeyConstraint.CtorExceptions.
	
2005-02-02  Atsushi Enomoto  <atsushi@ximian.com>

	* DataViewManager.cs : let's just use StringWriter instead of 
	  XmlTextWriter (to avoid empty tag string mismatch annoyance.)
	* DataView.cs : implemented BeginInit() and EndInit(). Don't update
	  rows during init phase until EndInit() is invoked. During init phase,
	  just hold properties such as Sort that affects on rows.

2005-02-02  Atsushi Enomoto  <atsushi@ximian.com>

	* DataTableCollection.cs : (RemoveAt) just use IndexOutOfRangeException.

2005-02-02  Atsushi Enomoto  <atsushi@ximian.com>

	* DataView.cs : DataRowView.EndEdit() raises ItemMoved event.
	  set_Table clears Sort and RowFilter.

2005-02-02  Atsushi Enomoto  <atsushi@ximian.com>

	* DataView.cs :
	  - Clear() should clear AddNew cache.
	  - Open() invokes Reset().
	  - ConstraintCollectionChanged() itself does not invoke OnListChanged().
	  - Reset() does not Open, Close and Update Index.
	  - UpdateIndex() can be invoked even if it has no table.
	  - Reset event is invoked always after actual query to table.
	  - set_Table should raise PropertyDescriptorChanged event.

2005-02-02  Atsushi Enomoto  <atsushi@ximian.com>

	* DataView.cs : ColumnCollectionChanged() is the event invoker (i.e.
	  when overriden, no column change events are fired).

2005-02-02  Atsushi Enomoto  <atsushi@ximian.com>

	* DataView.cs : CancelEditRowView() and DeleteRowView() was incorrectly
	  checking target tables. They also should raise events if required.

2005-02-02  Atsushi Enomoto  <atsushi@ximian.com>

	* DataView.cs : simplify code with UnsortedList.

2005-02-01  Atsushi Enomoto  <atsushi@ximian.com>

	* DataView.cs : Mostly reimplemented.
	  - UpdateIndex() is invoked only when it is required (results in 
	    significant performance improvement).
	  - Use SortedList and wrapper OptionalSortedList which switches
	    between SortedList (with Sort) and UnsortedList (without Sort).
	  - DataView itself now contains two collections for rowviews:
	    Table rows based pool and AddNew() based cache. Consider those
	    two collections in every members.
	  - Reset() does not clear rows. Just invokes UpdateIndex().
	  - Hook RowDeleting, ColumnChanging and ColumnChanged events in table
	    which is required to handle state changes.
	  - Reimplemented Find() and FindRows() because of internal changes.

2005-02-01  Atsushi Enomoto  <atsushi@ximian.com>

	* DataTable.cs : Fixed row comparer. Even if every of the sort target
	  columns are identical for two rows, they should not be regarded as
	  the same unless they are Object.ReferenceEquals.

2005-02-01  Atsushi Enomoto  <atsushi@ximian.com>

	* DataRowCollection.cs : on adding a row, should raise
	  ChangingDataRow() as well as ChangedDataRow().

2005-01-31  Sureshkumar T  <tsureshkumar@novell.com>

	* DataRow.cs: SetParentRow (): use relation.ParentColumns &
	relation.ChildColumns instead of relation.ChildKeyConstraint.*
	because createConstrains flag may be false when creating data
	relations. Hack along with Ankit Jain.
	
2005-01-31  Atsushi Enomoto  <atsushi@ximian.com>

	* DataView.cs :some interface implementations.

2005-01-28  Atsushi Enomoto  <atsushi@ximian.com>

	* DataView.cs : Add to table only when the row is not in the table.

2005-01-28  Atsushi Enomoto  <atsushi@ximian.com>

	* DataView.cs : implemented FindRows() (btw we should not use
	  DataTable since there are detached rows by AddNew().)

2005-01-28  Atsushi Enomoto  <atsushi@ximian.com>

	* DataView.cs :
	  Code cleanup: privatify some members, remove unused methods.
	  Some event-based invocation methods should not raise NotImplemented.

2005-01-28  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs : ReadXml() became closer to MS behavior, being hacky.

2005-01-28  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlSchemaDataImporter.cs : empty element is not regarded as a column.

2005-01-28  Atsushi Enomoto  <atsushi@ximian.com>

	* UniqueConstraint.cs : mostly reverted the previous patch + check
	  IsPrimaryKey before validation.

2005-01-28  Atsushi Enomoto  <atsushi@ximian.com>

	* DataView.cs : Fixed duplicate insertion to Hashtable.
	* UniqueConstraint.cs : Unique constrained pair of columns could be
	  nullable.

2005-01-27  Atsushi Enomoto  <atsushi@ximian.com>

	* DataView.cs :
	  Don't do anything for Sort/ApplyDefaultSort/RowFilter/RowStateFilter
	  when the same value is being set.
	  Examined UpdateIndex() and marked FIXME where MS does not invoke it.
	  Removed unused OnColumnChanged().
	  Now store rowViewPool and reuse DataRowView objects.
	  Optimized UpdateIndex() - avoid ArrayList. Avoid Haashtable.Rehash().

2005-01-27  Atsushi Enomoto  <atsushi@ximian.com>

	* DataViewSettings.cs : no MonoTODO anymore.
	* DataViewManager.cs : pass itself to new DataView() (new ctor).
	* DataRowView.cs : GetHashCode() returns its Row's hash.
	* DataTablePropertyDescriptor.cs : use new ctor().
	* DataView.cs : added new ctor()s that accept DataViewManager.

2005-01-27  Atsushi Enomoto  <atsushi@ximian.com>

	* DataView.cs, DataRowView.cs : AddNew() should not add the row to table
	  (it is still detached). So handle those rows differntly.
	  CancelEdit(), EndEdit() and Delete() propagates those events to
	  DataView (and handle row collection).
	  Eliminate "throw new Exception()".
	  Don't catch all the exception thrown in ListChanged event.
	* DataTable.cs : made RowSorter as internal and use it in DataView.
	  no need to pass DataRow[] to .ctor().

2005-01-27  Atsushi Enomoto  <atsushi@ximian.com>

	* DataTable.cs : don't create DefaultView unless it is required. It
	  significantly improves performance. (i.e. DataView perf. is sick ;-)

2005-01-27  Atsushi Enomoto  <atsushi@ximian.com>

	* DataViewSetting.cs,
	  DataViewSettingCollection.cs,
	  DataViewManager.cs : implemented basic members.

2005-01-26  Atsushi Enomoto  <atsushi@ximian.com>

	* Node.cs, DataColumnPropertyDescriptor.cs, DataTable.cs :
	  Eliminate "throw new Exception".

2005-01-25  Atsushi Enomoto  <atsushi@ximian.com>

	* DataRow.cs : (set_Item) RowNotInTableExeption check should be done
	  regardless of index existence.

2005-01-25  Atsushi Enomoto  <atsushi@ximian.com>

	* DataTable.cs : use new IExpression.EvalBoolean() to avoid extraneous
	  boxing.

2005-01-25  Sureshkumar T  <tsureshkumar@novell.com>

	* DataTable.cs: ImportRow :Do not add to rows collection if the
	import row is in detached state.

2005-01-25  Sureshkumar T  <tsureshkumar@novell.com>

	* DataRow.cs: CopyValuesToRow : set the column value with the
	default version of the given row.
	* DataTable.cs: ImportRow: Copy values before adding row.
	* DataSet.cs: AddChangedRow: Add the row to the table after
	copying values.
	
	Fixes bug #67317. Patch by Ankit Jain.

2005-01-25  Atsushi Enomoto  <atsushi@ximian.com>

	* DataRowView.cs : Fixed IsEdit to reflect correct status of DataRow.
	* DataRow.cs : Expose editing status internally.

2005-01-25  Atsushi Enomoto  <atsushi@ximian.com>

	* DataView.cs : missing attributes.

2005-01-24  Atsushi Enomoto  <atsushi@ximian.com>

	* DataRowView.cs : implemented CreateChildView().

2005-01-24  Atsushi Enomoto  <atsushi@ximian.com>

	* DataTable.cs, DataView.cs :
	  Optimized DataView to compile only once RowFilter and Sort when 
	  those properties are set. To make it possible, extracted 
	  SortableColumn out of DataTable and added internal DataTable.Select()
	  that accepts precompiled IExpression and SortableColumns[].

2005-01-24  Atsushi Enomoto  <atsushi@ximian.com>

	* DataColumn.cs : set_MaxLength is not allowed when it is mapped to
	  SimpleContent. (However, it is weird but it never fails when we set
	  ColumnMapping = MappingType.SimpleContent when we fhave MaxLength.)

2005-01-21  Atsushi Enomoto  <atsushi@ximian.com>

	* DataRow.cs : more Current -> Default fixes. Check if it should throw
	  VersionNotFoundException. Patch by Ankit Jain.

2005-01-21  Atsushi Enomoto  <atsushi@ximian.com>

	* DataRow.cs : Default selects the right version for the current
	  state of the row. Current is not always available. Also change
	  that for GetParentRow(). Patch by Ankit Jain.

2005-01-21  Atsushi Enomoto  <atsushi@ximian.com>

	* DataTable.cs : CopyColumn() should copy AutoIncrement after
	  DefaultValue, or it will raise an error in some cases.

2005-01-20  Atsushi Enomoto  <atsushi@ximian.com>

	* ConstraintCollection.cs : Add() should throw ArgumentException when
	  the argument constraint fails validation.
	  DataTable.cs : set_PrimaryKey should throw ArgumentException when
	  the argument contains constraints which fail validation.

2005-01-19  Sureshkumar T  <tsureshkumar@novell.com>

	* DataRelationCollection.cs: 

	Method Remove : Donot throw exception if DataRelation argument is
	null in DataRelationCollection.Remove method.

	Method RemoveAt : Exception should be IndexOutOfRangeException if
	row index is not in list range.

	Fixes nunit failures DataRelationCollection.Remove and
	DataRelationCollection.RemoveAt.

2005-01-19  Sureshkumar T  <tsureshkumar@novell.com>	

	* ConstraintCollection.cs: Donot throw exception if constraints
	are null in AddRange method. Check for null before using the
	argument.

	fixes bug #69381.

2004-01-19  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlDataInferenceLoader.cs,
	  XmlDataReader.cs : Check if the XmlReader (node) represents DataSet
	  or a table, reusing code block in XmlDataInferenceLoader.
	  This fixes bug #60118.

2004-01-19  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlDiffLoader.cs : Ankit Jain <radical@imt.ac.in> has a conflicting
	  patches and some good catches. Some attributes should be skipped,
	  and loaded value must be typed.

2004-01-19  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlConstants.cs,
	  XmlDataInferenceLoader.cs, 
	  XmlDataReader.cs : use common const for http://www.w3.org/2000/xmlns/.
	* XmlDiffLoader.cs : It was not handling attributes. Fixed bug #70961.

2005-01-18  Sureshkumar T  <tsureshkumar@novell.com>

	Fix for bug #66838. This patch is submitted by "Ankit Jain"
	<radical@corewars.org> and refactored.

	* DataRow.cs: Allows to set a parent row even if the row is in
	detached state.

	* DataRelation.cs: method "UpdateConstraints" is added to check
	and create missing keys when adding a relation. This is refactored
	approach from DataRelationCollection.Add method.

	* DataRelationCollection.cs: AddCore methods of all relation types
	are synchronized. A Check for existing constraints is
	done. Relation is added to the list only if all checks are passed.

2004-01-18  Atsushi Enomoto  <atsushi@ximian.com>

	* DataColumnCollection.cs : Clear() throws ArgumentException that
	  wraps thrown innerException.
	* XmlSchemaDataImporter.cs : removed FIXMEs.

2004-01-12  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs : When serializing DataTable, BuildSchema() is passed
	  null relation collections.
	  Quick fix for XmlSerializer deserialization. It does not require
	  XML Schema included.

2004-01-11  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs,
	  CustomDataClassGenerator.cs :
	  In DataSet class, IXmlSerializable.GetSchema() returns null.
	  In strongly-typed class, it returns schema.

2004-01-07  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlDataInferenceLoader.cs : test driver class should be excluded.

2004-12-01  Miguel de Icaza  <miguel@ximian.com>

	* DataView.cs: Patch from Marc Haisenko that ensures that rowCache
	is never null.

2004-11-10  Atsushi Enomoto  <atsushi@ximian.com>

	* CustomDataClassGenerator.cs : generated foreign key constraint
	  construction code was creating empty child columns and thus it
	  was invalid. This fixes bug #69276 (patch by Martin Voelkle).

2004-11-02  Atsushi Enomoto  <atsushi@ximian.com>

	* CustomDataClassGenerator.cs : custom DataTable ctor should call
	  InitializeFields(), and those DataColumns created by that method
	  should take data type. This should fix bug #68972.

2004-10-15  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs : Also clear UnhandledAttributes ArrayList before 
	  generating next attribute column schema. This fixes bug #68432.

2004-10-14 Umadevi S <sumadevi@novell.com>
        * DataTable.cs : Corrected the Clone method to use  Activator.CreateInstance so that the
        correct subclass is returned. This fixes bug #67631
                                                                                        
2004-10-14 Umadevi S <sumadevi@novell.com>
	* DataSet.cs : Corrected the Clone method to use  Activator.CreateInstance so that the 	
	correct subclass is returned. This fixes bug #67627

2004-10-13  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs : clear UnhandledAttributes ArrayList before generating
	  next element column schema. This fixes bug #68256.

2004-10-12  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs : now xs:schema contains xmlns="".
	  This fixes bug #68008.

2004-10-12  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs : DBNull attribute column should not be written as
	  empty attribute. This fixes bug #68007.

2004-10-12  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs, XmlConstant.cs, XmlSchemaDataImporter.cs:
	  DataColumn.ReadOnly was not handled. This fixes bug #68005.
	  Attribute defaultValue was not handled too.

2004-10-07  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs :
	  - When AllowDBNull is false on attribute DataColumn, its schema
	    should contain use="required". This fixes bug #66792.
	  - If MaxLength is set on attribute DataColumn, the mapped schema
	    type should contain maxLength facet. This fixes bug #66793.

2004-10-04  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs : For a row, when a relation is not nested, then it is
	  still output target since it won't be written as a child of its
	  parent. It fixes bug #66379.

2004-10-03  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs : Attribute constraint field XPath must be written as
	  @blah. This fixes bug #66366.

2004-09-28 Umadevi S <sumadevi@novell.com>
	* DataRow.cs - checked for Enforceconstraints, while using indices to search for related rows

2004-09-24  Sureshkumar T  <tsureshkumar@novell.com>

	* DataSet.cs : Don't check constraints for dataset clear
	* DataRowCollection.cs : check for EnforceConstraints flag 
	before checking foriegn key constraints in Clear method
	* DataTable.cs : Redundant checking removed in Clear method as it is
	checked in DataRowCollection.Clear method. 


2004-09-19  Sureshkumar T <tsureshkumar@novell.com>
	* DataRow.cs : while deserialization of dataset, adding a current row precedes the original row.
		       hence, adding a row cache is necessary if the original row happens to be current.
		       fixed bug #63097

2004-08-23  Martin Baulig  <martin@ximian.com>

	* XmlDataInferenceLoader.cs (Driver): Make this class internal,
	not public.

2004-08-18 Umadevi S <sumadevi@novell.com>
	* DataView.cs - Completed most of the event handling. 
	Thanks to Punit Todi <punit_todi@da-iict.org> for implementing most of it.
	Thanks to Boris Kirzner <borisk@mainsoft.com> for commenting and suggesting changes to the implementation.
	* DataTable.cs - Changed Access modifiers of class/methods since it was used by DataView.

2004-08-06  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs : DataSet's ExtendedProperties were not XmlConverted.

2004-08-05  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlConstants.cs : Added constants for "msprop" support.
	* DataSet.cs : ExtendedProperties should be written in the schema.
	  This fixes bug #61233.

2004-07-27  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs : on serialization to XmlWriter, XmlConvert should be
	  used. There were also some culture dependency problems to write int.

2004-06-27  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlDataInferenceLoader.cs : It was not always filling relation
	  child table information correctly. This fixes bug #60742.

2004-06-23 Umadevi S <sumadevi@novell.com>
	* UniqueConstraint.cs :changed a ifdef true to ifdef NET_1_1

2004-06-22  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs : Fixed ReadXml(). When ReadMode is ReadSchema and the
	  schema is inside the document element (as created in XmlWriteMode
	  .WriteSchema), it should read schema from that non-document element.
	  This fixes one case reported in bug #60470.

2004-06-20  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlDataInferenceLoader.cs : Kindly reject xml schema document as a
	  inference target. For bug #60470. (MS does not support schema
	  document inference and results in unconsistent dataset structure.)

2004-06-20  Atsushi Enomoto  <atsushi@ximian.com>

	* DataTableCollection.cs : reset the table's DataSet to null when
	  removing a table from this collection.
	* DataTable.cs : When Namespace is not specified explicitly, its
	  Namespace property reflects DataSet's Namespace if exist.
	  This fixes bug #60469.

2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>

	* DBConcurrentcyException.cs: CRLF to LF
	* DataViewSetting.cs: CRLF to LF

2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>

        * DataViewSetting.cs: renamed fields to match MS.NET

2004-06-18  Gert Driesen <drieseng@users.sourceforge.net>

        * DBConcurrencyException.cs: fixed serialization compatibility with
        MS.NET

2004-06-17  Boris Kirzner  <borisk@mainsoft.com>

	* ChangeLog : Fix for misspelled words.

2004-06-17  Boris Kirzner  <borisk@mainsoft.com>

	* DataRowCollection.cs : Removed onColumnRemoved since it is not in use.
	
2004-06-17  Boris Kirzner  <borisk@mainsoft.com>

	* DataTable.cs :
	  - Table stores default values for columns in special default values row. 
	  It is allocated once (in NewRow).
	  - DataTable.Copy rewrited. It works with uninitialized rows for better perfomance.
	  - OnRemoveColumn has nothing to perform by now.

2004-06-17  Boris Kirzner  <borisk@mainsoft.com>

	* DataRow.cs : 
	  - Changed access of original, current and proposed indexes to internal.
	  - ColumnErrors reviewed : now column errors stored in ArrayList and allocated on demand only.
	  - Added new DataRow constructor that creates uninitialized DataRow (used in DataTable.Copy).
	  - Use DataContainer.CopyValue and default values row for faster set of default values in row.
	  - SetColumnValue become CheckValue. Now it does not changes the value, but only checks for its correctness.
	  Care about Null and DBNull values is now in DataContainer.
	  - Use DataColumn.AutoIncrementValue and GetInt64 for faster set of autoincrement value.
	  - Use Datacontainer.CopyValue and default values row to speed up CheckChildRows.
	  - Fix in CopyState : clone column errors.
	  - Removed CollectionChanged and onColumnRemoved since we are not using both of them anymore.

2004-06-17  Boris Kirzner  <borisk@mainsoft.com>

	* DataColumnCollection.cs : 
	  - Fix : Add()	now delegates to Add(DataColumn).
	  - autoIncrement list holds DataColumn objects, and not just column names.

2004-06-17  Boris Kirzner  <borisk@mainsoft.com>

	* DataColumn.cs : 
	  - AutoIncrementValue fixes. Now AutoIncrement uses DataContainer.GetInt64 to avoid boxing.
	  - DefaultValue fixes. Default value from now on is also stored in special record in 
	  DataTable, so we're able to set default value for the column faster (typed).
	
	
2004-06-15  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs : children of non-root rows were not properly written.
	  Fixed bug #53959.

2004-06-10 Umadevi S <sumadevi@novell.com>
	* DataRelation.cs - Constructor
	- The datatypes of the parentcolumn(s) and the childcolumn(s) should match

2004-06-06  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlSchemaDataImporter.cs : We should fill Namespace for DataTable.

2004-06-04  Gert Driesen <drieseng@users.sourceforge.net>

	* Constraint.cs: marked methods internal to fix public API
	* ConstraintCollection.cs: to fix public API, use 
	DataTable.fInitInProgress to check whether initialization 
	of DataTable is in progress
	* DataColumn.cs: added stubs for missing methods
	* DataRowBuilder.cs: marked Table property internal to
	fix public API
	* DataSet.cs: removed extra empty destructor, marked 
	OnMergeFailed internal to fix public API
	* DataTable.cs: use fInitInProgress field to hold init
	status, to match MS.NET
	* DataView.cs: added missing attributes on IsOpen

2004-06-03  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs : Use NameTable.Get() before calling LookupNamespace()
	  in XmlNamespaceManager.

2004-06-03  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs : complex table content child was not properly added
	  when it is the only one child in the parent table. Fixed bug #53959.

2004-06-02  Gert Driesen <drieseng@users.sourceforge.net>
       * DataTableTypeConverter.cs: added
       * DataView.cs: added missing attribute on Table property
       * DataViewManager.cs: moved attribute to correct property
       * UniqueConstraint.cs: removed extra ReadOnly attribute from
        IsPrimaryKey property

2004-06-01  Atsushi Enomoto  <atsushi@ximian.com>

	* DataRow.cs : ColumnsChanged event is not required in .ctor().

2004-06-01  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlDataReader.cs : type change is required before setting value
	  string to row item.

2004-05-31  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs : Loop-break of the last fix was incorrect.

2004-05-31  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs : When a row has no parent row but the table has parent
	  relation(s), that row had been always ignored.

2004-05-31  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlDataInferenceLoader.cs : Fixed GetMappedTable() that incorrectly
	  rejected same-named tables in different hierarchy. Thanks to Boris.

2004-05-31  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlDiffLoader.cs : Added some Skip() that is required not to go to
	  infinite loop. Thanks to Boris for this fix.

2004-05-31  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlDataInferenceLoader.cs : XmlSchema elements should not be infered.
	  Thanks to Boris for this fix.

2004-05-30  Atsushi Enomoto  <atsushi@ximian.com>

	* DataTable.cs : serialization .ctor() should use XmlReadMode.DiffGram
	  for ReadXml(). Thanks to Boris.

2004-05-27  Boris Kirzner  <borisk@mainsoft.com>
	* DataRow.cs : 
		- CheckReadOnlyStatus : use typed (and faster comparing).
		- EndEdit : bug fix - do not dispose record if it holds original version.
		- SetValuesFromDataRecord : Take care about autoincrement columns.
		

2004-05-27  Atsushi Enomoto  <atsushi@ximian.com>

	* MergeManager.cs : don't output debug message to Console.

2004-05-27  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlDataInferenceLoader.cs : Namespace are not imported to the table
	  structure. Thanks to Boris Kirzner for the fix.

2004-05-27  Umadevi S <sumadevi@novell.com>
         * DataRelationCollection.cs - fixed nunit test errors

2004-05-27  Umadevi S <sumadevi@novell.com>
	 * DataTableCollection.cs - fixed nunit test errors

2004-05-21  Atsushi Enomoto  <atsushi@ximian.com>

	* DataColumnCollection.cs : NullReferenceException was thrown when
	  the table was not found.
	* DataRowCollection.cs :
	  Find() just returns null for null value under MS.NET 1.1.
	  RemoveAt() should also avoid to call AcceptChanges() like Remove().
	* UniqueConstraint.cs : in AssertConstraint() throw ConstraintException
	  directly under MS.NET (for nunit test).

2004-05-21  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlSchemaDataImporter.cs : Setting startindex in LastIndexOf() 
	  caused problem on qualified name to get schema Field name.

2004-05-21  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlDataReader.cs : Now data reader is namespace aware in all places.
	  When table's namespace is different, it entered to infinite loop.

2004-05-19  Boris Kirzner  <borisk@mainsoft.com>
	* MergeManager.cs : AdjustSchema now updates by reference new created table,
	so in Merge you do not need to lookup for it (were unable to do this for unnamed tables).
	Code styling.
	
2004-05-19  Boris Kirzner  <borisk@mainsoft.com>

	* DataColumn.cs : In set_Item[int] - if autoincrement, adjust next autoincrement value.
	* DataColumnCollection.cs : fixed parantethes.
	* DataRow.cs : 
		- AcceptChanges : do nothing if row state is unchanged.
		- GetChildRows, GetParentRows  : bug fix (use correct index).
	* DataRowCollection.cs : bug fix (compare all row's values).
	* DataTable.cs : bug fix (use correct row version).
	
2004-05-20  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlSchemaDataImporter.cs : xs:positiveInteger is mapped to ulong.
	  When content type is Mixed, text column is not required (it is
	  required only when the complex type has no particle). 
	  "Repeated element" column is also created (considering maxOccurs=0 
	  and complex content extension).

2004-05-20  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlSchemaDataImporter.cs : XmlSchemaGroupBase was not handled 
	  properly.

2004-05-20  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlSchemaDataImporter.cs : Removed unused code and extra MonoTODO.
	  Fixed relation inference to consider attribute XPath.

2004-05-19  Atsushi Enomoto  <atsushi@ximian.com>

	* DataColumn.cs : Fixed set_Item[int]. Convert.ToInt64(DBNull.Value)
	  always fails.

2004-05-19  Boris Kirzner  <borisk@mainsoft.com>

	* DataColumn.cs - removed default member attribute.

2004-05-19  Boris Kirzner  <borisk@mainsoft.com>

	* DataColumn.cs,
	  DataColumnChangeEventArgs.cs,
	  DataColumnCollection.cs,
	  DataRow.cs,
	  DataRowCollection.cs,
	  DataTable.cs,
	  Index.cs : Data storage in the row is redesigned. Now data is stored in 
	  typed containers inside DataColumn. Row holds its versions as indexes inside
	  each of data container, accessed through the row that holds it.

2004-05-19  Boris Kirzner  <borisk@mainsoft.com>

	* UniqueConstraint.cs - added comment.
	
2004-05-19  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlDataInferenceLoader.cs : Don't add already-existing DataTable to
	  DataSet.

2004-05-17  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs,
	  XmlDataInferenceLoader.cs,
	  XmlDataReader.cs,
	  XmlSchemaDataImporter.cs : XmlDecode every local name to read and
	  XmlEncode every local name to write. This should fix bug #58268.

2004-05-17  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs : Implemented ignored namespaces in InferXmlSchema().
	  Supported repeated elements. Removed MonoTODOs.
	* XmlDataInferenceLoader.cs : Design change to support ignored
	  namespace and repeated elements.
	* XmlSchemaDataImporter.cs : Added mapping support classes.

2004-05-15  Atsushi Enomoto  <atsushi@ximian.com>

	* CustomDataClassGenerator.cs :
	  Added property parent "[foo]Row" and children "Get[foo]Row" support
	  for custom DataRow classes.
	  Fixed DataColumn property accessibility (public --> internal).

2004-05-14  Atsushi Enomoto  <atsushi@ximian.com>

	* CustomDataClassGenerator.cs :
	  - Put classes inside custom DataSet class.
	  - Added automatic DataRelation creation support.
	  - Added Constraints creation support. That is done separate from
	    relations, since they might be independently created.
	  - Added non-MS public DataRelation fields.
	  - Removed extraneous "DataRelation type generation" code.
	  - Fixed custom_dataset.Initialize() not to create "c" field that
	    was created more than once.
	  - Implemented AddxxxRow() that takes parameters for every column.

2004-05-14  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlSchemaDataImporter.cs : When primary key is used more than once,
	  DataRelation borked because of empty parent column name.

2004-05-14  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlSchemaDataImporter.cs : When Creating constraints with related
	  to DataRelation creation, also set PrimaryKey to the parent table.

2004-05-14  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlSchemaDataImporter.cs : 
	  Design change to add indirect table and relation structures.
	  Support for "relation" annotation for local element.
	  Support for repeatable simple element column (maxOccurs > 1).
	  Fixed handling of Nested property on DataRelation (for globally
	  annotated relation, Nested is false).

2004-05-13  Atsushi Enomoto  <atsushi@ximian.com>

	* DataRow.cs : Added DataElement property to avoid storing every row-
	  element mapping. It stored even for nodes that should be removed.

2004-05-13  Umadevi S <sumadevi@novell.com>

	* RelationshipConverter.cs - Stubbed this class
	* DataRelation.cs - added TypeConveterAttribute

2004-05-13  Umadevi S  <sumadevi@novell.com>

	* DataColumnCollection.cs - Added ResDescriptionAttribute
	* DataRelation.cs - Added TypeConverterAttribute
	* DataRelationCollection.cs - Added DefaultPropertyAttribute
	* DataRowView.cs - Added GetHashCode method with a TODO tag
        * DataSet.cs - Added DesignerAttribute
	* DataView.cs - Added DesignerAttribute
        * DataViewManager.cs - Added DesignerAttribute
 	* DataViewSetting.cs - Added TypeConverterAttribute
	
2004-05-12  Atsushi Enomoto  <atsushi@ximian.com>

	* DataRow.cs : Added XmlDataElement initialization code.

2004-05-11  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlDataInferenceLoader.cs :
	  It now requires XmlDocument as input.  Improved identification of
	  DataSet element.  Removed extra lines.
	  Moved boresome design notes to bottom of the source and
	  added standalone runnable driver (not included on build).
	* DataSet.cs :
	  Update with related to the change above.
	  WriteXml() should call Flush() after writing. This fixes bug #58327.
	* XmlSchemaDataImporter.cs :
	  Improved indentification of DataSet element.

2004-05-11  Gert Driesen (drieseng@users.sourceforge.net)
	* DataTable: marked initStatus enum internal

2004-05-09  Gert Driesen (drieseng@users.sourceforge.net)
	* DataTable.cs: removed TypeConverterAttribute, marked RowsExist
	methods internal
	* DataRowView.cs: removed extra Error property
	* DataRow.cs: reduced accessibility of CollectionChanged method 
	to private
	* DataColumnPropertyDescriptor.cs: made class internal
	* DataColumn.cs: removed extra TypeConvertorAttribute
	* ConstrainCollection.cs: marked PostEndInit method internal

2004-05-07  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs : 
	  In WriteXmlSchema(), when complex type contains simple type content
	  attributes must not added to XmlSchemaComplexType directly. It
	  causes schema compilation error.
	  DataRelation should not be output when related columns are hidden.

2004-05-07  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlDataInferenceReader.cs : Added. It does InferXmlSchema() (it is
	  also expected to do ReadXml(), but I will remove that feature and
	  support column reordering).
	* XmlSchemaDataImporter.cs : Always initialize dataset name.
	  Always set Nested and primary key for parent table.
	* XmlDataReader.cs : Now it is used.
	  Top level element might not match to dataset name nor any table 
	  name, but still possible to read content tables.
	  Handle empty element correctly in some places.
	  Handle Fragment mode (read up XmlReader to the end).
	* DataSet.cs : Modified InferXmlSchema() and ReadXml() to use
	  XmlDataInferenceLoader and XmlDataReader.

2004-05-06  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs :
	  Eliminated CRLF injection.
	  More clear message in Clear().
	  Updates reflecting XmlSchemaDataImporter change.
	  Added duplicate check for XmlSerializerNamespaces in BuildSchema().
	  Don't use xmlns attribute for UnhandledAttributes (its not mandatory
	  but that depends on different behavior from ms.net).
	  Set locale also for DataTable.
	  Add xs:element only when target namespace matches to the
	  element's namespace. Otherwise, add xs:import for external namespace.
	  Put xs:sequence for dataset element's particle _only when_ actual
	  contents exist.

2004-05-06  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlDataReader.cs : Added. This class will work better when our
	  schema inference and schema read engine gets improved. (It contains
	  standalone testable Driver class.)

2004-05-06  Atsushi Enomoto  <atsushi@ximian.com>

	* ForeignKeyConstraint.cs : Check step change. Existence then column
	  validity. just for tests.
	* XmlSchemaDataImporter.cs : code simplification. reduced extraneous
	  fields.

2004-05-05  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs : Ignore empty content only when output type is diffgram.

2004-05-05  Atsushi Enomoto  <atsushi@ximian.com>

	* CustomDataClassGenerator.cs : Modified that DataSet contains each
	  DataTable field so that each table property can access them directly.
	  (plus, modified standalone code driver code: shouldn't affect)

2004-05-05  Boris Kirzner  <borisk@mainsoft.com>

	* DataView.cs , DataRowView.cs : Added implementation to basic methods and properties.
	  
2004-05-05  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlSchemaDataImporter.cs : 
	  SimpleContent column support.
	  Annotated relation support.
	  Top-level element is counted only when its type is complex.
	  xs:anyType is no longer treated as complex type.
	  dataset existence is mandatory now. 
	  Improved DataType and DefaultValue support.
	  Attribute namespace is properly handled now.
	  Prohibited attribute is now treated as hidden column.
	  Reject list or union simple type.

	  Still incomplete 1) to read relationship in some cases, 2) to 
	  determine whether an element is dataset or table, 3) thus to
	  exclude extraneous column, 4) to remove extraneous *_Id column.

2004-05-05  Atsushi Enomoto  <atsushi@ximian.com>

	* DataTable.cs :
	  We had better reuse DataSet's ReadXmlSchema() and ReadXml() in
	  serialization .ctor() (thus schema read/inference should be easier).
	  DataRowSorter should consider Table's Locale.

2004-05-05  Atsushi Enomoto  <atsushi@ximian.com>

	* DataColumnCollection.cs : We already had AutoIncrementValue(), so
	  use it instead of duplicating logic.

2004-05-05  Atsushi Enomoto  <atsushi@ximian.com>

	* ConstraintCollection.cs :
	  Use Table.CaseSensitive and Table.Locale to compare strings.
	  Duplicate constraint name exception does not occur under .NET 1.1.

2004-05-04  Lluis Sanchez Gual  <lluis@ximian.com>

	* XmlSchemaDataImporter.cs: Added little type check.

2004-05-04  Lluis Sanchez Gual  <lluis@ximian.com>

	* DataSet.cs: Implemented support for runtime serialization. Fixed support
	  for xml serialization.
	* XmlDiffLoader.cs: Skip diffgram element when it is empty.

2004-04-30  Umadevi S  <sumadevi@novell.com>
	* DataColumnCollection.cs : Fixed nunit test errors, removed TODOs
	* DataTableCollection.cs  : Tested and removed TODO
	* TypedDataSetGeneratorException.cs : Fixed a couple of TODOs	

2004-04-29  Atsushi Enomoto  <atsushi@ximian.com>

	* DataRow.cs : My previous patch unintentionally reverted Boris patch.

2004-04-29  Boris Kirzner <borisk@mainsoft.com>

	* UniqueConstraint.cs : Constraint columns becaomes unique after adding constraint ifand only if 
	constraint is defined on single column.

2004-04-29  Atsushi Enomoto  <atsushi@ximian.com>

	* DataRowCollection.cs : .NET 1.1 throws InvalidConstaintException,
	  not ArgumentException (maybe changed after 1.1).

2004-04-29  Atsushi Enomoto  <atsushi@ximian.com>

	* DataRow.cs : When Column was added and it was AutoIncrement column,
	  it extended the item object array incorrectly.
	  (Plus tiny comment and incorrect indentation fix.)

2004-04-29  Boris Kirzner <borisk@mainsoft.com>

	* MergeManager.cs : added ( incomplete yet ) support for merging DataSet schema.

2004-04-29  Boris Kirzner <borisk@mainsoft.com>

	* DataRow.cs : Bug fix in CopyValuesToRow().
	
2004-04-29  Boris Kirzner <borisk@mainsoft.com>

	* UniqueConstraint.cs : There is no reason to mark constraint's columns as unique, because
	  each of the columns should not be unique, but only all the constraint's columns together.
	
2004-04-28  Boris Kirzner <borisk@mainsoft.com>
	* DataRow.cs :
	  - Perfomance fixes: 
		- Added using of list of autoIncrement columns
		- SetColumnValue receives also DataColumn to avoid duplicate lookup in DatacolumnCollection
	  - Fix in CheckNullConstraints
	  - Fix in this[] and HasVersion() : when evaluating an expression deleted rows values can be accessed.
	  - Fix in SetColumnValue() , added CanAccess() method to avoid case of accessing internal array values berore it actually allocated.
	  - Added onColumnRemoved() method to threat column removal accurately.
	
	* DataRowCollection.cs :
	  - Added using of DataRow._nullConstraintViolation (for perfomance fix in EndLoadData())
	  - Added method onColumnRemoved() - calls each row's onColumnRemoved() (to ensure column removal is treated accurately)
	
	* DataTable.cs :
	  - Call DataRowCollection.onColumnRemoved() in OnRemoveColumn() (to ensure column removal is treated accurately)
	
	* DataColumnCollection.cs :
	  - Perfomance fixes :
		- collection holds a list of its autoIncrement columns (avoids unnesessary lookup through whole collection)
		- collection holds mapping from column names to DataColumn objects (avoids lookup through whole collection).
		- automatic creation of column names rewrited (bug fixes + perfomance improvement)
	
	* DataColumn.cs :
	  - Uses autoincrement list of a table

2004-04-27  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlDataLoader.cs : Even when it should ignore schema, it was 
	  infering schema.
	* XmlSchemaDataImporter.cs : DataRelation creation support.
	  Improved "DataSet" element handing. When attributes are on the
	  element, it is not a "DataSet" element.
	  Fixed parent key column name.
	  Unique name creation is not required. Just raise an error.
	  Fill facet also for attribute types.

2004-04-27  Atsushi Enomoto  <atsushi@ximian.com>

	* DataRow.cs : Null check for CheckReadOnlyStatus() and
	  CheckNullConstraints(), with some coding guideline fixes.
	  Type check should be done by Type instance comparison.

2004-04-27  Atsushi Enomoto  <atsushi@ximian.com>

	* DataColumnCollection.cs : When add a column to the collection, fill
	  auto-increment column.

2004-04-26  Boris Kirzner <borisk@mainsoft.com>

	* DataColumn.cs : Small perfomance fix (avoid unnesessary string concatenation).
	
2004-04-26  Atsushi Enomoto  <atsushi@ximian.com>

	* CustomDataClassGenerator.cs : Added.
	* TypedDataSetGenerator.cs : Implemented Generate().
	  Changed GenerateIdName() to call CustomDataClassGenerator.MakeSafeName
	* XmlSchemaDataImporter.cs : Table Locale should be supplied.

2004-04-25  Boris Kirzner <borisk@mainsoft.com>

	* DataTable.cs : Small perfomance fix (avoid unnesessary string concatenation).
	
2004-04-25  Boris Kirzner <borisk@mainsoft.com>

	* Constraint.cs : Small perfomance fix (avoid unnesessary string concatenation).

2004-04-23 Umadevi S (sumadevi@novell.com)
	*  DataRow.cs: Checked BeginEdit,EndEdit,CancelEdit and Delete methods
	   - Added error handling to the above methods

2004-04-22  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs : Data should be read when mode is IgnoreSchema (well,
	  the support is incomplete yet).
	* XmlDataLoader.cs : 
	  Reverted ReadModeSchema() argument change. XmlReadMode would be 
	  useful to handle IgnoreSchema.
	  Don't overwrite DataSetName when mode is not such kind.
	  Set Prefix and Namespace as well as DataSetName.
	  AllowDBNull looks set false by default for element column.
	  Set unique constraint as primary key when infering the table schema.

2004-04-21  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs : 
	  Never set null string for Prefix and Namespace.
	  In InferXmlSchema() when null XmlReader is passed, just do nothing.
	  In WriteXmlSchema(string), earlier try block.
	  In BuildSchema(), try to add serialization namespaces for each
	  namespaces in DataSet/DataTable/DataColumn.
	  Removed namespace argument from WriteColumnAsElement() and don't
	  overwrite when namespace is "". This fixes bug #57330.
	* DataColumn.cs : For Namespace and Prefix, never set null.

2004-04-21  Boris Kirzner <borisk@mainsoft.com>

	* XmlSchemaMapper.cs : Check for not null unique constraint in ReadXmlSchemaKeyref()
	  before creating and adding foreign key constraint and relation. 

2004-04-21  Boris Kirzner <borisk@mainsoft.com>

	* MergeManager.cs : In AdjustSchema() source table clone should be added
	  and not the table itself. 

2004-04-21  Boris Kirzner <borisk@mainsoft.com>

	* DataSet.cs : 
	  - CaseSensitive : Additional fix (removed unnesessary assignment).
	  - CopyProperties : Do not try to copy ExtendedProperties if the collection is empty.

2004-04-21  Boris Kirzner <borisk@mainsoft.com>

	* DataTable.cs : Ensure that DataSet property is not null before using it in Clear().
	  
2004-04-20  Boris Kirzner <borisk@mainsoft.com>

	* DataTable.cs : 
	  - EndLoadData() : perfomance fix in case of null constraint violation
	    during data load (also in DataRow.cs).
	  - CaseSensitive : If DataTable belongs to DataSet it should always use
	    DataSet.CaseSensitive untill explicitly changed.
	  - CopyProperties() : do not try to copy ExtendedProperties if the collection is empty.
	  
	* DataRow.cs :
	  - Pefromance fix in case of null constraint violation
	    during data load (also in DataTable.cs).
	  - CollectionChanged() : use correct column number after new DataColumn was added
	    (differs in case some DataColumn was previosly removed).
	  - EndEdit() - throw away  proposed values only after CheckChildRows() complete.

2004-04-20  Boris Kirzner <borisk@mainsoft.com>

	* DataColumnCollection.cs : Since unique constraint is added now
	  in DataColumn.SetTable() the additional creation of constraint in 
	  DataColumnCollection.Add() is redundant and causes exception - fixed.
	  
2004-04-19  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlDataLoader.cs : Added "never add data rows" mode.
	  Removed unused code. However, it is temporary fixes to unify
	  ReadXml() and InferXmlSchema().
	* DataSet.cs : Implemented InferXmlSchema(), though it is incomplete.

	  I'll create another XmlDataLoader since there are many problems
	  such that 1) it is too waste to read the entire xml into an
	  XmlDocument, 2) it does not handle attributes correctly, and 3) it
	  must handle "ignored namespaces".

2004-04-19  Atsushi Enomoto  <atsushi@ximian.com>

	* Added XmlSchemaDataImporter.cs (new schema reader).
	* DataSet.cs : Use XmlSchemaDataImporter (right now for DataSet only)
	  for ReadXmlSchema().
	  Let schema reading work to ReadXmlSchema().
	  Don't return ReadSchema when argument read mode was DiffGram.

2004-04-15 Umadevi S (sumadevi@novell.com)
	*  Updated Clone/Copy methods in DataSet along with Testcase
	*  ForeignKeyConstraint.cs - special ctor implemented 
	    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).
	* Changes in  ConstraintCollection.cs for the above
        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.
	

2004-04-15  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlSchemaMapper.cs : set parent key and foreign key info to 
	  DataRelation when reading refkey constraints.
	  Supply constraint name for fkey.

2004-04-15  Atsushi Enomoto  <atsushi@ximian.com>

	* XmlDataLoader.cs : Don't overwrite existing DataSetName. When read
	  mode is Auto, just ignore the schema if there is already schema info.
	* DataSet.cs : Similarly ignore schema info for XmlReadMode = Auto.

2004-04-14  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs :
	  - In MS output, XML declaration looks to have standalone decl (yes).
	  - ReadXml(reader) just calls to ReadXml(reader, XmlReadMode.Auto)
	  - ReadXml(reader, mode)
	    1) return originally specified mode, instead of (always) Auto. 
	    2) Check empty reader.
	    3) Check diffgram schema and content separately.
	    4) When diffgram exists, remaining (the same-level) contents 
	       won't be consumed. 
	    5) Similar fact should be applied, but somewhat different. 
	       InferSchema and IgnoreSchema just skips, Fragment reads both
	       schema and content, others just reads schema.
	  - Removed unused code.
	* XmlDataLoader.cs :
	  - Read() should skip in some ReadMode.
	  - Don't compare schema element name as case-insensitive (well,
	    should schemas be checked here?)
	  - Avoided BuildDocument() not to create confusing DataSet
	    document element.
	  - Don't add any tables when reader has single element.
	* XmlDiffLoader.cs :
	  When target table was not found, MS.NET doesn't raise an error.
	* XmlSchemaMapper.cs :
	  When XmlSchema.Read() left xml reader at </xs:schema>, read once.

2004-04-13  Atsushi Enomoto  <atsushi@ximian.com>

	* DataSet.cs :
	  - InferXmlSchema(): Throw explicit NotImplementedException now.
	  - Don't put XML declaration everywhere. Write just for filename arg.
	  - xmlns="" should not be written. Maybe WebService problem is 
	    because default namespace is overwritten. This patch will keep
	    the WS problem away and actually fixes some unit tests (i.e. use
	    explicit String.Empty for null namespace in WriteStartElement()).
	  - MoveToContent() should always be called, not only when 
	    LocalName="xml". It will ignore prolog (DTD, PI, comment etc.).
	  - Even XmlReadMode is DiffGram, reader might not be "diffgram"
	    element. As to MSDN, diffgram does not contain schema.

2004-04-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* DataTable.cs: made _initStatus private so that System.Data is CLS
	compliant.

2004-04-13 Umadevi S   <sumadevi@novell.com>
	*  UniqueConstraint.cs:
	*  ConstraintCollection.cs:
	*  DataTable.cs:
	- Implemented a Constructor for UniqueConstraint.cs
	- Used  EndInit on DataTable  to call a delegate which adds the
	  constraints passed to the most recent call of AddRange().Used
	  AddRange() on ConstraintCollection to check whether
	  DataTable.BeginInit has occurred.  If yes, save the argument
	  constraint collection passed, then return.  If no, Check whether the
	  constraints are of type UniqueConstraint and initialized with the
	  special constructor  If yes Initialized the table property of this
	  UniqueConstraint object with table assosciated with the current
	  instance of ConstraintCollection class.

2004-04-07  Marek Safar  <marek.safar@seznam.cz>

	* Constraint.cs: changed ClsCompliant to CLSCompliant, build fix.

2004-04-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* Constraint.cs:
	* DataColumnCollection.cs:
	* DataRelationCollection.cs:
	* DataRowCollection.cs:
	* DataTableCollection.cs:
	* InternalDataCollectionBase.cs:
	* Node.cs: CLS compliance for System.Data. Patch by Gert Driesen.
	Fixes bug #56557.

2004-04-05  Jackson Harper  <jackson@ximian.com>

	* DataTable.cs: Add rows to the row list if there is no filter.
	
2004-03-31  Juraj Skripsky <juraj@hotfeet.ch>

	* DataColumn.cs : Setting Caption to null sets it to the empty string
	(ms.net behaviour, testcase is in DataColumnTest).
	
	* DataRow.cs : Evaluate DataColumn.Expression when such a column's
	value is requested.

2004-03-30 Lluis Sanchez Gual <lluis@ximian.com>

	* DataColumn.cs: In Expression setter, set the expression member even if 
	  it is an empty string.
	* DataSet.cs: Support serialization of byte[] columns.
	* XmlDataLoader.cs: Support deserialization  of Guid columns. 
	  Set MappingType.Attribute to columns infered from attributes.

2004-03-29  Juraj Skripsky <juraj@hotfeet.ch>

	* ExpressionElements.cs : remove
	* DataColumn.cs, DataRelationCollection.cs, DataTable.cs :
	Integration of new Mono.Data.SqlExpressions classes used in
	DataTable.{Select, Compute}.
	Fixes bug #55503 and lots of failures in DataTableTest.cs.

2004-03-28  Juraj Skripsky <juraj@hotfeet.ch>

	* Index.cs: Simple fix in ComparePartialRowNonUnique.
	This fixes bugs #56129 and #56014.

2004-03-25 Lluis Sanchez Gual <lluis@ximian.com>

	* DataSet.cs: In WriteXml (string filename, XmlWriteMode mode), close the
	  stream after writing the dataset. This fixes bug #52581.
	  Also added several writer.Close into finally blocks, so writers are properly
	  closed in case of an exception.

2004-03-12  Andreas Nahr <ClassDevelopment@A-SoftTech.com>

	* Constraint.cs: DO NOT USE the consts scheme if types can be referenced directly!
	* DataColumn.cs: DO NOT USE the consts scheme if types can be referenced directly!
	* ColumnTypeConverter.cs: Added stub
	* DefaultValueTypeConverter: Added stub
	* ConstraintConverter.cs: Added stub

2004-03-04 Eran Domb <erand@mainsoft.com>

	* XmlDataLoader.cs : Xml reading reviewed. Added support for additional xml formats as described
	in MS.NET documentation (missing DataSet element etc).

2004-03-04 Eran Domb <erand@mainsoft.com>

	* Node.cs : Added.
	* Index.cs : Rollback last changes.
	
2004-03-03  Atsushi Enomoto <atsushi@ximian.com>

	* Index.cs : justa build fix.

2004-03-03 Eran Domb <erand@mainsoft.com>
	
	* Index.cs : Added.
	* Constraint.cs, ForeignKeyConstraint.cs, UniqueConstraint, ConstraintCollection.cs, DataColumn.cs,
	DataRow.cs, DataRowCollection.cs, DataSet.cs, DataTable.cs : Changes made for using indexes on tables.
	This changes made for performance improvement.

2004-02-08 Eran Domb <erand@mainsoft.com>

	* XmlSchemaMapper.cs : Read columns is they were written as SimpleContent or as Attributes.

2004-02-08 Eran Domb <erand@mainsoft.com>

	* DataSet.cs: Fix some bugs in ReadXml().

2004-02-04 Lluis Sanchez Gual <lluis@ximian.com>

	* DataSet.cs: Added missing method that broke the build.

2004-02-04 Eran Domb <erand@mainsoft.com>

	* DataRowCollection.cs (InsertAt): Add a check for null row. Replace check of IndexOf with RowId for
	better performance.
	* DataSet.cs (GetTableSchema) : Add supprot for simple content columns. Change the condition for a case
	when all column are attributes (elements count is 0), we still want to add the relations. No relations
	can be on simple contents.
	(AddUniqueConstraints) Check that the column of the constraint are not hidden.
	(AddForeignKeys) Check that the relation has constraints attach to it.
	* XmlConstants.cs : Added constant.

2004-02-04 Eran Domb <erand@mainsoft.com>
	
	* DataSet.cs : GetSchemaSerializable() return null and not BuildSchema().
	DoWriteXmlSchema calls BuildSchema ().

2004-02-04 Lluis Sanchez Gual <lluis@ximian.com>

	* DataRow.cs: Added SetOriginalValue(), which is used to set the original
	  value of a column.
	* DataRowCollection.cs: In InsertAt(), perform the correct checks and
	  attach the row.
	* DataSet.cs: Fixed method GetChanges(): Parent rows of modified rows must
	  also be added to the dataset.
	  In WriteTable(), do not write unchanged rows when writing the original
	  version of the table.
	  Added WriteIndividualTableContent(), for writing the contents of a single
	  table.
	  Changed BuildSchema and related methods, so it can generate a schema for
	  any set of tables, not just the tables of the dataset (needed for 
	  single datatable serialization).
	* DataTable.cs: Implemented serialization constructor and GetObjectData method.
	  Also implemented some ReadXmlSchema methods.
	* XmlDiffLoader.cs: Read and process the xml document directly from XmlReader,
	  instead of loading the full dataset in an XmlDocument. It is faster and
	  saves memory. Also fixed several problems when generating the changes.
	* XmlSchemaMapper.cs: Support reading schemas for single tables (used by
	  table serialization).

2004-02-02 Eran Domb <erand@mainsoft.com>

	* DataSet.cs : Add indentation to the xml serialization only if we create the XmlWriter.
	Add the namespace attribute even if namespace is an empty string for inteoperability with MS.NET.
	* DataTable.cs (NewRow): Create only one DataRowBuilder.
	Initiate new row with row id -1.
	* DataRow.cs : Add RowId property.
	* DataRowBuilder.cs : Add _rowId member.
	* DataRowCollection.cs (Add) : Use the RowId property of the new row to check if it is already exists in the collection.

2004-01-26 Eran Domb <erand@mainsoft.com>

	* XmlConstants.cs : Added some constants.
	* DataColumn.cs : Added a method to retrive AutoIncrement value.
	* XmlDataLoader.cs : Set the value of the foriegn key column, according to the value of the
	parent table column.
	* XmlDiffLoader.cs : Convert the value comming from the xml.
	* XmlSchemaMapper.cs (Read) : Set the DataSet namespace.
	 (ReadXmlSchemaSequence) : Change the logic that decides if this element is a column or a table.
	 (ReadXmlSchemaElement) : Set the locale of the dataset.
	 (ReadColumn) : Set the column type. Find if the column is AutoIncrement.
	 (GetColumnType) : New method to get the column type from the attribute value.
	 (ReadXmlSchemaUnique) : Improve parsing of XPath. Set the constraint as a PK if needed,
	 and add the constraint to the table.
	 (ReadXmlSchemaKeyref) : Improve parsing of XPath. Create the FK constraint and add it to
	 the table.
	* DataSet.cs : Improving writing of unique constraints, and foriegn key constraint. Givving them the correct names.
	 Writing more information to the schema for interoperability with ms.net.
	 Improve diffgarm writing mode.
	 

2004-01-21 Atsushi Enomoto <atsushi@ximian.com>

	* TypedDataSetGenerator.cs : Implemented GenerateIdName().

2004-01-21 Eran Domb <erand@mainsoft.com>

	* XmlDataLoader.cs (AddRowToTable) : Give thre new relation correct name.
	Do not set the child column to be AutoIncrement.
	Create the new column for the relation as MappingType.Hidden so they will not be serialized
	when writing the dataset to xml.

2004-01-20 Atsushi Enomoto <atsushi@ximian.com>

	* Added missing TypedDataSetGenerator.cs.

2004-01-08 Eran Domb <erand@mainsoft.com>

	* XmlSchemaMapper.cs : Fix a bug. Check if table already in DataSet before adding it.
	* DataSet.cs (ReadXml) : Fix bugs. Read correctly the xml file with XmlReadMode of DiffGram, 
	InferSchema, ReadSchema and IgnoreSchema.
	* XmlDataLoader.cs : All modes use the same logic.
	* XmlDiffLoader.cs : Adding BuildXmlDocument method to the class.

2004-01-06 Eran Domb <erand@mainsoft.com>

	* DataRelationCollection.cs : Use IndexOf in indexer.
	* DataSet.cs : Adding support for WriteXml with diffgram. Code style changes.
	* XmlDataLoader.cs : Set the DataSet.enforceConstraints to false before loading the tables.
	* XmlDiffLoader.cs : Reading nested tables.
	* XmlSchemaMapper.cs : Reading the relation.
	* XmlConstants.cs : Adding some constants.

2004-01-05  Jackson Harper <jackson@ximian.com>

	* DataView.cs: Set readonly property of property descriptor. This
	fixes bug #52598.
	
2004-01-01  Sanjay Gupta <gsanjay@novell.com>

	* DataRelationCollection.cs : Fixed incorrect generation of default 
	  Relation name.
	* DataSet.cs : Added missing functionality in WriteXml().
        * XmlConstants.cs : Added new constants.
 
2003-12-27  Atsushi Enomoto <atsushi@ximian.com>

	* DataSet.cs : Fixed incorrect WriteXml() signature.

2003-12-18  Jackson Harper <jackson@ximian.com>

	* DataView.cs: Implement AddNew, Delete, and OnListChanged.
	
2003-12-17  Atsushi Enomoto <atsushi@ximian.com>

	* DataSet.cs, XmlDataLoader.cs : Table name should be encoded before
	  they take shape of xml. This fixed bug #52240

2003-12-16  Tim Coleman <tim@timcoleman.com>
	* KeyRestrictionBehavior.cs:
		New stubs added for .NET 1.2
	* DataTable.cs:
		Changes for 1.2

2003-12-08 Eran Domb <erand@mainsoft.com>
	* DataColumn.cs (Expression) : Validate the expression.
	
	* DataRelationCollection.cs (IndexOf) : Added new method sensetive to case differences in relation name.
	(Contains, IndexOf, this[], Add) : Call new IndexOf when needed.
	
	* DataRow.cs (this[]) : Fix the condition for throwing RowNotInTableException.
	(RejectChanges) : Detach row when state was Added.
	(CollectionChanged) : Fix a bug.
	
	* ExpressionElement (ValidateExpression) : Fix a bug.
	
	* ForeignKeyConstraint.cs (AssertConstraint) : Added implementation. Check all rows from child table have
	a parent row in the parent table.
	(_validateColumns) : Fix bugs.
	
	* MergeManager.cs (AdjustSchema) : Fix a bug.
	
	* XmlDataLoader.cs (ReadModeInferSchema) : Change implementation. Now we can read nested xml, and we generate the relations
	between the tables.

2003-11-30 Eran Domb <erand@mainsoft.com>
	* DataColumnCollection.cs (this[string name]) : Use IndexOf to find the column.
	(Add) : Find if the new column name is the same as the one found in IndexOf.
	(IndexOf) : New method.
	(Contains) : Use new IndexOf.
	(IndexOf) : Use new IndexOf.
	
	* DataRelationCollection.cs (DataRelationCollection.AddCore) : Add The Relation to the collection.
	(DataSetRelationCollection.AddCore) : First add the UniqueConstraint.
	
	* DataRow.cs (this[int columnIndex, DataRowVersion version]) : Change exceptions.
	(Delete) : Detach row if the RowState was Added.
	(GetChildRows) : Get the array form the ChildTable.
	(GetParentRows) : Get the array from the ParenTable.
	
	* DataRowCollection.cs (Remove) : Check if row state is Detached to avoid exception.
	
	* DataSet.cs (IXmlSerializable.ReadXml) : Do not call MoveToContent and ReadEndElement - the XmlSerializationReader does it.
	
	* DataTable.cs (PrimaryKey) : Fix bugs.
	(Compute) : First call Select. Then create ExpressionAggregate to aggregate the Select result.
	
	* DataTableCollection.cs (Add) : Fix a bug.
	
	* ExpressionElement.cs (ValidateExpression) : Turning ValidateExpression to static.
	(Result) : Added new interface to AggregateExpression that get DataRow[] as a param.
	Some code style changes (tab instead of whit spaces, alignment, etc...).
	
	* ForeignKeyConstraint.cs (_validateColumns) : Throw correct exception.
	
	* MergeManager.cs (AdjustSchema) : Fix a bug.
	
	

2003-11-26  Miguel de Icaza  <miguel@ximian.com>

	* DataSet.cs: Add a few more missing methods, code style updated
	to Mono style.

2003-11-26  Tim Coleman <tim@timcoleman.com>
	
	* ConflictOptions.cs DataAdapterException.cs DataTableReader.cs
	* DbMetaData.cs FillOptions.cs IDataReader2.cs IDataRecord2.cs
	* IDataUpdatableRecord.cs IDbAsyncCommand.cs IDbAsyncConnection.cs
	* IDbExecutionContext.cs IGetTypedData.cs ISetTypedData.cs
	* LoadOption.cs OperationAbortedException.cs ResultSetOptions.cs
	* ResultSetSensitivity.cs StatementCompletedEventArgs.cs 
	* StatementCompletedEventHandler.cs UpdateOptions.cs:
		New classes added for NET_2_0
	* DBConcurrencyException.cs DataRelation.cs DataSet.cs DataTable.cs
	* DataTableCollection.cs DataView.cs ForeignKeyConstraint.cs:
		Modifications to add new NET_2_0 functions

2003-11-25  Tim Coleman <tim@timcoleman.com>
	* IDataSources.cs:
		New 1.2 class added

2003-11-21  Pedro Martínez Juliá  <yoros@wanadoo.es>

	* DataRow.cs: Detached row can be accesible (new rows from data
	table are detached). Closes but #51263.

2003-11-19  Eran Domb  <erand@mainsoft.com>
	* DataRow.cs : Throw exceptions if Row is Detached. 
	(EndEdit) : Check that we are not in middle of ChangeEvent.
	(AcceptChanges) : Detach the row.
	
	* DataRelation.cs : throw correct exception.
	*UniqueConstraint.cs : throw correct exception.
	

2003-11-09  Pedro Martínez Juliá  <yoros@wanadoo.es>

	* DataRow.cs: Use RemoveInternal instead of Remove because the last
	one uses Delete and AcceptChanges.

	* DataRowCollection.cs: When removing, Delete and AcceptChanges
	method from the row are called. Added an internal method that will
	be used by DataRow to "physically" remove the row from the list.

2003-11-09  Pedro Martínez Juliá  <yoros@wanadoo.es>

	* DataRowCollection.cs: To follow the specification: Remove and
	RemoveAt should remove the row. But needed to call DeletingDataRow
	to prepare the deleting.

	* DataRow.cs: Don't call DeletingDataRow when it is called by the
	method Table.Rows.Remove.

2003-11-09  Pedro Martínez Juliá  <yoros@wanadoo.es>

	* DataRowCollection.cs: Make the row be deleted by itself. If not,
	it fails because we need to call OnRowDeleting and OnRowDeleted. It
	is full implemented inside DataRow.

2003-11-05  Eran Domb  <erand@mainsoft.com>
	* DataView.cs (ctor) : Changing default RowStateFilter to CurrentRow.

2003-11-04  Eran Domb  <erand@mainsoft.com>
	* DataRow.cs (CheckChildRows) : Improving the implementation - checking child for all FK, and not
	on all Relations.
	(GetChildRows) : Adding some checks.
	(GetParentRows) : Adding some checks. Fix a bug in implementation.
	(SetParentRow) : Added implementation.
	
	* DataRowCollection.cs (Add) : Added more checks on the row added to the collection.
	* DataTable.cs (Copy) : Set the During Loading flag to save unnecessary assertions.
	* ForeignKeyConstraint.cs (AssertConstraint) : Fixing bugs in implementation. Checking for DBNull values in the row.
	* MergeManager.cs : Check that the target table is not null.

2003-10-27  Eran Domb  <erand@mainsoft.com>
	* DataColumn.cs (DefaultValue) : Changing null value to DBNull. Checking that the type of the new default value 
	can be converted to the column type.
	
	* DataRelationCollection.cs (AddCore) : Give the new FK the name of the relation.
	
	* DataRow.cs (EndEdit) : Check if we need to validate the constraints.
	(GetParentRows, GetChildRows) : Checking that the row has the wanted version, before accessing the row's value.
	
	* DataRowCollection.cs (Add) : Fixing a bug. 
	(Clear) : Before clearing the array check that there is no violation of FK constraint.
	
	* DataSet.cs (Prefix) : If value is null chage it to empty string.
	(GetXml) : Removing the Processing Instructions from the xml string as in MS ADO.NET.
	
	* ExpressionElement : Adding support for IN expresion.
	
	* DataTable (CopyConstraints) : New method that copy the tables constraints to the copy table.
	(Select) : Adding support for DataViewwRowState.
	
	* ForeignKeyConstraint.cs (AssertConstraint) : Adding implementation.
	
	* MergeManager.cs (MergeRow) : Fix bugs.
	
2003-10-27  Eran Domb  <erand@mainsoft.com>
	* DataRow.cs (SetColumnValue): Donot check null value when in midle of loading data.
	check null values when ending loading data.
	
	* DataSet.cs (RejectChanges) : Imlementation.
	(Prefix) : If prefix was changed fire event. Check that the prefix is not null - if null, 
	change it to empty string.
	
	* DataTable.cs (BeginLoadData, EndLoadData) : Impemantation.
	
2003-10-22  Eran Domb  <erand@mainsoft.com>
	* MergeManager.cs : Fixing bugs. Adding check for PrimaryKey matching.
	
	* ConstraintCollection.cs (RamoveAt): Change implemntation.
	
	* DataTableCollection (CanRemove): Removing cast to Constraint.

2003-10-22  Eran Domb  <erand@mainsoft.com>
	* DataRelationCollection.cs (AddCore): The unique constraint was added even if the createConstraints flag was false.
	(Clear): The collection was cleared without removing the relation from the parent and child tables.
	
	* DataSet.cs (Copy, Clone): The Relations of the DataSet were not copy.
	(HasChanges, Reset): Imlementation.
	
	* DataTable.cs (HasErrors): There is no flag for errors, instead the table ask her row if they have any errors.
	This is because the we do not no when to turn off the flag.
	(Locale): Changing implementation to behave like ADO.NET.
	(AcceptChanges): Fix bug.
	(Clear): Check that this table is not referenced from a foreign key constraint.
	(Copy): Do not try to access a deleted row.
	(CopyProperties): Copy the PrimaryKey.
	(GetChanges, ImportRow): Implementation.
	(LoadDataRow): Adding implementation if the table has PrimaryKey.
	(ToString): Changing implementation to behave like ADO.NET.
	
	* UniqueConstraint.cs (AssertConstraint): support for Multiple DataColumns in the constraint.
	
	* DataRow.cs (Ctor): In the constructor we initiate the current array, but we should initiate only the proposed array for new rows.
	(HasErrors): Implementation.
	(Delete): Added checking for child rows of the deleted row.
	(EndEdit): Added checking for child row and firing events.
	(GetColumnError): Added a check that the method will not return null, as in ADO.NET(an empty string is returned).
	(GetColumnsInError): Added a check for null values in column error.
	(HasVersion): Added special treatment for special RowState.
	(CollectionChanged): More checks to avoid NullReferenceException.
	
	* DataRowCollection.cs (Remove): Fix a bug.


2003-10-01  Duncan Mak  <duncan@ximian.com>

	More patches from Eran Domb <erand@mainsoft.com>.

	* MergeManager.cs: New file.

	* DataRelationCollection.cs (AddCore): Check that a
	UniqueConstraint is already exists. It loops over the Relations
	instead of the Constraints.
	(Add, AddCore): The relation was added twice.

	* DataSet.cs (Merge, GetChanges, HasChanges): Implemented.	

2003-09-30  Duncan Mak  <duncan@ximian.com>        

	Patches from Eran Domb <erand@mainsoft.com>.

	* DataRelation.cs (constructor): When the name of the relation is
	null, it should return an empty, not "Relation".
	
	* DataRow.cs (AcceptChanges): Added special case for
	RowState.Detached.
	(CancelEdit): Set editing flag to false.
	(IsNull): Check that the value is DBNull.

	* DataRowCollection.cs (Add): There was no check that the table of
	the collection is owned by a DataSet.

	* DataSet.cs (OnMergeFailed): Added.	

	* UniqueConstraint.cs (AssertConstraint): There was no check that
	values in the row are not null, where it is a primary key
	column. Also check that the row has a proposed version, if not,
	get the current version when we compare the rows.

2003-09-25  Duncan Mak  <duncan@ximian.com>

        Patches from Eran Domb <erand@mainsoft.com>.

	* DataColumn.cs (Unique): Implemented.
	
	* DataTable.cs:
	* ConstraintCollection.cs:
	* ForeignKeyConstraint.cs (_ensureUniqueConstraintExists): Fixes
	an Exception thrown. Details:
	http://lists.ximian.com/archives/public/mono-devel-list/2003-September/002130.html
	
	* DataRowCollection.cs (Add): There is no checking that there is
	no violation of the unique constrains.

	* UniqueConstraint.cs (AssertConstraint): There is no checking on
	all columns in the constraint.

	* DataTableCollection (Add): Correctly throw an Exception, more
	details here:
	http://lists.ximian.com/archives/public/mono-devel-list/2003-September/002117.html
	(Remove, RemoveAt): Implemented.

2003-07-31  Duncan Mak  <duncan@ximian.com>

	* DBConcurrencyException.cs: Added new NET_1_1 no-param constructor.

2003-07-25  Ravi Pratap  <ravi@ximian.com>

	* DataRelation.cs (OnPropertyChanging): Calling the 'Invoke'
	method on a delegate is disallowed - fix this.

2003-07-22  Lluis Sanchez Gual  <lluis@ximian.com>

	* DataSet.cs: Implemented IXmlSerializable interface. Added basic support for
	  xml serialization. Modified method of writing schema. Now it creates
	  a XmlSchema object and serializes it using XmlSerializer.
	* XmlConstants.cs: Added constants for data type names.
	* XmlDataLoader.cs: Fixed deserialization of data. Now converts data to the
	  type specified in the column.

2003-04-20  Alan Tam <Tam@SiuLung.com>

	* DataRelationCollection.cs: Fix a bug that prevent relations
	from being added via DataSet.

2003-04-12  Ville Palo <vi64pa@kolumbus.fi>

	* UniqueConstraint.cs: one tiny fix.
	
2003-04-05  Ville Palo <vi64pa@kolumbus.fi>

	* DataTable.cs: Remove UniqueConstraints when adding new ones
	
2003-04-04  Ville Palo <vi64pa@kolumbus.fi>

	* DataColumnCollection.cs: Little 'case sensitive' fix
	
2003-04-04  Ville Palo <vi64pa@kolumbus.fi>

	* DataRow.cs: AutoIncrement handling to Constructor
	* DataRowCollection.cs: This doesnt need anymore AutoIncrements
	
2003-03-27  Ville Palo <vi64pa@kolumbus.fi>

	* DataTable.cs: Some fixes to PrimaryKey etc...
	* UniqueConstraint.cs: Little clean up
	
2003-03-27  Ville Palo <vi64pa@kolumbus.fi>

	* DataTable.cs: Tiny fix to ToString () -method
	
2003-03-27  Ville Palo <vi64pa@kolumbus.fi>

	* ConstraintCollection.cs: Little fix.
	* DataColumn.cs: Added new internal method SetUnique()
	* UniqueConstraint.cs: some little fixes
	
2003-03-26  Ville Palo <vi64pa@kolumbus.fi>

	* DataRowCollection.cs: Bugfixes, implementation,...
	
2003-03-26  Ville Palo <vi64pa@kolumbus.fi>

	* DataColumn.cs: If DataType if set to something else than short, int
	or long and AutoIncrement is true, AutoIncrement is must set to false.
	
2003-03-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* DataRow.cs:
	(BeginEdit): fixed array bound problem when a column has been added.
	(EndEdit): just assign proposed to current as proposed is set to null.
	This also fixes another array boudn problem.

2003-03-21  Alan Tam <Tam@SiuLung.com>

	* DataRow.cs: Fixed problems in accessers, BeginEdit, CancelEdit,
	EndEdit and AcceptChanges to act correctly according to DataRowState
	and DataRowVersion.
	* DataRowCollection.cs: Call AttachRow and DetachRow when a row is
	attached and detached from the collection.

2003-03-20  Alan Tam <Tam@SiuLung.com>

	* DataColumn.cs: Store empty string for Expression when null is passed in.
	Classes generated by XSD.exe passes null by default.

2003-03-16  Ville Palo <vi64pa@kolumbus.fi>

	* DataColumnCollection.cs: Tiny clean up

2003-03-16  Ville Palo <vi64pa@kolumbus.fi>

	* DataColumn.cs: little fixes.
	* DataColumnCollection.cs: Lots of little fixes and improvments.
	
2003-03-12  Alan Tam <Tam@SiuLung.com>

	* DataSet.cs: Fixed a bug that the file written does not close correctly.

2003-03-08  Alan Tam <Tam@SiuLung.com>

	* DataRelationCollection.cs: Removed the mis-overridden methods
	* DataRow.cs: Fixed an attribute
	* DataSet.cs: Fixed the modifiers

2003-03-06  Aleksey Demakov <avd@openlinksw.com>

	* DataTableCollection.cs: The Contains (string name),
	IndexOf (string name) methods, and item[string name] indexer
	now behave more like .NET with respect to case-sensitivity.
	That is if there is an exactly matching item then this one is used.
	If there is only one item differing in case then it used.
	If there are more than one item differing in case then
	Contains returns false, IndexOf returns -1, and item[]
	throws an ArgumentException.

2003-02-28  Ville Palo <vi64pa@kolumbus.fi>

	* ExpressionElement.cs: More implementation. 
	
2003-02-28  Alan Tam <Tam@SiuLung.com>
	* DataSet.cs: Changed WriteTable so that it now calls the newly written
	WriteObjectXml to direct the call to the respective XmlConvert method.
	This fixes the wrong format written to XML files of bool, float,
	double, DateTime and TimeSpan types.

2003-02-25  Alan Tam <Tam@SiuLung.com>

	* DataRelation.cs: Added SetDataSet for DataSetRelationCollection to use.
	* DataRelationCollection.cs: Implemented AddRange and Contains.
	Implemented AddRange, Clear, List and RemoveCore for DataSetRelationColletion.
	Implemented AddCore, List and RemoveCore for DataTableRelationCollection.
	Reimplemented most Add methods to eliminate duplicated checks.
	Centralized RelationName generation procedure in GetNextDefaultRelationName.

2003-02-25  Alan Tam <Tam@SiuLung.com>

	* DataColumn.cs: Fixed wrong storage representation of Expression
	(using empty string instead of null) so that ToString() returns nothing.
	* DataColumnCollection.cs: Reimplemented GetNextDefaultColumnName so that
	auto column naming now works as expected. Reimplemented some Add methods
	to eliminate code duplication.

2003-02-19  Ville Palo <vi64pa@kolumbus.fi>

	* DataTable.cs: DataTable.CaseSensitive follows parent 
	DataSet.CaseSensitive property if DataTable.CaseSensitive has never
	been changed directly from DataTable
	
2003-02-19  Ville Palo <vi64pa@kolumbus.fi>

	* DataSet.cs: When CaseSensitive property is changed all of the Tables
	of DataSet have to change too
	
2003-02-19  Daniel Morgan <danmorg@sc.rr.com>

	* InternalDataCollectionBase.cs: revert change to field
	to fix build
	
	* DataViewManager.cs
	* DataView.cs
	* DataTable.cs
	* DataSet.cs: commented use of DesignerAttribute
	because it broke the build.  According to MSDN,
	DesignerAttribute does not have a zero-argument constructor

2003-02-18  Ville Palo <vi64pa@kolumbus.fi>

	* DataColumnCollectin.cs: Little fix for indexer and case sensitivity
	
2003-02-18  Alan Tam <Tam@SiuLung.com>

	* DataRow.cs: Implemented GetParentRow and GetParentRows.
	* DataSet.cs: Added stub for HasChanges, InferXmlSchema,
		      OnPropertyChanging, OnRemoveRelation, OnRemoveTable,
		      RaisePropertyChanging.
	* DataTable.cs: Implemented NewRowArray.
	* DataTablePropertyDescriptor: Fixed a modifier.
	* InternalDataCollectionBase.cs: Fixed modifiers. Implemented SyncRoot.
	* PropertyCollection.cs: Minor fix.
	* ConstraintCollection.cs DataColumn.cs DataColumnCollection.cs 
	* DataRelation.cs DataRelationCollection.cs DataRow.cs
	* DataRowCollection.cs DataRowState.cs DataSet.cs DataTable.cs
	* DataTableCollection.cs DataTablePropertyDescriptor.cs DataView.cs
	* DataViewManager.cs DataViewRowState.cs DataViewSettingCollection.cs
	* ForeignKeyConstraint.cs InternalDataCollectionBase.cs
	* PropertyCollection.cs UniqueConstraint.cs: Added missing attributes
	
2003-02-08  Ville Palo <vi64pa@koti.soon.fi>

	* ExpressionElement.cs: More implementation
	
2003-02-05  Alan Tam <Tam@SiuLung.com>

	* DataSet.cs: Added framework for DataSet.Update Implemented missing 
	methods GetSchemaSerializable, GetSerializationData, 
	ReadXmlSerializable, ShouldSerializeRelations and ShouldSerializeTables
	for DataSet
	* DataTable.cs: Implemented missing methods CreateInstance and 
	GetRowType for DataTable
	
2003-02-03  Ville Palo <vi64pa@koti.soon.fi>

	* DataSet.cs: Implemented private method MapType for 
	mapping datatypes for XmlSchema
	
2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* DataView.cs: implemented Dispose.

2003-01-30  Ville Palo <vi64pa@koti.soon.fi>

	* ExpressionElement.cs: Added new file. This file is for parsing
	  and DataData.Select () -methods and DataColumn.Expression -property
	* DataTable.cs: Implemented Select(string) -method	
	
2003-01-28  Ville Palo <vi64pa@koti.soon.fi>

	* DataSet.cs: One little fix to writing xml
	
2003-01-27  Ville Palo <vi64pa@koti.soon.fi>

	* XmlSchemaMapper.cs: Some fixes.
	* DatSet.cs: Some XmlFixes and BeginInit ()/ EndInit () -fix

		
2003-01-24  Ville Palo <vi64pa@koti.soon.fi>

	* UniqueConstraint.cs: Do not set columns Unique property true 
	as a default.
	* ForeignKeyConstraint.cs: Add UniqueConstraint to parent Table
	
2003-01-18  Ville Palo <vi64pa@koti.soon.fi>

	* DataTableCollection.cs: Now names new DataTable if it doesn't 
	already have a name.
	
2003-01-17  Ville Palo <vi64pa@koti.soon.fi>

	* XmlSchemaMapper.cs: Improvments.
	* XmlConstaints.cs: Added more constants.
	* DataSet.cs: Improvments of reading and writing xml
	* DataColumn.cs: Added default values of properties.
		
2003-01-14  Ville Palo <vi64pa@koti.soon.fi>

	* XmlSchemaMapper.cs: Some improvments
	
2003-01-13  Ville Palo <vi64pa@koti.soon.fi>

	* DataRowCollection.cs: Added IndexOutOfRangeException
	* DataTableCollection.cs: Added OnCollectionChanging and 
	OnCollectionChanged events.
	* DataSet.cs: Many fixes. Implemented Clone () and Copy () -methods
	* DataTable.cs: Implemented Copy () and Clone () methods.
	* XmlDataLoader.cs: some fixes.
	* XmlSchemaMapper.cs: comments.
	
2003-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* DataColumnPropertyDescriptor.cs: store columnIndex in the .ctor.

2003-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* DataColumnPropertyDescriptor.cs: fixed typo.
	* DataViewManagerListItemTypeDescriptor.cs: added new internal property
	to get the DataViewManager and removed TablePD class.
	* DataTablePropertyDescriptor.cs: TablePD class is now this one as
	suggested by danmorg.

2003-01-06  Ville Palo <vi64pa@koti.soon.fi>

	* XmlDataLoader.cs: Moved diffgram stuff to new internal class
	XmlDiffLoader.
	* XmlDiffLoader.cs: new class for diffgrams. Added handling of 
	diffgr:Errors and some fixes and changed XmlReader to XPathNavigator.
	
2003-01-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* DataView.cs: made dataViewManager internal.
	* DataViewManager.cs: use ICustomTypeDescriptor. We don't want the
	properties of the object, but the values of the columns present in a
	row.
	
	* DataViewManagerListItemTypeDescriptor.cs: implemented GetProperties,
	which returns a PropertyDescriptorCollection. Created a new class
	derived from PropertyDescriptor that treats Table as an object whose
	properties are DataRowView.

2003-01-04  Ville Palo <vi64pa@koti.soon.fi>

	* XmlSchemaMapper.cs: Added handling for Constraints, Attributes.
	
2003-01-04  Ville Palo <vi64pa@koti.soon.fi>

	* DataColumn.cs: ExtendedProperties is by default !null-
	
2003-01-04  Ville Palo <vi64pa@koti.soon.fi>

	* DataColumnCollection.cs: Add (DataColumn Column) -method didn't 
	set column's ordinal.
	
2003-01-02  Ville Palo <vi64pa@koti.soon.fi>

	* DataSet.cs: 
	* XmlDataLoader.cs: XmlReader closing fixes.
	* XmlSchemaReader.cs: Added support for ref=
	
2003-01-01  Ville Palo <vi64pa@koti.soon.fi>

	* DataSet.cs: 
	  - Added XmlReader and XmlWriter Closing.
	  - Moved ReadXmlSchema stuff to new internal class XmlSchemaMapper.
	* XmlSchemaMapper.cs
	  - Much better way IMHO  to map xmlschema than the old one in 
	    DataSet.cs. Its, more flexible, cleaner, ...
	   		
2002-12-29  Ville Palo <vi64pa@koti.soon.fi>

	* XmlDataLoader.cs: Reading diffgrams.
	
2002-12-29  Ville Palo <vi64pa@koti.soon.fi>

	* DataRow.cs: Little fix to indexer and DataColumnCang* trigger fixes.
	* DataTable.cs: Added ChanginDataColumn () for triggering 
	DataColumnChanging event
	
2002-12-28  Ville Palo <vi64pa@koti.soon.fi>

	* DataSet.cs: Indentations to WriteXmlSchema () and one little fix
	
2002-12-28  Ville Palo <vi64pa@koti.soon.fi>

	* DataSet.cs: Indentations to WriteXml ()
	
2002-12-27  Ville Palo <vi64pa@koti.soon.fi>

	* DataSet.cs:
	* XmlDataLoader.cs: Moved ReadXml -stuff from DataSet.cs to new
	class XmlDataLoader.cs
	
2002-12-19  Ville Palo <vi64pa@koti.soon.fi>

	* DataSet.cs Implemented ReadXml with XmlReadMode.ReadSchema
	
2002-12-18  Ville Palo <vi64pa@koti.soon.fi>

	* DataSet.cs: Started to implement ReadXml-methods.
	
2002-12-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* DataSet.cs: implemented DefaultViewManager and GetList.

	* DataViewManager.cs: a bit of work on IList and ITypedList needed by
	DataList in System.Web.

	* DataViewManagerListItemTypeDescriptor.cs: custom type descriptor for
	DataViewManager.

2002-12-16  Ville Palo <vi64pa@koti.soon.fi>

	* DataRow.cs
	* DataTable.cs: Fixed NullException (rollback -event)
	* DataSet.cs: WriteXml -method does not anymore write <?xml... row.
	
2002-12-15  Ville Palo <vi64pa@koti.soon.fi>

	* DataRow.cs:
	* DataRowCollection.cs: Moved event triggering from DataRow to
	DataRowCollection.
	
2002-12-09  Ville Palo <vi64pa@koti.soon.fi>

	* DataSet.cs: Little fix to WriteTable () -method 
	and DoReadXmlSchema () -method.
	
2002-12-06  Ville Palo <vi64pa@koti.soon.fi>

	* DataSet.cs: Clean up to reading xmlschema. This looks much better 
	now (work better too), but it not working correctly yet.
	
2002-12-04  Ville Palo <vi64pa@koti.soon.fi>

	* DataRow.cs: 
	* DataRowCollection.cs: Added some event handlins stuff.
	* DataSet.cs: Some fixes.
	* DataTable.cs: Added event handlers.
	
2002-11-30  Ville Palo <vi64pa@koti.soon.fi>

	* DataRowChangeEventArgs.cs: Implemented Action and Row properties 
	
2002-11-30  Ville Palo <vi64pa@koti.soon.fi>

	* System.Data/DataRow.cs: Added internal property XmlDataID
	
2002-11-29  Ville Palo <vi64pa@koti.soon.fi>

	* DataSystem.Data.DataTableCollection.cs:
	Removed HashTable. There could be situations where DataTable
	is added to collection before it hava TableName. So using 
	HashTable is impossible.
	
2002-11-19  Carlos Guzmán Álvarez <carlosga@telefonica.net>

	* DataRow.cs: an object that is equal to null 
	should be allowed to be set in this indexer too
	to be like .NET

2002-11-06  Daniel Morgan <danmorg@sc.rr.com>

	* DataColumnPropertyDescriptor.cs: added file
	
	* System.Data/DataRowView.cs: started implementation
	
	* DataTable.cs: stubbed more interfaces.  Implemented
	IListSource.GetList()
	
	* DataView.cs: stubbed more interfaces.  Implemented
	some properties and methods: GetEnumerator(), 
	ITypedList.GetItemProperties, Item indexer, CopyTo()

2002-05-18  Nick Drochak  <ndrochak@gol.com>

	* DataRow.cs: Fix typo.