/
ChangeLog
1577 lines (1081 loc) · 55.5 KB
/
ChangeLog
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
2010-10-01 Veerapuram Varadhan <vvaradhan@novell.com>
** Fixes #561667
* SqlCommand.cs (Dispose): While Disposing, set connection's datareader
to null so as the connection can be reused with another datareader.
2010-07-28 Veerapuram Varadhan <vvaradhan@novell.com>
** Fixes #584833
* SqlCommand.cs (DeriveParameters): Support procedure name nomenclature
of the form <database>.<user>.<procname> .
2010-06-15 Veerapuram Varadhan <vvaradhan@novell.com>
** Fixes #613087
* SqlDataReader.cs (GetSqlValue): Tds70 returns decimal (18,0)
and beyond as System.Int64.
2010-03-26 Veerapuram Varadhan <vvaradhan@novell.com>
* SqlDataAdapter.cs: 2.0 profile changes
2009-12-03 Jonathan Pobst <monkey@jpobst.com>
* SortOrder.cs: Add enum.
2009-10-28 Veerapuram Varadhan <vvaradhan@novell.com>
* SqlCommandBuilder.cs (RowUpdatingHandler): Use base version for 2.0 profile.
2009-10-14 Jonathan Pryor <jpryor@novell.com>
* SqlConnection.cs: Remove EnterpriseServices dependency from the
MonoTouch profile.
2009-08-17 Veerapuram Varadhan <vvaradhan@novell.com>
** Fixes #525306
* SqlConnection.cs (Open): Use Tds80 also in case of non-pooling
connections.
2009-08-01 Gert Driesen <drieseng@users.sourceforge.net>
* SqlParameter.cs (ConvertToFrameworkType): Only wrap FormatException
on 2.0 profile.
2009-07-30 Gert Driesen <drieseng@users.sourceforge.net>
* SqlParameter.cs: Modified ConvertToFrameworkType to only perform
conversion if type of value is different from "system type". Make
DbTypeMapping hashtable available on 1.0 profile, and add missing
mappings. Wrap FormatException adding information on conversion
that failed.
2009-07-30 Veerapuram Varadhan <vvaradhan@novell.com>
* SqlDataAdapter.cs (*Command): Build fix for 1.x profile.
2009-07-30 Veerapuram Varadhan <vvaradhan@novell.com>
** Fixes the issue reported by Scott <Scott.Fluto@cmgl.ca> in Mono-list
* SqlParameter.cs (ConvertToFrameworkType): Return String.Empty
in case of zero-length strings.
2009-07-30 Veerapuram Varadhan <vvaradhan@novell.com>
* SqlDataAdapter.cs (IDbDataAdapter.*Command): Remove over-engineered
checks as the base implementation is changed.
2009-07-29 Veerapuram Varadhan <vvaradhan@novell.com>
* SqlDataAdapter.cs (IDbDataAdapter.*Command): Revert some of my earlier
changes. Validate the incoming value as we use bases' implementation now.
Fixes failing tests.
* SqlParameter.cs (GetSqlValue): Simplify handling of SqlValue and SqlTypes.
(SqlTypeToFramworkType): Added support for SqlChars and SqlBytes types.
2009-07-28 Gert Driesen <drieseng@users.sourceforge.net>
* SqlCommand.cs: Ensure connection is closed if CloseConnection
behavior is set, and reader could not be created.
2009-07-28 Gert Driesen <drieseng@users.sourceforge.net>
* More clean up of fix for #522624/#507663
* SqlCommandBuilder.cs: Appropriately handle rowUpdatingHandler and
more cleanup for 2.0 profile.
2009-07-26 Veerapuram Varadhan <vvaradhan@novell.com>
* SqlParameter.cs (get/set_SqlValue, GetSqlValue): Return the appropriately
SQL-typed param value. Fixes failing provider tests.
2009-07-28 Gert Driesen <drieseng@users.sourceforge.net>
* SqlCommand.cs: Ensure connection is closed if CloseConnection
behavior is set, and reader could not be created.
2009-07-26 Gert Driesen <drieseng@users.sourceforge.net>
* SqlParameter.cs: Improved support for SqlValue and SqlTypes.
2009-07-25 Veerapuram Varadhan <vvaradhan@novell.com>
* SqlDataReader.cs: Added new schema fields to the schema row.
Fixes a failing provider test.
2009-07-25 Veerapuram Varadhan <vvaradhan@novell.com>
* Fixes #507663
* SqlCommandBuilder.cs: From 2.0 onwards, use base's
implementation for handling auto-generated commands.
* SqlDataAdapter.cs: -- ditto --
2009-07-15 Veerapuram Varadhan <vvaradhan@novell.com>
* SqlParameter.cs: Implement the "internal" FrameworkDbType,
DbTypeMapping and SystemType properties.
2009-05-08 Veerapuram Varadhan <vvaradhan@novell.com>
** Fixes #497715 - based on a patch by Jonas Larsson
<jonas.larsson@manodo.se>
* SqlDataReader.cs: (GetSqlXml): Handle Xml types for TDS 8/8.1
clients as well.
* SqlParameter.cs: Map XML type properly.
2009-04-28 Gonzalo Paniagua Javier <gonzalo@novell.com>
* SqlConnection.cs: if the error causes a disconnection from the
server, close the data stream.
2009-03-23 Veerapuram Varadhan <vvaradhan@novell.com>
* SqlDataReader.cs (GetSchemaRowType): Correctly handle Tds 8 BigInt type.
2009-02-02 Veerapuram Varadhan <vvaradhan@novell.com>
* SqlConnection.cs: Use TDS 8 instead of TDS 7
2009-01-24 Gonzalo Paniagua Javier <gonzalo@novell.com>
* SqlConnection.cs: adapt to changes in TdsConnectionPool.
Don't Close() on every error.
2009-01-17 Gert Driesen <drieseng@users.sourceforge.net>
* SqlParameter.cs: Renamed isDirty to typeChanged; it is now now only
used to indicate whether the type of the parameter has been updated.
Changed signature of 'updated' argument in GetFrameworkValue to ref
to match delegate in Mono.Data.Tds, and convert value if either the
type has been changed or if the 'updated' argument is true (which -
for now - means the value or size changed in TdsMetaParameter).
Various fixes for derived parameters:
- parameter_type 2 means InputOutput parameter, while 3 means Output;
- Only set precision and scale is type is decimal.
- When type has variable size, then also set Size.
2009-01-04 Gert Driesen <drieseng@users.sourceforge.net>
* SqlDataReader.cs: Added GetSchemaRowDbType overload for
getting sql type of a given column (identified using its
ordinal). Modified GetBytes to throw SqlNullValueException
(2.0 profile) or return 0 (1.0 profile) when reading bytes
sequentially. Added support for non-sequentially reading
text and ntext columns using GetBytes. Modified GetChar
to throw a NotSupportedException to match MS.
2009-01-04 Gert Driesen <drieseng@users.sourceforge.net>
* SqlCommandBuilder.cs (RefreshSchema): Clear commands.
2009-01-03 Gert Driesen <drieseng@users.sourceforge.net>
* SqlDataReader.cs: Removed unused dataTypeNames, and
unnecessary initializations. Added missing reader state
and row state checks. Fixed implementation of HasRows.
Modified type of DataType to object on 1.0 profile for
compatibility with .NET 1.x. Do not mark (Big)VarBinary
or ((Big)Binary as long, as unit tests show that IsLong
is for wide (unicode) data types. Fixed type data for
SmallDateTime and SmallMoney data types. Improved support
for bigint data type (using TDS 7.0).
2009-01-03 Gert Driesen <drieseng@users.sourceforge.net>
* SqlCommand.cs: Moved connection reset before the throw.
Improved exception message.
2009-01-03 Gert Driesen <drieseng@users.sourceforge.net>
* SqlCommandBuilder.cs: Only set SourceColumn for null check
parameters on the 2.0 profile, and set SourceVersion to
Current on 1.0 profile. Changed accessibility of RefreshSchema
to public, and do not immediately create commands. Removed
CWL.
2009-01-03 Gert Driesen <drieseng@users.sourceforge.net>
* SqlParameter.cs: When setting ParameterName or sourceName to
null, use a zero-length string instead. On 1.0 profile, only
infer type from value if value is not null or DBNull. Store
raw value in TdsMetadataParameter, and use delegate to convert
it to framework type (when necessary). Improve implementation
of SqlValue (still needs lots of work).
2009-01-03 Gert Driesen <drieseng@users.sourceforge.net>
* SqlCommandBuilder.cs: Added missing checks for QuotePrefix and
QuoteSuffix on 2.0 profile, and return a zero-length string if
not set (or set to null) on 1.0 profile. Do not allow the value
of CatalogSeparator and SchemaSeparator to be changed from '.'.
Modified generated SQL to match MS. Added implementation for
QuoteIdenfifier. Modified parameters to match MS.
* SqlParameter.cs (SqlValue): Keep Value in sync.
2008-12-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
* SqlParameter.cs: I removed these 2 lines I added 2 patches ago in
the previous patch...
2008-12-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
* SqlConnection.cs: close the connection on error.
2008-12-16 Gonzalo Paniagua Javier <gonzalo@novell.com>
* SqlParameter.cs: don't allocate error strings until the error
actually happens. Compare types instead of strings. Use a Hashtable
for type mappings.
2008-12-12 Gonzalo Paniagua Javier <gonzalo@novell.com>
* SqlParameter.cs: use the underlying type when inferring the type for
enumerations.
2008-11-13 Veerapuram Varadhan <vvaradhan@novell.com>
* SqlCommand.cs: When a timeout exception occurs, reset the
connection before re-using it. Fixes connection corrupted errors
on timeout exception.
2008-11-09 Gert Driesen <drieseng@users.sourceforge.net>
* SqlConnection.cs (ClearPool): Added null check.
2008-11-09 Gert Driesen <drieseng@users.sourceforge.net>
* SqlConnection.cs: In Close, also remove reference to pool. In Open,
set TdsConnection.Pooling to false for a non-pooled connection.
Fixed ClearAllPools to no longer create a new connection for each
pool. In ClearPool, perform a lookup of the pool to clear using
the connectionstring as the pool field may refer to another pool
(as the connectionstring may have changed).
2008-09-30 Veerapuram Varadhan <vvaradhan@novell.com>
* SqlDataReader.cs (GetSqlXml): Handle the scenario when Sql
Server 2005 returns Xml column type as NTEXT when called from
clients that use < TDS 8.0 protocol.
2008-09-20 Veerapuram Varadhan <vvaradhan@novell.com>
* SqlCommand.cs (DeriveParameters): Simplification of the if-else loop.
2008-09-20 Veerapuram Varadhan <vvaradhan@novell.com>
* SqlCommand.cs (DeriveParameters): Handle no square brackets
case in schema/procedure names.
2008-09-17 Veerapuram Varadhan <vvaradhan@novell.com>
* SqlCommand.cs (DeriveParameters): Escape/trim both
schema/procedure names before passing as parameter values.
2008-09-13 Atsushi Enomoto <atsushi@ximian.com>
* SqlDependency.cs : wrong namespace.
2008-08-14 Gert Driesen <drieseng@users.sourceforge.net>
* SqlConnection.cs: Use constants for min/max values. When value is
zero-length string, then fallback to default value for boolean and
integer backed properties. Throw ArgumentException when min pool size
exceeds max pool size. Check whether value for 'MARS' is a bool.
The 'user instance' property is 2.0 only.
2008-08-14 Gert Driesen <drieseng@users.sourceforge.net>
* SqlConnection.cs: Convert keywords to lowercase instead of uppercase
to avoid further case changes in exception messages.
2008-07-28 Gert Driesen <drieseng@users.sourceforge.net>
* SqlCommand.cs (ExecuteReader): When behavior includes SingleRow,
then only return a single result. Fixes bug #412569.
2008-07-28 Gert Driesen <drieseng@users.sourceforge.net>
* SqlCommand.cs: Fixed order of arguments for ArgumentException in
CommandTimeout.
* SqlConnection.cs (ChangePassword): Do not allow empty connection
string. Updated exception messages.
2008-07-28 Gert Driesen <drieseng@users.sourceforge.net>
* SqlCommand.cs: Fixed param name in ArgumentException for negative
CommandTimeout to match MS. On 2.0 profile, throw NRE in Prepare
when connection is NULL. In Prepare, return immediately after
connection check (2.0 only) for stored procedures, or when no
parameters are added. Added check to see if transaction is
associated with same connection as the command and updated
exception messages.
2008-07-28 Gert Driesen <drieseng@users.sourceforge.net>
* SqlCommand.cs: Added bool argument to ValidateCommand to specify
whether an async method is being executed. Minor changes to exception
messages to match MS.
2008-07-28 Gert Driesen <drieseng@users.sourceforge.net>
* SqlCommand.cs: Avoid NRE in CloseDataReader when connection is NULL.
Fixes bug #412584. Removed unused moreResults eargument from
CloseDataReader. Removed behavior argument from Execute, and have it
use the behavior field instead. In ValidateCommand, throw
InvalidOperationException instead of NRE when Connection is NULL.
* SqlDataReader.cs: Sync with SqlCommand's CloseDataReader signature
change.
2008-07-28 Gert Driesen <drieseng@users.sourceforge.net>
* SqlCommand.cs: (Transaction): On the 1.0 profile, do not allow
Transaction to be set when a reader is open for the current connection.
Fixes bug #412579.
2008-07-28 Gert Driesen <drieseng@users.sourceforge.net>
* SqlCommand.cs (Connection): Do not throw InvalidOperationException
if transaction is in progress. Fixes bug #412576. On 1.0 profile, throw
InvalidOperationException when a reader is open for the current
connection. Do not set transaction to NULL when changing connection,
instead set it to null in Transaction when transaction is no longer
open.
2008-07-28 Gert Driesen <drieseng@users.sourceforge.net>
* SqlConnection.cs: Use null as default value for connectionString
field. Remove Init method, as initialization is done in
SetDefaultConnectionParameters. Initialize parms in
SetDefaultConnectionParameters to avoid calling Reset on newly
initialized collection. In Dispose (bool), also invoke base.Dispose if
SqlConnection was already disposed. Fixes bug #412571.
2008-07-28 Gert Driesen <drieseng@users.sourceforge.net>
* SqlConnection.cs (ChangeState): Return immediately when new state
equals original state. Fixes bug #412574. Removed extra whitespace.
2008-07-23 Veerapuram Varadhan <vvaradhan@novell.com>
* SqlDataReader.cs (NextResult): Memleak fix - mark datatypeNames
array to be GCed along with schemaTable.
2008-07-23 Veerapuram Varadhan <vvaradhan@novell.com>
* SqlDataReader.cs: Do not generate schemaTable unless otherwise
asked for; use command.Tds.Columns instead. Improves performance
of the DataReader.
2008-07-10 Veerapuram Varadhan <vvaradhan@novell.com>
** Fixes #326182
* SqlCommand.cs (GetOutputParameters): Update parameter values iff
parameter direction is InputOutput or Output.
2008-07-06 Gert Driesen <drieseng@users.sourceforge.net>
* SqlException.cs: Modified HResult/ErrorCode to match MS. Removed
unused FromTdsInternalException overload. Removed unnecessary check
for Errors.Count. Minor code formatting.
2008-07-03 Rodrigo Kumpera <rkumpera@novell.com>
* SqlConnection.cs: Remove connStringParameters as nobody uses it.
2008-07-01 Rodrigo Kumpera <rkumpera@novell.com>
* SqlDataReader.cs: Do all column accesses with int indexes.
2008-07-01 Rodrigo Kumpera <rkumpera@novell.com>
* SqlDataReader.cs (GetSchemaTable): All column index are constants,
extract them.
2008-07-01 Rodrigo Kumpera <rkumpera@novell.com>
* SqlDataReader.cs (GetSchemaTable): Calculate column indexes
outside of the row loop.
2008-07-01 Marek Habersack <mhabersack@novell.com>
* SqlDataReader.cs: use named properties in TdsDataColumn for the
2.0 profile.
2008-06-30 Zoltan Varga <vargaz@gmail.com>
* SqlDataReader.cs: Allocate 'schemaTable' lazily.
(GetSchemaValue): Avoid some hash table lookups
2008-06-27 Zoltan Varga <vargaz@gmail.com>
* SqlDataReader.cs (ConstructSchemaTable): Avoid unneccessary reflection calls.
2008-06-23 Veerapuram Varadhan <vvaradhan@novell.com>
* SqlDependency.cs: New
2008-06-12 Veerapuram Varadhan <vvaradhan@novell.com>
Patch by Christian Hergert <christian.hergert@gmail.com>
* SqlConnection.cs (Open): Do not reset the connection as it is already
done in the TdsConnectionPool itself.
2008-06-12 Marek Habersack <mhabersack@novell.com>
* SqlParameterCollection.cs: this [int] must check the range and
throw an exception if necessary.
* SqlCommand.cs: throw IOEX when stored procedure is not found in
DeriveParameters. All procedures in MS SQL will report at least
one parameter - the return value.
2008-06-10 Veerapuram Varadhan <vvaradhan@novell.com>
* SqlConnection.cs: TdsConnectionPool.GetConnectionPool() now returns
IDictionary<TKey, TValue>.
2008-06-09 Ankit Jain <jankit@novell.com>
* SqlCommand.cs: Use Tds instead of ITds now.
* SqlConnection.cs: Likewise.
2008-05-27 Gert Driesen <drieseng@users.sourceforge.net>
* SqlConnection.cs: Added support for '.' as alias for localhost.
Improve exception message when TCP/IP protocol is not enabled.
2008-05-17 Gert Driesen <drieseng@users.sourceforge.net>
* SqlDataReader.cs (GetInt64): Removed workaround for TDS 7.0 handling
of bigint column type as this is handled in Mono.Data.Tds.
2008-05-14 Marek Habersack <mhabersack@novell.com>
* SqlConnection.cs: added support for USER INSTANCE keyword in the
connection string.
2008-04-22 Veerapuram Varadhan <vvaradhan@novell.com>
** Fixes Bug#381151
* SqlCommand.cs: Handle exceptions sanely and do not close
connection on TdsTimeoutException.
2008-04-21 Gert Driesen <drieseng@users.sourceforge.net>
* SqlBulkCopyColumnMappingCollection.cs: Changed argument names to
match MS. Code formatting.
* SqlCommand.cs: Changed argument names to match MS. Code formatting.
Do not include explicit IDbCommand implementation on 2.0 profile.
* SqlCommandBuilder.cs: Changed argument names to match MS. Code
formatting.
* SqlDataReader.cs: Changed argument names to match MS. Code
formatting.
* SqlParameterCollection.cs: Do not include IList, ICollection and
IDataParameterCollection explicit interface implementation on 2.0
profile. Code formatting.
* SqlConnection.cs: Changed argument names to match MS.
* SqlDataAdapter.cs: Changed argument names to match MS.
* SqlTransaction.cs: Do not include explicit interface implementation
of IDbTransaction.Connection on 2.0 profile. Code formatting.
2008-04-19 Robert Jordan <robertj@gmx.net>
* SqlParameterCollection.cs (AddRange(SqlParameter[])):
Fix endless recursion.
2008-04-08 Marek Habersack <mhabersack@novell.com>
* SqlConnection.cs: TCP port discovery via UDP port 1434 should
honor the timeout specified in the connection string (or the
default one). In some environments 100 microseconds might not be
enough to discover the port.
2008-04-01 Marek Habersack <mhabersack@novell.com>
* SqlParameter.cs: ConvertToFrameworkType must handle empty
strings gracefully - a DBNull.Value must be returned in this
case.
* SqlCommand.cs: DeriveParameters should split the stored
procedure name into the schema name and procedure name before
querying its parameters.
2008-03-03 Ankit Jain <jankit@novell.com>
* SqlClientMetaDataCollectionNames.cs: Set the field values.
2007-10-21 Gert Driesen <drieseng@users.sourceforge.net>
* SqlCommand.cs: Use ExceptionHelper.CheckEnumValue for enum checks.
2007-10-20 Gert Driesen <drieseng@users.sourceforge.net>
* SqlCommand.cs: Added constant for default CommandTimeout, instead
of using a magic number. Avoid unnecessary initialization. Fixed
default value for DesignTimeVisible. Return zero-length string if
CommandText is null. Use ExceptionHelper.InvalidEnumValueException
to avoid code duplication. Spaces to tabs and code formatting.
* SqlConnection.cs: Use different default package size on 2.0 profile.
Added constants for default values, instead of using magic numbers.
Avoid unnecessary initialization. In PacketSize, return default or
configured packet size when connection is not open. Use
ExceptionHelper.ConnectionClosed instead of local method. Removed
use of some hardcoded values in SetDefaultConnectionParameters, and
use Environment.MachineName as default WorkstationId instead of
DNS host name. Code formatting.
* SqlDataAdapter.cs: In default ctor, set SelectCommand to null.
Avoid unnecessary initializations. Use direct assignment in
IDbDataAdapter implementation. Fixed exception message for negative
UpdateBatchSize. In Dispose override, make sure to invoke base
method.
2007-10-19 Gert Driesen <drieseng@users.sourceforge.net>
* SqlTransaction.cs: Clear connection in commit. In IsolationLevel,
throw IOE if transaction is no longer open.
2007-10-19 Gert Driesen <drieseng@users.sourceforge.net>
* SqlTransaction.cs: Avoid unnecessary initialization. Remove
isRolledBack since its essentially the same as isOpen. Use
ExceptionHelper.TransactionNotUsable instead of duplicating code.
On 2.0 profile, ignore call to Rollback when transaction was already
disposed.
2007-10-18 Gert Driesen <drieseng@users.sourceforge.net>
* SqlConnection.cs: Avoid unnecessary initialization. Use string.Empty
for assigning zero-length string, and use String.Length to check for
zero-length string. Added support for IsolationLevel.Snapshot.
Added StructuredTypeMembers schema collection and restrictions. Fixed
table name for MetaDataCollections collection. Implemented
DataSourceInformation collection. Added missing data types (probably
introduced in 2.0 SP1). In GetSchema, throw InvalidOperationException
if connection is closed and throw NotImplementedException for
StructuredTypeMembers collection.
2007-10-18 Gert Driesen <drieseng@users.sourceforge.net>
* SqlConnection.cs: On 1.0 profile, IsolationLevel.Unspecified is
not valid. On 2.0 profile, when IsolationLevel.Unspecified is passed
make sure to also set SqlTransaction.IsolationLevel to
ReadCommitted. Modified exceptions to match MS.
2007-10-17 Nagappan <anagappan@novell.com>
* SqlParameter.cs (ConvertToFrameworkType): Added SqlDbType.Image.
2007-10-17 Nagappan <anagappan@novell.com>
* SqlConnection.cs: BeginTransaction does not handle
IsolationLevel.Unspecified, so the default is set as ReadCommited.
Thanks to Jerome Haltom <wasabi@larvalstage.net> for this patch. Fixes
bug # 333082.
* SqlTransaction.cs: If transaction count is greater then 0 then roll back.
Thanks to Jerome Haltom <wasabi@larvalstage.net> for this patch. Fixes
bug # 331953.
2007-10-15 Gert Driesen <drieseng@users.sourceforge.net>
* SqlException.cs: Do not hide Message on 2.0 profile. Fixes bug
#333901.
2007-10-08 Marek Safar <marek.safar@gmail.com>
* SqlParameterCollection.cs (SetParameter): Fixed missing cast.
2007-09-27 Nagappan A <anagappan@novell.com>
* SqlConnection.cs: Added MonoTODO appropriately.
2007-09-26 Nagappan A <anagappan@novell.com>
* SqlCommandBuilder.cs: Code alignment.
2007-09-25 Nagappan A <anagappan@novell.com>
* SqlInitialCatalogConverter.cs, SqlDataSourceConverter.cs:
NetworkLibraryConverter.cs: Added new files.
* SqlParameter.cs: 2.0 attribute changes.
* SqlDataAdapter.cs: 2.0 attribute changes.
* SqlConnectionStringBuilder.cs: 2.0 attribute changes.
* SqlConnection.cs (ClearAllPools, ClearPool): Implemented 2.0
APIs, other 2.0 attribute changes.
* SqlCommandBuilder.cs (GetSchemaTable, InitializeCommand):
Implemented 2.0 APIs, other 2.0 attribute changes.
* SqlBulkCopyColumnMappingCollection.cs: Added constructor, 2.0
API compatibility changes.
* SqlException.cs: 2.0 attribute changes.
2007-08-13 Nagappan A <anagappan@novell.com>
* SqlConnection.cs (ConnectionString): 2.0 compatibility changes.
* SqlDataReader.cs (IsCommandBehavior): Fixed spelling mistake of
the method name.
(Dispose): 2.0 compatibility changes.
* SqlBulkCopy.cs (SqlRowsCopied): Fixed spelling mistake of the
event name.
(RowsCopied): Generates event when NotifyAfter is set.
* SqlCommandBuilder.cs (Dispose, RefreshSchema): 2.0 compatibility
changes.
* SqlClientFactory.cs (CreateDataSourceEnumerator): Removed bogus
TODO.
* SqlException.cs (Message): 2.0 compatibility changes.
2007-08-06 Nagappan A <anagappan@novell.com>
* SqlCommand.cs, SqlDataReader.cs, SqlConnection.cs: When the
server resets the connection, now the client code also disconnects
the session and remove the instance from pool. Fixes bug # 81933.
2007-07-31 Nagappan A <anagappan@novell.com>
* SqlCommand.cs (Transaction, Connection): IDbCommand Transaction
and Connection can be set to null. Fixes bug 82189.
2007-07-23 Nagappan A <anagappan@novell.com>
* SqlCommandBuilder.cs (ApplyParameterInfo, GetParameterName):
(GetParameterPlaceholder): Implemented 2.0 missing APIs.
2007-07-22 Nagappan A <anagappan@novell.com>
* SqlBulkCopy.cs (NotifyAfter): Implemented 2.0 property.
(GetColumnMetaData, GenerateColumnMetaData):
(ValidateColumnMapping): Implemented private method's to generate
and validate SqlBulkCopy headers.
(BulkCopyToServer): Private method to actually do the bulk copy
processing.
(WriteToServer): Implemented 2.0 missing overloaded methods.
(IDisposable.Dispose): Implemented 2.0 missing method.
* SqlBulkCopyColumnMappingCollection.cs (Add, CopyTo): Implemented
missing API.
(Item): Implemented missing property.
* SqlBulkCopyColumnMapping.cs: Modified the implementation of
Constructors to use property.
* SqlDataReader.cs (GetSqlXml, IsCommandBehaviour): Added 2.0
missing method.
(Connection): Added missing property.
* SqlParameter.cs (SetSqlDbType, ConvertToFrameworkType): Modified
method as internal from private.
* SqlConnection.cs: Fixed 2.0 missing feature.
* SqlException.cs: Fixed 2.0 missing feature.
* SqlClientPermission.cs: Fixed 2.0 missing feature.
2007-07-01 Gert Driesen <drieseng@users.sourceforge.net>
* ISqlNotificationReceiver.cs: Removed.
* SqlClientFactory.cs: Use SqlDataSourceEnumerator from S.D.Sql and
marked method todo. Avoid unnessary casts. Code formatting.
* SqlCommand.cs: Explicit interface implementation of IDbCommand not
necessary on 2.0 profile. Fixes API mismatches. Avoid unnecessary
casts. Code formatting.
* SqlConnection.cs: Also use RecommendAsConfigurable instead of
SettingBindableAttribute on 2.0. Use StateChange event from base class
on 2.0. Only explicitly implement IDbConnection methods on 1.0, since
these are implemented by base class on 2.0 profile. Removed extra
explicit implementation of IDisposable since the base class implements
this. Code formatting.
* SqlDataAdapter.cs: Dispose (bool) override not necessary on 2.0
profile. Stubbed ICloneable.Clone. Fixes API mismatches.
* SqlDataReader.cs: On 2.0, IDisposable.Dispose is implemented by
DbDataReader. Only 1.0 profile, explicitly implemented IEnumerable
GetEnumerator. Code formatting.
* SqlDataSourceEnumerator.cs: Removed.
* SQLDebugging.cs: Marked sealed on 2.0. Code formatting.
* SqlNotificationAuthType.cs: Removed.
* SqlNotificationInfo.cs: Added missing fields. Code formatting.
* SqlNotificationSource.cs: Added missing fields. Code formatting.
* SqlNotificationTransports.cs: Removed.
* SqlNotificationType.cs: Added missing Unknown field. Code formatting.
* SqlParameter.cs: Removed Browsable and EditorBrowsable attributes
from Precision and Scale. Fixes API mismatches. Code formatting fixes.
* SqlTransaction.cs: On 2.0 profile, Dispose method is exposed by
base class. Fixes API mismatches. Code formatting fixes.
2007-06-21 Nagappan A <anagappan@novell.com>
* SqlConnection.cs: Fixed compiler warning.
2007-06-11 Nagappan A <anagappan@novell.com>
* SqlConnection.cs (ParseDataSource): Adds tcp support in
connection string. Fixes bug # 80975.
* SqlCommand.cs (Dispose): On disposing the command object, don't
dispose connection and transaction.
2007-06-06 Nagappan A <anagappan@novell.com>
* SqlCommand.cs, SqlConnectionStringBuilder.cs, SqlConnection.cs:
Fixed 1.0 and 2.0 extras, errors as stated in class status page.
* SqlDataAdapter.cs, SqlParameter.cs:Fixed 1.0 and 2.0 extras,
errors as stated in class status page.
* SqlBulkCopyColumnMappingCollection.cs: Fixed 1.0 and 2.0 extras,
errors as stated in class status page.
2007-05-30 Nagappan A <anagappan@novell.com>
* SqlParameter.cs (SqlParameter): Updated constructor to use the
new TDS RPC implementation.
Fixed missing attributes.
(SetDbType): Added new case for sql_variant type.
(ConvertToFrameworkType): Implemented new private method to
convert the data type to framework type.
* SqlParameterCollection.cs: Fixed missing attributes and
implemented missing methods.
* SqlConnection.cs: Fixed missing attributes.
* SqlConnectionStringBuilder.cs: Certain attributes are missing or
its value or they are not appropriate. Fixed them.
* SqlDataReader.cs (GetData): Method is available only under 1.0
profile.
* SqlCommandBuilder.cs: Certain attributes are available only
under 2.0 profile, so moved them inside ifdef.
* SqlCommand.cs: Certain attributes are available only under 2.0
profile, so moved them inside ifdef.
* SqlBulkCopy.cs: Added new stubs.
* SqlBulkCopyColumnMappingCollection.cs: Added new stubs.
2007-05-29 Nagappan A <anagappan@novell.com>
* SqlCommand.cs (Dispose): Command.Dispose closing
connection. Fixes bug # 81710. Thanks to AMC <amc1999@gmail.com>
for the fix.
2007-05-10 Nagappan A <anagappan@novell.com>
* SqlClientMetaDataCollectionNames.cs: Fixed incorrect constructor
type.
* SqlConnectionStringBuilder.cs: Fixed missing attributes.
2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
* SqlConnectionStringBuilder.cs: added MonoNotSupported attribute.
2007-04-03 Amit Biswas <amit@amitbiswas.com>
* SqlDataReader.cs (GetSqlBytes, GetProviderSpecificFieldType)
(GetProviderSpecificValue, GetProviderSpecificValues): Implemented
missing API.
* SqlParameter.cs (XmlSchemaCollectionDatabase): Implemented missing property
(XmlSchemaCollectionName): Implemented missing property
(XmlSchemaCollectionOwningSchema): Implemented missing property
(SourceColumnNullMapping): Existing implementation was not correct, Replaced the implementation
(.ctor): Implemented mising constructor new in .net 2.0
* SqlErrorCollection.cs (CopyTo): Implemented missing API
* SqlParameter.cs (InferSqlType): Corrected bug related to default values of
SqlDbType and DbType
(ResetSqlDbType): Implemented missing API
(ResetDbType): Implemented missing API
2007-03-09 Amit Biswas <amit@amitbiswas.com>
* SqlParameterCollection.cs (CopyTo): Implemented missing API
2007-04-02 Nagappan A <anagappan@novell.com>
* SqlParameter.cs: Variable name fix.
2007-03-20 Nidhi Rawal <rawalnidhi_rawal@yahoo.com>
* SqlClientFactory.cs: Added two using directives.
(CreateConnectionStringBuilder): Implemented the method.
(CreatePermission): Implemented the property.
* SqlCommand.cs: Added one using directive.
(Clone): Implemented the method.
(Dispose): Implemented the method.
(BeginExecuteXmlReader): Implemented the method.
* SqlCommandBuilder.cs (QuoteIdentifier): Implemented the method.
(UnquoteIdentifier): Implemented the method.
* SqlConnection.cs (ChangePassword): Implemented the method.
2007-03-19 Nidhi Rawal <rawalnidhi_rawal@yahoo.com>
* SqlClientFactory.cs (CanCreateDataSourceEnumerator): Implemented
the property.
* SqlCommand.cs (Notification): Implemented the property.
(NotificationAutoEnlist): Implemented the property.
* SqlDataReader.cs (VisibleFieldCount): Implemented the property.
* SqlConnectionStringBuilder.cs (TrustServerCertificate): Implemented
the property.
(TypeSystemVersion): Implemented the property.
(UserInstance): Implemented the property.
(ContextConnection): Implemented the property.
* SqlConnection.cs (FireInfoMessageEventOnUserErrors): Implemented
the property.
(StatisticsEnabled): Implemented the property.
* SqlDataAdapter.cs (UpdateBatchSize): Implemented the property.
* SqlParameter.cs: Implemented one attribute.
2007-03-16 Andreia Gaita <avidigal@novell.com>
* SqlParameter.cs: Move isVariableSizeType flag to TdsMetaParameter
so that the TdsMetaParameter can validate itself for valid size / values.
* SqlCommand.cs (Execute): Call Validate on TdsMetaParameter.
2007-03-14 Nagappan A <anagappan@novell.com>
* SqlCommand.cs (CommandType): Exception type thrown in 2.0
profile is different than 1.0, ArgumentOutOfRangeException.
(Connection): Exception type thrown in 2.0 profile is different
than 1.0, ArgumentOutOfRangeException.
(Execute): If Size property is 0 for String and Binary type, then
throw InvalidOperationException.
(ValidateCommand): Exception type thrown in 2.0 profile is
different than 1.0, NullReferenceException.
2007-03-09 Nagappan A <anagappan@novell.com>
* SqlDataReader.cs: Fixed syntax erros reported in class status
page.
2007-03-09 Andreia Gaita <avidigal@novell.com>
* SqlCommand.cs (ExecuteScalar): Fix returned value for
stored procedure calls to return the first column of the
first row produced by the proc.
2007-03-08 Nagappan A <anagappan@novell.com>
* SqlCommand.cs (CloseDataReader): Checks whether the SQL
connection is created or not.
2007-03-07 Andreia Gaita <avidigal@novell.com>
* SqlCommand.cs (ExecuteScalar): when calling stored procedures,
implement support for return of output values in the parameter
collection.
2007-02-16 Nidhi Rawal <rawalnidhi_rawal@yahoo.com>
* SqlParameter.cs (CompareInfo): Implemented the property
CompareInfo.
(LocaleId): Written the property LocaleId.
(SqlValue): Written the propert SqlValue.
2007-02-15 Nidhi Rawal <rawalnidhi_rawal@yahoo.com>
* SqlCommand.cs: Added some attributes which were not implemented
for .NET 2.0 and removed extra attribute which are not there in
.NET 2.0.
* SqlCommandBuilder.cs: Added some attributes that were not
implemented for .NET 2.0.
* SqlParameterCollection.cs: Added some attributes that were
not implemented for .NET 2.0.
* SqlConnectionStringBuilder.cs: Added some attributes that
were not implemented for .NET 2.0.
* SqlConnection.cs: Added attribute that was not implemented
for .NET 2.0.
* SqlParameter.cs: Added some attributes which were not
implemented for .NET 2.0 and removed some extra attributes which
are not there in .NET 2.0
2007-02-09 Nagappan A <anagappan@novell.com>
* SqlConnection.cs (SetConnectionString): Fixes bug # 80712. A
small typo.
2007-01-08 Nagappan A <anagappan@novell.com>
* SqlTransaction.cs (Dispose): Fixed compliation warning.
* SqlDataReader.cs (GetValues): Length of elements to be copied was
decided based on the argument array passed, which caused a bug, if
the length of given array is more than actual column values.
* SqlCommandBuilder.cs (CatalogSeparator, SchemaSeparator)
(CatalogLocation): Implemented missing properties.
(CreateDeleteCommand, CreateInsertCommand, CreateUpdateCommand):
Modified private methods to take bool flag. If true, add actual
parameter name instead of p1, p2 etc.
(CreateParameter): Added overloaded private method to create
parameter with the actual column name.
(GetUpdateCommand, GetDeleteCommand, GetInsertCommand):
Implemented missing overloaded methods.
(SetRowUpdatingHandler): Implemented missing protected method.
* SqlCommand.cs: Fixed compilation warning. Removed bogus
MonoTODO's.
2006-12-05 Nagappan A <anagappan@novell.com>
* SqlCommand.cs (Execute): If sql2 length is greater than 0, then
add ';' and the respective sql2 string and then execute the
string. Fixes bug # 79880.
2006-08-30 Nagappan A <anagappan@novell.com>
* SqlConnection.cs: Implemented SqlConnection.GetSchema ().
2006-09-08 Konstantin Triger <kostat@mainsoft.com>
* SqlClientFactory.cs: implemented SqlClientFactory.CreateConnection ().
2006-07-13 Senganal T <tsenganal@novell.com>
* SqlClientFactory.cs SqlCommand.cs SqlConnectionFactory.cs
SqlClientPermission.cs SqlParameterCollection.cs SqlDataReader.cs
SqlConnection.cs SqlParameter.cs SqlTransaction.cs :
2.0 Api fixes
2006-05-31 Gert Driesen <drieseng@users.sourceforge.net>
* SqlConnection.cs: Removed extra destructor, as destructor on
System.ComponentModel.Component already calls Dispose.
* SqlParameter.cs: Removed explicit interface implementation of
IDataParameter.ParameterName.
2006-05-26 Senganal T <tsenganal@novell.com>
* SqlParameter.cs :
- InferSqlType : if value is null or DBNull.Value, retain the
current parameter type.
2006-04-18 Senganal T <tsenganal@novell.com>
* SqlConnection.cs :
- SetConnectionString : set the pareameter to default values
if connection string is empty or null
- Open : Raise InvalidOperationException if Connection String
is empty or null
- Dispose : Test exception not raised if dispose called on a
connection with empty connection string
slight modification of the patch by Jonel Rienton
2006-04-07 Senganal T <tsenganal@novell.com>
* SqlCommandBuilder.cs :
* CreateDeleteCommand ()
* CreateUpdateCommand ()