Moved ProviderCollectionTest.cs from System assembly to System.Configuration.
[mono.git] / mcs / class / System.Data / System.Data.Odbc / ChangeLog
1 2008-08-26  Veerapuram Varadhan  <vvaradhan@novell.com>
2
3         Patch provided by Ernesto <equistango@gmail.com>
4         * OdbcDataReader.cs: Don't call GetSchemaTable in the constructor
5         instead just get column information.  Enhances performance of
6         DataReader.
7         
8 2008-08-26  Veerapuram Varadhan  <vvaradhan@novell.com>
9
10         Patch provided by Ernesto <equistango@gmail.com>
11         * OdbcParameter.cs (CopyValue): Handle Binary type along with
12         VarBinary and Image. 
13         
14 2008-07-06  Sebastien Pouliot  <sebastien@ximian.com>
15
16         * OdbcDataReader.cs: Fix unneeded self-assignment for 'length'. Also
17         fix a bad setter where "value = behavior" instead of "behavior = value"
18         [Found using Gendarme ReviewSelfAssignmentRule]
19
20 2008-04-21  Gert Driesen  <drieseng@users.sourceforge.net>
21
22         * OdbcParameterCollection.cs: Changed argument names to match MS.
23         Code formatting.
24
25 2008-03-24  Gert Driesen  <drieseng@users.sourceforge.net>
26
27         * OdbcTransaction.cs: Use internal CreateOdbcException method on
28         OdbcConnection to create OdbcException.
29         * OdbcException.cs: Added support for multiple OdbcError instances
30         and fixed Message property on 2.0 profile.
31         * OdbcCommand.cs: Use internal CreateOdbcException method on
32         OdbcConnection to create OdbcException. Code formatting.
33         * OdbcError.cs: Moved code to obtain ODBC error info to newly
34         introduced CreateOdbcException on OdbcConnection. Code formatting.
35         * OdbcDataReader.cs: Use internal CreateOdbcException method on
36         OdbcTransaction to create OdbcException.
37         * OdbcParameterCollection.cs: Removed obsolete Bind method.
38         * OdbcConnection.cs: Added SafeDriver property that returns
39         name of driver if available and a zero-length string otherwise.
40         Use CreateOdbcException method to create OdbcException from ODBC
41         error info. Added CreateOdbcException method to construct
42         OdbcException from all available ODBC error info.
43         * OdbcParameter.cs: Use internal CreateOdbcException method on
44         OdbcConnection to create OdbcException.
45
46 2008-03-23  Gert Driesen  <drieseng@users.sourceforge.net>
47
48         * OdbcErrorCollection.cs: Corcompare fixes and code formatting.
49         * OdbcCommandBuilder.cs: Corcompare fixes and code formatting.
50         * OdbcPermission.cs: Corcompare fixes and code formatting.
51         * OdbcDataReader.cs: Corcompare fixes and code formatting.
52         * OdbcParameterCollection.cs: Corcompare fixes and code formatting.
53         * OdbcConnection.cs: Corcompare fixes and code formatting. Use
54         unicode encoding in ChangeDatabase and GetInfo.
55         * OdbcDataAdapter.cs: Corcompare fixes and code formatting.
56         * OdbcParameter.cs: Corcompare fixes and code formatting.
57
58 2008-03-21  Gert Driesen  <drieseng@users.sourceforge.net>
59
60         * libodbc.cs: Always use unicode version of ODBC functions. Fixes part
61         of bug #372823.
62         * OdbcTypeMap.cs: Fixed mapping for NChar, NText and NVarChar.
63         * OdbcDataReader.cs (GetColumn): Use Unicode encoding to decode
64         column name buffer.
65         (GetDataTypeName): Use SQLColAttribute to determine type name of
66         column.
67         (GetValue): Fixed retrieving value of nchar column. When retrieving
68         variable length unicode value, use Unicode encoding to decode buffer
69         and remove trailing null characters. Fixes bug #364430.
70
71 2008-03-03  Veerapuram Varadhan  <vvaradhan@novell.com>
72
73         ** Fixes Bug#324025
74         * OdbcDataReader (GetString): Use Convert.ToString() to return
75         appropriate typed values.
76         (GetValue): Fixes a regression. 
77         
78 2008-03-03  Veerapuram Varadhan  <vvaradhan@novell.com>
79
80         * OdbcCommandBuilder.cs: Clean up.
81         
82 2008-03-03  Veerapuram Varadhan  <vvaradhan@novell.com>
83
84         ** Fixes Bug#340451 - patch provided by Ernesto Carrea
85         <equistango@gmail.com>
86         * OdbcConnection.cs (GetInfo): Trim the value to actual length
87         returned by libodbc.
88         
89 2008-03-03  Veerapuram Varadhan  <vvaradhan@novell.com>
90
91         ** Fixes from BNC#332809 - patch provided by Ernesto Carrea
92         <equistango@gmail.com>
93         * OdbcParameter.cs (Bind): Do not allocate buffer if value is
94         DBNull.
95         * OdbcTypeConverter.cs (InferFromValue): Incase of DBNull, do not
96         throw exception, instead return NVarChar to match MS.NET
97         implementation.
98         
99 2008-03-03  Ankit Jain  <jankit@novell.com>
100
101         * OdbcMetaDataCollectionNames.cs: Set the field values.
102
103 2008-02-26  Veerapuram Varadhan  <vvaradhan@novell.com>
104
105         ** Fixes BNC#364432.
106         * OdbcParameter.cs: (Bind): Set StrLen parameter of
107         SQLBindParameter to reflect NullData in case of DBNull.
108         (CopyValue): If Value is DBNull.Value, just don't try any
109         heroics. 
110         
111 2008-02-25  Veerapuram Varadhan  <vvaradhan@novell.com>
112
113         ** Fixes BNC#364426.
114         * OdbcDataReader.cs: (GetValue): Map OdbcType.Time to
115         System.TimeSpan.  
116
117         * OdbcTypeConverter.cs: (GetTypeMap): Map OdbcType.Time and
118         SqlType.TIME to corresponding types. 
119
120         * OdbcColumn.cs: -- ditto --
121         
122 2008-02-20  Veerapuram Varadhan  <vvaradhan@novell.com>
123
124         * OdbcDataReader.cs: (GetValue): Handle cases when certain 
125         ODBC drivers return unexpected results.  Fixes #326740.  Patch 
126         provided by Mark Junker <mjscod@gmx.de>.
127         
128 2008-01-16  Veerapuram Varadhan  <vvaradhan@novell.com>
129
130         * OdbcCommandBuilder.cs: Implemented 2.0 APIs and code
131         restructuring. 
132         
133 2007-10-28  Gert Driesen  <drieseng@users.sourceforge.net>
134
135         * OdbcDataReader.cs: Code formatting, spaces to tabs.
136
137 2007-10-20  Gert Driesen  <drieseng@users.sourceforge.net>
138
139         * OdbcCommand.cs: Added constant for default CommandTimeout, instead
140         of using a magic number. Avoid unnecessary initialization. Fixed
141         default value for DesignTimeVisible. Return zero-length string if
142         CommandText is null. Spaces to tabs and code formatting.
143         * OdbcError.cs: Fixed typo in exception message.
144         * OdbcConnection.cs: Return zero-length string if ConnectionString is
145         null. In getters for Database, DataSource and Driver return a
146         zero-length string if connection is closed. In BeginTransaction and
147         GetSchema throw InvalidOperationException if connection is closed.
148         Added override for GetSchema (string, string []). Use string.Empty
149         instead of "".
150         * OdbcDataAdapter.cs: Avoid unnecessary initializations. Use direct
151         assignment in IDbDataAdapter implementation. In default ctor, set
152         SelectCommand to null.
153
154 2007-10-19  Gert Driesen  <drieseng@users.sourceforge.net>
155
156         * OdbcTransaction.cs: Clear connection in Commit and Rollback.
157         In IsolationLevel, throw IOE if transaction is no longer open.
158
159 2007-10-19  Gert Driesen  <drieseng@users.sourceforge.net>
160
161         * OdbcTransaction.cs: Keep state of the transaction, and update it
162         when performing commit or rollback. In Dispose (bool), only perform
163         a rollback if transaction was not committed or rollback before.
164         In Commit and Rollback, throw an InvalidOperationException if
165         transaction is no longer open.
166
167 2007-10-19  Gert Driesen  <drieseng@users.sourceforge.net>
168
169         * OdbcTransaction.cs: Use OdbcIsolationLevel enum value instead of
170         magic numbers. For Snapshot isolation level, the attribute
171         SQL_COPT_SS_TXN_ISOLATION must be used instead. When isolation level
172         is Unspecified, then do not modify the isolation level at all and
173         lazy initlization the IsolationLevel property. Modified exceptions
174         for invalid / not supported isolation levels to match MS.
175         * libodbc.cs: Added attribute for changing SQL Server specific
176         connection option. Added enum for ODBC isolation level options.
177         Added SQLGetConnectAttr method.
178
179 2007-10-19  Gert Driesen  <drieseng@users.sourceforge.net>
180
181         * libodbc.cs: Spaces to tabs. Code formatting.
182         * OdbcConnection.cs: Spaces to tabs. Code formatting.
183         * OdbcTransaction.cs: Code formatting.
184
185 2007-10-19  Nagappan <anagappan@novell.com> 
186
187         * OdbcCommandBuilder.cs, OdbcParameterCollection.cs: Code alignment.
188         * OdbcDataReader.cs: Fixes numeric columns, bug # 332404.
189
190 2007-10-19  Nagappan <anagappan@novell.com> 
191
192         * OdbcCommand.cs: (Clone): Implemented new method. Code alignment.
193
194 2007-10-12  Nagappan <anagappan@novell.com> 
195
196         * OdbcDataReader.cs: Bug 332400 - ODBC and LONGBLOB columns. Thanks to
197           Ernesto Carrea <equistango@gmail.com> for the patch and the test case.
198
199 2007-10-08  Marek Safar <marek.safar@gmail.com> 
200
201         * OdbcParameterCollection.cs (SetParameter): Fixed missing cast.
202
203 2007-09-27  Nagappan A <anagappan@novell.com> 
204
205         * OdbcTransaction.cs: AutoCommit and BeginTransaction fix. Thanks to
206           Mads Bondo Dydensborg <mbd@dbc.dk> and Amc <amc1999@gmail.com> for
207           providing this patch.
208
209 2007-09-25  Nagappan A  <anagappan@novell.com>
210
211         * OdbcParameter.cs (ResetOdbcType, ResetDbType): Implemented
212         missing methods. 2.0 attribute fixes.
213
214         * OdbcInfoMessageEventArgs.cs (Message, Errors, ToString):
215         Implemented missing properties and methods. 2.0 attribute fixes.
216
217         * OdbcConnection.cs (InfoMessage): Added public event and relevant
218         private APIs. 2.0 attribute fixes.
219
220         * OdbcConnectionStringBuilder.cs: 2.0 attribute fixes.
221
222         * OdbcParameterCollection.cs (GetParameter, SetParameter):
223         Implemented missing 2.0 APIs and 2.0 attribute fixes.
224
225         * OdbcDataReader.cs (finalize): 2.0 compatibility fixes.
226
227         * OdbcPermission.cs (Add): 2.0 compatibility fixes.
228
229         * OdbcCommandBuilder.cs: 2.0 attribute fixes.
230
231         * OdbcRowUpdatingEventArgs.cs (BaseCommand): Added 2.0 property.
232
233         * OdbcCommand.cs: 2.0 attribute fixes.
234
235         * OdbcException.cs: 2.0 attribute fixes.
236
237 2007-09-11  AMC  <amc1999@gmail.com>
238
239         * OdbcDataReader.cs (GetPrimaryKeys): ODBC data reader can now
240         properly handle "no-primary-keys" situation. Fixes bug # 82560.
241
242 2007-09-11  Nagappan A  <anagappan@novell.com>
243
244         * OdbcConnectionStringBuilder.cs: Fixed Dsn DisplayName attribute.
245
246 2007-08-13  Nagappan A  <anagappan@novell.com>
247
248         * OdbcMetaDataColumnNames.cs: Added new class.
249
250         * OdbcMetaDataCollectionNames.cs: Added new class.
251
252         * OdbcParameter.cs: 2.0 compatibility changes.
253
254         * OdbcFactory.cs (CreateConnectionStringBuilder)
255         (CreatePermission): Implemented new methods.
256
257         * OdbcInfoMessageEventHandler.cs: 2.0 compatibility changes.
258
259         * OdbcConnection.cs: 2.0 compatibility changes.
260         (GetSchema): Added new overloaded methods.
261
262         * OdbcConnectionStringBuilder.cs (Driver, Dsn): Added attributes
263         as per 2.0 requirement.
264
265         * OdbcDataReader.cs: 2.0 compatibility changes.
266
267         * OdbcCommandBuilder.cs: 2.0 compatibility changes.
268
269         * OdbcCommand.cs: 2.0 compatibility changes.
270
271         * OdbcErrorCollection.cs (CopyTo): Implemented new overloaded
272         method.
273
274         * OdbcException.cs: In 2.0 DbException should be inherited instead
275         of SystemException.
276
277 2007-07-31  Nagappan A  <anagappan@novell.com>
278
279         * OdbcCommand.cs (ExecSQL): Thanks to amc1999@gmail.com (amc) for
280           providing the patch, Fixes bug # 82135. ODBC SQLExecDirect
281           error. Delete where no-data-found fails.
282
283         * OdbcCommandBuilder.cs: Removed bogus TODO.
284           Fixed 2.0 missing attributes
285
286         * libodbc.cs: Added new libodbc global constant SQL_NTS.
287
288         * OdbcCommand.cs (ExecSQL): Thanks to amc1999@gmail.com (amc) for
289           providing the patch, Fixes bug # 82191. ODBC command UTF8
290           error. SQL failed with UTF8 symbols in query.
291           Removed bogus TODO.
292           Fixed 2.0 missing attributes
293
294 2007-07-22  Nagappan A  <anagappan@novell.com>
295
296         * OdbcDataAdapter.cs: Fixed compilation warning.
297
298         * OdbcTransaction.cs: Fixed compilation warning.
299
300 2007-06-30  Gert Driesen  <drieseng@users.sourceforge.net>
301
302         * OdbcDataAdapter.cs: Only override Dispose on 1.0 profile. Added
303         stub for ICloneable.Clone.
304         * OdbcTransaction.cs: Dispose should be explicit interface impl., not
305         public. Connection is also public on 2.0 profile.
306
307 2007-06-21  Nagappan A  <anagappan@novell.com>
308
309         * OdbcConnectionStringBuilder.cs: Added new file with the basic
310         work of Nidhi Rawal (rawalnidhi_rawal@yahoo.com).
311
312         * OdbcDataReader.cs (GetValue): Patch for varchar longer than 255
313         characters, by Mads Bondo Dydensborg <mbd@dbc.dk>.
314
315         * OdbcConnection.cs: Fixed compiler warning.
316
317 2007-06-06  Amit Biswas <amit@amitbiswas.com>
318
319         * OdbcParameter.cs (OdbcParameter ()): Changed default values in the constructor
320         
321         * OdbcParameterCollection.cs (AddRange (Array values)): Implemented missing method
322         (Add): Corrected bug related to default parameter names
323         (Insert): Added check for valid index values
324         (Contains): Corrected bug for case sensitivity
325         (IndexOf): Corrected bug for case sensitivity
326         (IndexOf): Corrected bug in comparing parameter names
327         (Remove): Added check for non existing parameters
328         (AddRange (OdbcParameter): Implemented missing method
329         (AddRange (Array values): Implemented missing method
330         (Insert (int index, OdbcParameter value)): Implemented missing method
331         (Insert (int index, object value)): Implemented missing method
332         (AddWithValue (string parameterName, Object value)): Implemented missing method
333         (Remove (OdbcParameter value)): Implemented missing method
334         (Contains (OdbcParameter value)): Implemented missing method
335         (CopyTo (OdbcParameter [] array, int index)): Implemented missing method
336
337 2007-05-30  Nagappan A  <anagappan@novell.com>
338
339         * OdbcDataReader.cs (GetValue): Adds nano seconds as tickcs from
340         the received buffer.
341
342 2007-05-25  Nagappan A  <anagappan@novell.com>
343
344         * OdbcDataReader.cs (GetValue): Sybase returns the fraction values
345         in nano seconds, but DateTime expects the value in milliseconds,
346         so the conversion.
347
348 2007-05-04  Nagappan A  <anagappan@novell.com>
349
350         * libodbc.cs: Wrong ODBC API definitions (using ints instead of
351         shorts) - Fixes bug 81306. Thanks to will.mooar@tait.co.nz and
352         tausq@debian.org.
353
354         * OdbcDataReader.cs: Wrong ODBC API definitions (using ints
355         instead of shorts) - Fixes bug 81306. Thanks to
356         will.mooar@tait.co.nz and tausq@debian.org.
357
358 2007-02-09  Nagappan A  <anagappan@novell.com>
359
360         * OdbcDataReader.cs (GetDecimal): Implemented new API.
361
362 2007-01-08  Nagappan A  <anagappan@novell.com>
363
364         * OdbcFactory.cs: Fixed compilation warning.
365
366         * OdbcCategoryAttribute.cs (Category): Implemented missing
367         property.
368
369         * OdbcParameterCollection.cs: Fixed compilation warning.
370
371         * OdbcCommandBuilder.cs (GetInsertCommand, GetUpdateCommand)
372         (GetDeleteCommand): Implemented overloaded method.
373
374         * OdbcTransaction.cs: Modified partial content of DOS format file
375         to UNIX format.
376
377 2006-07-13  Senganal T  <tsenganal@novell.com>
378
379         * OdbcTransaction.cs OdbcCommand.cs OdbcConnectionFactory.cs 
380         OdbcPermission.cs OdbcDataReader.cs OdbcParameterCollection.cs 
381         OdbcConnection.cs OdbcFactory.cs OdbcParameter.cs :
382                 2.0 Api fixes
383
384 2006-05-31  Gert Driesen  <drieseng@users.sourceforge.net>
385
386         * OdbcErrorCollection.cs: Removed explicit interface implementation 
387         of IEnumerable.GetEnumerator ().
388         * OdbcCommand.cs: Removed destructor as the destructor in
389         System.ComponentModel.Component already calls the Dispose method.
390         Removed explicit interface implemenation of members that are 
391         implement by public members.
392         * OdbcDataReader.cs: Removed explicit interface implemenation of
393         IDataRecord.GetData.
394
395 2006-05-24  Senganal T <tsenganal@novell.com>
396        
397         * OdbcColumn.cs :
398                 - Added IsVariableSizeType : Handle types with variable datasize
399         * OdbcTypeConverter.cs : map LongVarBinary to Image
400         * OdbcDataReader.cs :
401                 - GetValue () : Handle Text,Image datatypes differently. Only allocate
402                 storage for the data contained and not for MaxLength. Fixes #78234
403
404 2006-05-09  Senganal T  <tsenganal@novell.com>
405
406         * OdbcConnection.cs : Implemented ChangeDatabase Method
407         * libodbc.cs : Added value for CurrentCatalog in OdbcConnectionAttribute 
408
409 2006-02-17  Chris Toshok  <toshok@ximian.com>
410
411         * OdbcDataReader.cs: remove VisibleFieldCount property.
412
413 2005-11-21  Senganal T <tsenganal@novell.com>
414
415         * OdbcTransaction.cs
416         * OdbcCommandBuilder.cs
417         * OdbcParameterCollection.cs
418         * OdbcDataReader.cs
419         * OdbcFactory.cs
420         * OdbcDataAdapter.cs
421         * OdbcParameter.cs
422         
423         Added stubs and other changes for ADO.NET 2.0 compatibility
424
425 2005-10-14  Senganal T <tsenganal@novell.com>
426
427         * OdbcColumn.cs : Changed the mapping of OdbcType.Char to string
428         instead of char. Fixes bug #67269
429
430 2005-10-14  Senganal T <tsenganal@novell.com>
431
432         * OdbcDataReader.cs: Added Text and NText datatypes to the list
433         of datatypes checked by GetValue () method. Fixes bug #75032
434
435 2005-10-14  Sureshkumar T  <tsureshkumar@novell.com>
436
437         * OdbcDataReader.cs (GetValue): Use SQL_CHAR for Numeric as
438         temporary fix.
439
440         * OdbcParameter.cs (CopyValue): Add support for Numeric & Decimal
441         parameters.
442
443 2005-10-08  Sureshkumar T  <tsureshkumar@novell.com>
444
445         * OdbcCommand.cs (BindParameters): Copy the parameter Value after
446         binding.
447
448         * OdbcParameter.cs: re-implemented the native buffer handling and
449         odbc type handling.
450
451         * NativeBuffer.cs: A native buffer class to hold pointer to native
452         memory.
453
454         * OdbcTypeMap.cs (OdbcTypeMap): structure to hold different odbc
455         types and the default mapping.
456
457         * OdbcTypeConverter.cs: Simplified mapping between different odbc
458         types using switch-case.
459
460         * libodbc.cs (SQLBindParameter): use only one entry point and use
461         IntPtr instead of ref.
462
463 2005-08-20  Gert Driesen  <drieseng@users.sourceforge.net>
464
465         * OdbcDataReader.cs: Marked GetPrimaryKeysBySQLStatistics unsafe.
466         This fixes the build on Windows (using csc).
467
468 2005-08-09  Sureshkumar T  <tsureshkumar@novell.com>
469
470         * OdbcDataReader.cs: GetSchemaTable (): set values for the column
471         attributes using SQLColAttribute. If SQLPrimaryKeys does not
472         yeild, try SQLStatistics. Optimized primary key logic.
473
474         * libodbc.cs: Added api SQLStatistics and constants.
475
476         * OdbcParameter.cs: setBuffer (): allocate a short int buffer for
477         OdbcType.SmallInt. fixes bug #75600.
478
479 2005-08-08  Gert Driesen  <drieseng@users.sourceforge.net>
480
481         * OdbcConnection.cs: Marked Init helper method private.
482         * OdbcCommand.cs: Marked BindParameters helper method private.
483
484 2005-08-08  Sureshkumar T  <tsureshkumar@novell.com>
485
486         * OdbcDataReader.cs: Implemented Dispose pattern. Cache
487         schematable for same result set. don't free command's statements
488         if the command is prepared.
489
490         * OdbcConnection.cs: Open (): set disposed to false so that close
491         will be called in Dispose.
492
493         * OdbcCommand.cs:
494         - Prepare (): Split SQLPrepare and SQLBind so that
495         already prepared statements can be reused with new parameter
496         values.
497         - ExecSQL (): create new statement handle, if not prepared
498         and there are no parameters. if there are parameters, prepare and
499         use.
500         - Implemented Dispose pattern
501         - Streamlined the allocation and de-allocation of statement
502         handles.
503
504 2005-08-05  Sureshkumar T  <tsureshkumar@novell.com>
505
506         * OdbcDataReader.cs: RecordsAffected: get value from command.
507         GetSchemaTable (): set IsExpression based on BaseTableName. set
508         AllowDBNull to false if the column is PK.
509
510         * OdbcCommand.cs: correct UpdatedRowSource is returned. whitespace
511         changes to conform to standard.
512
513         * OdbcCommandBuilder.cs: Implemented.
514
515         * OdbcParameter.cs: Direction is set to Input by default.
516
517 2005-07-22  Sureshkumar T  <tsureshkumar@novell.com>
518
519         * OdbcParameter.cs: updated attributes & attribute descriptions to
520         match with masterinfos.
521
522         * OdbcDataReader.cs: NextRow (): made private.
523
524 2005-07-21  Sureshkumar T  <tsureshkumar@novell.com>
525
526         * OdbcDataReader.cs: GetValue (): added case for OdbcType.Bit. and
527         Formatting corrections. Fixes bug #75574.
528
529 2005-07-07  Sureshkumar T  <tsureshkumar@novell.com>
530
531         * OdbcTypeConverter.cs: ConvertToSqlType & ConvertToSqlCType: map
532         VarChar to SQL_C_CHAR and SQL_VARCHAR respective instead of WCHAR
533         and WVARCHAR as temporary fix.
534
535         * OdbcParameter.cs: setBuffer: string types need not be quoted.
536
537 2005-06-28  Sureshkumar T  <tsureshkumar@novell.com>
538
539         * OdbcDataReader.cs: GetPrimaryKeys (): use the length indicator
540         for GetString, otherwise, it creates a string of length 255. Use
541         ArrayList for keys as the columns are different from the selected
542         columns. fixes bug #75263.
543
544 2005-06-09  Sureshkumar T  <tsureshkumar@novell.com>
545
546         * OdbcDataReader.cs: GetValue (): return decimal in case of odbc
547         type Numeric. Move the temp buffer logic inside.
548
549         * OdbcTypeConverter.cs: map SQL_TYPE.NUMERIC to SQL_C_TYPE.CHAR by
550         now, since PgSql driver seems not to accept NUMERIC c type. Other
551         database anyway, provides NUMERIC datatype as DECIMAL.
552
553 2005-05-31  Sureshkumar T  <tsureshkumar@novell.com>
554
555         * OdbcParameter.cs: setBuffer (): for numeric type, the buffer
556         parameter should be a packed decimal struct. fixes bug #75041.
557
558 2005-04-05  Sureshkumar T  <tsureshkumar@novell.com>
559
560         * OdbcParameter.cs: SqlBindParameter requires the last parameter
561         to be a ref.
562         * libodbc.cs: API change for above.
563
564 2005-04-04  Sureshkumar T  <tsureshkumar@novell.com>
565
566         * OdbcDataReader.cs: Ignore BaseTableName & BaseColumnName
567         properties while building Schema information as most drivers
568         ignores these properties. e.g. PostgreSQL.
569
570 2005-03-24  Sureshkumar T  <tsureshkumar@novell.com>
571             Appasamy <appasamy@rediffmail.com>
572
573         * OdbcColumn.cs: IsStringType: OdbcType.Char is also of type
574         String.
575         * OdbcDataReader.cs: GetSchemaTable: Get Additional info using
576         SQLColAttribute. Don't pad with spaces in GetColAttributeStr.
577
578 2005-03-24  Sureshkumar T  <tsureshkumar@novell.com>
579
580         * OdbcDataReader.cs:
581         - GetValue: Decode only outsize length for SQL_C_TYPE.CHAR type in
582         SQLGetData.
583         - GetOrdinal: Perform case insensitive lookup if sensitive lookup
584         fails.
585
586 2005-03-22  Sureshkumar T  <tsureshkumar@novell.com>
587             Appsamy <appasamy@rediffmail.com>
588
589         * libodbc.cs (System.Data.Odbc): Added enum FieldIdentifier. Added
590         library functions SQLPrimaryKeys, SQLBindCol and SQLColAttribute.
591
592         * OdbcDataReader.cs: Implemented GetPrimaryKeys to get the primary
593         keys associated with resultset using SQLPrimaryKeys.
594
595 2005-03-15  Sureshkumar T  <tsureshkumar@novell.com>
596
597         * OdbcConnection.cs: re-throw error on exception in Open method.
598
599 2005-03-11  Sureshkumar T  <tsureshkumar@novell.com>
600
601         * OdbcConnection.cs : notify state change through event. clean up
602         handles in case any exception while opening a connection. NET_2_0
603         uses base class's OnStateChange handler.
604
605 2005-03-10  Sureshkumar T  <tsureshkumar@novell.com>
606
607         Migrated core classes to derive from ProviderBase instead of
608         implementing IDb* interfaces. Most part of these files have been
609         branched with #if NET_2_0/ONLY_1_1. Make sure any changes works
610         with both the profiles.
611
612         * OdbcFactory.cs: Concrete Factory for DbProviderFactory. Factory
613         to generate Connection,Command,etc.
614
615         * OdbcConnectionFactory.cs: Concrete factory for DbConnectionFactory.
616
617         * OdbcTransaction.cs: migration and overrides.
618         * OdbcCommandBuilder.cs: migration and overrides.
619         * OdbcDataReader.cs: --do--. no command behavior member as it will
620         be maintained in base provider class.
621         * OdbcParameterCollection.cs: --do--. Now, local ArrayList is not
622         maintained here, instead it is in base class. Most of the methods
623         which operated on this list are not needed in NET_2_0.
624         * OdbcConnection.cs: Migration. connectionString is maintained in
625         DbConnectionBase class.
626         * OdbcParameter.cs: Migration. Many of the local members like
627         value,sourceColumn are maintained in DbParameterBase.
628         * OdbcCommand.cs: Migration. commandText,timeout and
629         commandTimeOut are maintained in DbCommandBase class.
630
631 2005-03-10  Sureshkumar T  <tsureshkumar@novell.com>
632
633         * OdbcType.cs: Added enums for SQL_TYPE & SQL_C_TYPE.
634         
635         * libodbc.cs: Accept SQL_C_TYPE for driver
636         parameters. SQLBindParameter takes two parameters SQL_TYPE and
637         SQL_C_TYPE. This caused the whole lot of changes done in this
638         revision.
639         
640         * OdbcParameter.cs: Set default values of OdbcType & DbType. Pass
641         mapped SQL_TYPE and SQL_C_TYPE to SQLBindParameter. Increase
642         buffer size by 2 for additional ' chars.
643         
644         * OdbcTypeConverter.cs: Added class to convert between OdbcType,
645         SQL_TYPE, SQL_C_TYPE.
646         
647         * OdbcColumn.cs: Added private members for SQL_TYPE and
648         SQL_C_TYPE. conversion from/to odbctype to/from SQL_TYPE is done
649         through OdbcTypeConverter class.
650         
651         * OdbcDataReader.cs: use OdbcColumn's SQL_C_TYPE member. It keeps
652         track of default mapping between odbctype, SQL_TYPE and
653         SQL_C_TYPE. Move dataTableSchema.AcceptChanges inside if condition
654         to avoid null reference exception.
655
656 2005-02-04  Sureshkumar T  <tsureshkumar@novell.com>
657             Appasamy <appasamy@rediffmail.com>
658
659         * OdbcConnection.cs: Implemented properties database, datasource,
660         serverversion and driver.
661         * libodbc.cs: Added type OdbcInfo and native call SQLGetInfo.
662
663 2005-01-20  Sureshkumar T  <tsureshkumar@novell.com>
664
665         * OdbcDataReader.cs: case for type OdbcType.Double added in
666         GetValue.  fixes bug #71173.
667
668         Thanks to patch given by "Appasamy T" <appasamy@rediffmail.com>
669
670 2005-01-19  Sureshkumar T  <tsureshkumar@novell.com>
671
672         * OdbcType.cs: Change enum values for compatiability with MS.NET.
673         * libodbc.cs: Change enum values for compatiability with
674         MS.NET. Change calls into driver with native type.
675         * OdbcDataReader.cs: Change enum values for compatiability with
676         MS.NET. Change calls from/into driver with native type.
677
678 2005-01-18  Sureshkumar T  <tsureshkumar@novell.com>
679
680         * OdbcDataReader.cs: GetOrdinal need not check for
681         currentRow. Return -1 if column name is not found.
682
683         fixes bug #71261. Thanks to patch given by "Appasamy T"
684         <appasamy@rediffmail.com>.
685
686 2005-01-13  Sureshkumar T  <tsureshkumar@novell.com>
687
688         * OdbcDataReader.cs: Implement NextResultSet for multiple result
689         set queries. 
690         
691         * OdbcDataReader.cs: build column schema once creating reader and
692         then for each Next result set. Thanks to
693         sebastien.robitaille@croesus.com (Sebastien Robitaille) for
694         pointing out this optimization (bugzilla #70530).
695
696         * libodbc.cs: Added library calls SQLFreeStmt and SQLMoreResults
697         for mutiple resultsets.
698
699 2005-01-10  Sureshkumar T  <tsureshkumar@novell.com>
700
701         * OdbcDataReader.cs: Connection has to be closed only after
702         Statement handle is freed. fixes bug #70048.
703
704 2005-01-07  Sureshkumar T  <tsureshkumar@novell.com>
705
706         * OdbcDataReader.cs: Pass OdbcCType.SignedBigInt for accessing big
707         int columns.
708
709         * OdbcType.cs: Added a new enum for Odbc C DataTypes. This should
710         essentially be passed to drivers, since the public OdbcType types
711         differs from types expected in drivers in some cases.
712
713         * libodbc.cs : Added a ODBC method which takes OdbcCType
714         enumeration for SQLGetData for BigInt fields.
715
716         fixes bug #65342.
717
718 2004-12-28  Duncan Mak  <duncan@ximian.com>
719
720         * libodbc.cs: Change all the DllImport attributes to point to
721         "odbc32.dll" instead of "odbc32", because /etc/mono/config lists
722         "odbc32.dll" (all other entries in the file have the .dll suffix
723         as well, for consistency's sake, let's rename it here.)
724
725         This fixes #70727.
726         
727 2004-12-03  Sureshkumar T  <tsureshkumar@novell.com>
728
729         * OdbcParameter.cs: Fixed a null reference exception when a
730         parameter is created and its value is not set. #68750.
731
732 2004-11-26  Sureshkumar T  <tsureshkumar@novell.com>
733
734         * OdbcParameter.cs: Fixed Parameter Size property as well as
735         insufficient buffer errors. bug #68749.
736
737 2004-09-14  Sebastien Pouliot  <sebastien@ximian.com>
738
739         * OdbcPermission.cs: Added internal constructor accepting an Odbc
740         PermissionAttribute parameter (using base class protected ctor).
741         * OdbcPermissionAttribute.cs: Copy now use the new OdbcPermission
742         constructor.
743
744 2004-09-13  Sebastien Pouliot  <sebastien@ximian.com>
745
746         * OdbcPermission.cs: Mostly completed (needs tests).
747         * OdbcPermissionAttribute.cs: Completed.
748
749 2004-08-31 Umadevi S (sumadevi@novell.com)
750         * OdbcDataReader.cs - Fixed Decimal parsing
751
752 2004-08-30 Umadevi S (sumadevi@novell.com)
753         * OdbcType.cs - removed inheritance from short.
754
755 2004-08-27 Sureshkumar T (tsureshkumar@novell.com)
756         * OdbcDataReader.cs - fixed bug #63539 - TINYINT ODBC datatype is converted into System.Byte
757
758 2004-08-26 Sureshkumar T (tsureshkumar@novell.com)
759         * OdbcDataReader.cs - Date & DateTime GetValue fixed. 
760                               GetBytes ordinal parameter passing fixed for BINARY in GetValue.
761
762 2004-08-20 Sureshkumar T (tsureshkumar@novell.com)
763         * OdbcConnection.cs - correct handles are passed to OdbcError exception to trap the correct error
764
765 2004-08-04 Umadevi S (sumadevi@novell.com)
766         * OdbcDataReader.cs - Fixed bug 61832 - Column names were not filled, due to which name based lookup of columns failed.
767                                                                                                   
768
769 2004-08-04 Umadevi S (sumadevi@novell.com)
770         * OdbcDataReader.cs - Fixed bug 61405 - Handling smallint column type.
771
772 2004-07-30  Sureshkumar T (tsureshkumar@novell.com)
773         * OdbcCommand.cs: ExecuteNonQuery Closed statement handle to fix memory leak
774         * OdbcDataReader.cs: Closed statement handle to fix memory leak
775                              Removed SQLState login in GetBytes coz OdbcError provides the same.
776                                     
777 2004-07-29 Umadevi S (sumadevi@novell.com)
778         * OdbcCommand.cs - Fixed bug 62046. ExecuteNonQuery implemented correctly
779                                                                                                     
780
781 2004-07-28 Umadevi S (sumadevi@novell.com)
782         * OdbcParameter.cs - fixed bug 61968. String values passed with quotes
783                                                                                                  
784
785 2004-07-07 Umadevi S (sumadevi@novell.com)
786         * OdbcConnection.cs - Allowed Close to be called multiple times
787                             - Implementation of Dispose method
788
789 2004-07-07 Umadevi S (sumadevi@novell.com)
790         * OdbcCommand.cs : fixed set method for Transaction
791                                                           
792 2004-07-01  Sureshkumar T (tsureshkumar@novell.com)
793         * OdbcCommand.cs   : fixed reader problem with ExecuteScalar
794
795 2004-06-23  Sureshkumar T (tsureshkumar@novell.com)
796         * OdbcConnection.cs: Fix: Moved env allocation to Open method. 
797                              Disconnection & freeing handles are done in Close 
798                              method to avoid simultaneous connections.
799         * libodbc.cs       : Added constants for odbc version.
800                                     
801 2004-06-16  Gert Driesen <drieseng@users.sourceforge.net>
802
803         * OdbcError.cs: fixed serialization compatibility with MS.NET
804         * OdbcErrorCollection.cs: fixed serialization compatibility with
805         MS.NET
806         * OdbcException.cs: fixed serialization compatibility with MS.NET
807
808 2004-06-16  Sureshkumar T (tsureshkumar@novell.com)
809         * OdbcDataReader.cs: Added GetValue support for Sql Binary type to return byte array.
810                              Implemented GetBytes method.
811         * libodbc.cs       : Added enums, constants & imports for above fix.
812
813 2004-06-13  Gert Driesen <drieseng@users.sourceforge.net>
814
815         * OdbcDataReader.cs: changed GetData method to return IDataReader
816         to match MS.NET
817
818 2004-06-09  Sureshkumar T (tsureshkumar@novell.com)
819         * OdbcDataReader.cs: Removed checking of currentRow in GetName
820           method
821
822 2004-06-04  Gert Driesen <drieseng@users.sourceforge.net>
823
824         * OdbcPermission.cs: moved Obsolete attribute to correct
825         ctor
826
827 2004-06-02  Sureshkumar T (tsureshkumar@novell.com)
828        
829         * OdbcDataReader.cs: Implemented GetByte method. Fixed bug #58820
830
831 2004-06-02  Gert Driesen <drieseng@users.sourceforge.net>
832
833         * OdbcParameter.cs: added missing attributes
834         * OdbcPermission.cs: added missing attributes
835         * OdbcConnection.cs: fixes attribute, added missing attributes
836         * OdbcInfoMessageEventArgs.cs: removed extra properties, fixed
837         API compatibility with MS.NET
838         * OdbcCommandBuilder.cs: use correct attributes
839
840 2004-05-20  Gert Driesen (drieseng@users.sourceforge.net)
841
842         *  OdbcPermissionAttribute.cs: change AllowMultiple and
843         Inherited to match .NET
844
845 2004-05-17 Umadevi S (sumadevi@novell.com)
846         * OdbcPermissionAttribute, OdbcPermission.cs - fixed missing methods
847
848 2004-05-17 Gert Driesen (drieseng@users.sourceforge.net)
849         * OdbcCategoryAttribute.cs: fixed namespace
850         * OdbcDataAdapter.cs: removed extra attributes
851         * OdbcDescriptionAttribute.cs: fixed namespace
852
853 2004-05-14 Umadevi S (sumadevi@novell.com)
854         * OdbcParameterConverter.cs -Added 
855         * OdbcParameter.cs - Added some attributes      
856
857 2004-05-14 Umadevi S (sumadevi@novell.com)
858         * OdbcDataAdapter.cs - Added Attributes
859
860 2004-05-14 Umadevi S (sumadevi@novell.com)
861         * OdbcConnection.cs - Added Attributes
862
863 2004-05-14 Umadevi S (sumadevi@novell.com)
864         * OdbcCommand.cs - Added Attributes
865
866 2004-05-14 Umadevi S (sumadevi@novell.com)
867         * OdbcDataReader.cs - Added Attributes
868
869 2004-05-14 Umadevi S (sumadevi@novell.com)
870         * Added Classes OdbcCategoryAttribute.cs, OdbcDescriptionAttribute.cs
871
872 2004-05-14 Umadevi S (sumadevi@novell.com)
873         * Added Class OdbcCommandBuilder.cs
874
875 2004-05-14 Umadevi S (sumadevi@novell.com)
876         * Added classes OdbcInfoMessageEventArgs.cs - with stubs
877         * Added classes OdbcInfoMessageEventInfo.cs     
878
879 2004-05-14 Umadevi S (sumadevi@novell.com)
880         * Added classes OdbcPermission.cs, OdbcPermissionAttribute.cs - with stubs
881
882 2004-05-09  Gert Driesen (drieseng@users.sourceforge.net)
883         * OdbcException.cs : removed ErrorCode property, fixing signature
884         * OdbcErrorCollection.cs : added internal ctor, reduced 
885         accessibility of Add method to internal
886         * OdbcCommand.cs: marked hstmt field private, remove setters for
887         Parameters property
888         * OdbcDataReader.cs: Added GetDate method, renamed GetTimeSpan to
889         GetTime to match MS.NET, added HasRows stub
890
891 2004-05-09  Gert Driesen (drieseng@users.sourceforge.net)
892         * OdbcError.cs: 
893         * OdbcErrorCollection.cs:
894         * OdbcException.cs: fixed linefeeds to DOS to match other
895         sources in System.Data.Odbc
896
897 2004-05-09  Gert Driesen (drieseng@users.sourceforge.net)
898         * OdbcCommand.cs: No longer use OdbcConnection.Datareader, in order 
899         to fix signature of OdbcConnection
900         * OdbcDataReader.cs: No longer use ODbcConnection.Datareader, in 
901         order to fix signature of OdbcConnection
902         * OdbcConnection.cs: Signature fixes: removed DataReader property, 
903         added setter for ConnectionTimeout, made transaction internal
904         * OdbcParameter.cs: reduced accessibility of Bind method to 
905         internal, added setter for IsNullable
906         * OdbcParameterCollection.cs: made default ctor and Bind method
907         internal
908
909 2004-05-09  Gert Driesen (drieseng@users.sourceforge.net)
910         * OdbcCommand.cs: fixed linefeeds to DOS to match other sources
911         in System.Data.Odbc
912
913 2004-05-09  Gert Driesen (drieseng@users.sourceforge.net)
914         * OdbcTransaction.cs: fixed signature to match MS.NET
915
916 2004-05-09  Gert Driesen (drieseng@users.sourceforge.net)
917         * OdbcType.cs: fixed typo UniqueIndetifier
918         * OdbcColumn.cs : fixed typo UniqueIndetifier
919
920 2004-05-09  Gert Driesen (drieseng@users.sourceforge.net)
921         * OdbcType.cs: fixed linefeeds to DOS to match other sources
922         in System.Data.Odbc
923
924 2003-12-01  Gonzalo Paniagua Javier <gonzalo@ximian.com>
925
926         * OdbcTransaction.cs: applied patch from Jeff Seifert that makes
927         this class implement IDbTransaction interface.
928
929 2002-11-01  Daniel Morgan <danmorg@sc.rr.com>
930
931         * OdbcDataReader.cs: - uncommented code, but I put a FIXME:
932         according to Brian, this does not work on MS .NET however, we need it
933         for Mono for now. schemaRow.AcceptChanges(),
934         - implement IEnumerable.GetEnumerator()
935     
936         * libodbc.cs: changed the DllImport from "odbc32.dll" to "odbc32"
937     
938 2002-10-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
939
940         * ChangeLog: added.
941         * OdbcError.cs:
942         * OdbcException.cs: added dummy implementation for these missing
943         classes.
944