Jan Slodicka wrote:
>
> bool exists;
> exists = idxs.TryGetValue("Abc", out i);// true => ok
> exists = idxs.TryGetValue("abc", out i);// false => BUG
>
Thanks, fixed on trunk. SQLiteDataReader now uses the built-in
StringComparer class instead.
--
Joe Mistachkin
This looks like a bug (ColumnNameComparer is taken from SqliteDataReader
1.0.89):
var idxs = new Dictionary(new ColumnNameComparer());
idxs.Add("Xyz", 1);
idxs.Add("Abc", 2);
bool exists;
exists = idxs.TryGetValue("Abc", out i);// true => ok
exists =
>> 2) SqliteDataReader.GetOrdinal()
> This does not appear to be entirely compatible, most notable due to not
> taking the keyInfo into account.
Sorry, I forgot that we eliminated all keyInfo-related code.
Anyway, it still would make sense to extend caching to all column names that
were
Jan Slodicka wrote:
>
> I have couple of small perf tips.
>
> 1) SQLite3.GetValue(SqliteStatement stmt, int index, SQLiteType typ)
>
> Starts with this code:
> if (IsNull(stmt, index)) return DBNull.Value;
>
I've adjusted the method to take advantage of the known affinity, here:
Hi Joe,
I have couple of small perf tips.
1) SQLite3.GetValue(SqliteStatement stmt, int index, SQLiteType typ)
Starts with this code:
if (IsNull(stmt, index)) return DBNull.Value;
In my opinion the call into native code (IsNull) is unnecessary in case
typ.Affinity is known - which happens
System.Data.SQLite version 1.0.89.0 (with SQLite 3.8.1) is now available on
the System.Data.SQLite website:
http://system.data.sqlite.org/
Further information about this release can be seen at
http://system.data.sqlite.org/index.html/doc/trunk/www/news.wiki
Please post on the SQLite
6 matches
Mail list logo