System.Data.SQLite

Login
This project makes use of Eagle, provided by Mistachkin Systems.
Eagle: Secure Software Automation
2011-10-13
06:20 Closed ticket [544dba0a2f]: DbDataReader.GetValue() does not return bool for BOOLEAN SQLite column plus 4 other changes artifact: b4e12c8cc0 user: mistachkin
06:19
Both BOOLEAN and BOOL should end up being presented as the System.Boolean CLR type. Fix for ticket [544dba0a2f]. check-in: 453dc69391 user: mistachkin tags: trunk
2011-10-12
11:22 New ticket [544dba0a2f] DbDataReader.GetValue() does not return bool for BOOLEAN SQLite column. artifact: 9e96a8b99d user: anonymous

Ticket Hash: 544dba0a2f766a0e8f52aca494ea24bc59b1aae0
Title: DbDataReader.GetValue() does not return bool for BOOLEAN SQLite column
Status: Closed Type: Code_Defect
Severity: Critical Priority: Immediate
Subsystem: Db_Type_Conversion Resolution: Fixed
Last Modified: 2011-10-13 06:20:43
Version Found In: 1.0.76
Description:
It works for a BOOL type column, but not for BOOLEAN.

The changes to SQliteConvert.TypeNameToDbType(string Name) seems to cause this.

1.0.66: if (String.Compare(Name, 0, _typeNames[n].typeName, 0, _typeNames[n].typeName.Length, StringComparison.OrdinalIgnoreCase) == 0) return _typeNames[n].dataType;

Here the input type name is only compared up to the length of _typeNames[n].typeName (So basically a String.StartsWith), while 1.0.76 compares the whole typeName.


mistachkin added on 2011-10-13 06:20:43 UTC:
The BOOLEAN type needed to be added to the lookup table now that StartsWith matching is no longer used. Fixed by check-in [453dc69391], with tests.