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