+2006-09-14 Mart Roosmaa <roosmaa@gmail.com>
+
+ * SqliteCommand.cs: Handle enums by their underliying type.
+
+2006-09-13 Mart Roosmaa <roosmaa@gmail.com>
+
+ * SqliteDataReader.cs: Implemented GetBytes ().
+ * SqliteCommand.cs: Automatically convert enums to Int32.
+
+2006-08-20 Joshua Tauberer <jt@occams.info>
+
+ * SqliteConnection.cs: Changed Version property (which is
+ read-only) from internal to public so users can know
+ which version of Sqlite was actually connected to.
+
+2006-05-25 Joshua Tauberer <tauberer@for.net>
+
+ * SqliteCommand.cs: Unnamed parameters by index weren't
+ implemented.
+
+2006-05-13 Joshua Tauberer <tauberer@for.net>
+
+ Reported by Sebastian Dröge <slomo@ubuntu.com>.
+ * Sqlite.cs: The binding for sqlite3_last_insert_rowid had
+ the wrong type for the return (int vs long).
+ * SqliteConnection: LastInsertRowId: I didn't want to break
+ the public API, so it casts the long return from that
+ to an int.
+ * SqliteCommand: LastInsertRowID(): Wrap the above property.
+
+2006-03-14 Kamil Skalski <nazgul@nemerle.org>
+
+ * SqliteConnection.cs, Sqlite.cs: Add option for specifying busy
+ timeout in underlying sqlite structure. It allows enabling
+ automatic waiting for lock cleanup in multithreaded usage.
+
+
+2006-03-11 Joshua Tauberer <tauberer@for.net>
+
+ * Use HGlobal rather than CoTaskMem String-To-Ptr functions in
+ Marshal class. StringToCoTaskMemAnsi is broken (pending it
+ being fixed): it actually uses Ansi, instead of UTF-8. Now,
+ Sqlite2 with no encoding parameter uses UTF-8 encoding. Any
+ Sqlite2 DB since Jan. 20 was encoded in ANSI but unreadable
+ back.
+
+2006-03-07 Kamil Skalski <nazgul@nemerle.org>
+
+ * SqliteDataReader.cs: Handle null values in result as having
+ string type
+
+2006-02-10 Joshua Tauberer <tauberer@for.net>
+
+ * SqliteDataReader: Made 64bit clean. Patch from
+ Joe Shaw <joeshaw@novell.com>.
+
+2006-01-22 Joshua Tauberer <tauberer@for.net>
+
+ Most of the below fixes (in previous changes too) are thanks
+ to Thomas Zoechling and Tom Surace, and the byte[]->blob
+ parameter binding is thanks to <pablosantosluac@terra.es>.
+
+ * SqliteCommand.cs:
+ - Don't use a regex for finding parameters in v2.
+ It didn't work when there were no parameters in
+ the query (infinite loop of some sort -- should be filed
+ as a Mono bug I guess). Just scan for parameters names
+ that aren't within quotes.
+ - That wasn't even being called. Now it is.
+ - Marshaling for sqlite3_bind_parameter_name was wrong, as
+ was the unicode call to bind_text16 which was looking for
+ byte length of string while we were providing char length.
+ - Bind byte[] parameters as blobs.
+ - Trim the SQL string. Trailing spaces makes it think
+ another statement is coming along.
+ * SqliteDataReader.cs: When DATE/DATETIME columns come
+ back as Int64s, return them using DateTime.FromFileTime.
+ And don't return Int64s as ints if they aren't in the
+ range of an int.
+ - Check column names case-insensitively (bug 77272).
+ * SqliteParameter.cs: Public parameter names made nicer.
+ * SqliteParameterCollection.cs: Allow users to set parameter
+ names with or without the : prefix that Sqlite wants.
+ * Sqlite.cs: Supporting changes.
+ * SqliteDataReader, SqliteConnection: ToLower with the
+ invariant culture (bug 77372).
+
+2006-01-20 Joshua Tauberer <tauberer@for.net>
+
+ * Sqlite3 calls now use unicode encoding. Sqlite2
+ calls use ANSI encoding (a superset of the default
+ expected encoding ISO8859-1), unless the new
+ encoding= connection string argument is used,
+ in which case that encoding is used. But that encoding
+ must use a single-byte null terminator, so only
+ UTF-8 is recommended. This removes the dependency
+ on Mono.Posix. If UTF-8 encoding is used, Sqlite2's
+ LIKE, GLOB, LENGTH, and SUBSTR aren't going to respect
+ multibyte chars unless Sqlite was specifically compiled
+ to do so.
+ * SqliteDataReader.this[] is fixed to wrap GetValue.
+
+2006-01-06 Joshua Tauberer <tauberer@for.net>
+
+ * SqliteDataReader.cs: GetFieldType can be called
+ before the reader is positioned on a row. In that
+ case, return the types for the first row.
+
+2006-01-02 Joshua Tauberer <tauberer@for.net>
+
+ * SqliteCommand.cs: It was revealed that preparing
+ statements ahead of time was not possible as table
+ schema changes lead to errors. This needed serious
+ reorganization. SQL syntax errors and BUSY errors
+ are now raised in nice exceptions.
+ * SqliteDataReader.cs:
+ * Use object[] in place of ArrayList for each row.
+ * For Sqlite3, which remembers whether a value was
+ an integer, text, real, or blob, actually return
+ longs, strings, doubles, and byte[]s.
+ * GetDataTypeName() works where possible (Sqlite3).
+ * INT/INTEGER columns are now returned as ints,
+ rather than longs, for Sqlite3. Similarly for
+ DATE and DATETIME columns, now returning DateTimes.
+ * SqliteConnection.cs.cs: BeginTransaction(IsolationLevel)
+ throws InvalidOperationException per the MS docs.
+ * SqliteExceptions.cs: New file with SqliteSyntaxException,
+ SqliteExecutionException, and its subclass SqliteBusyException.
+
+2005-12-27 Jonathan Pryor <jonpryor@vt.edu>
+
+ * SqliteCommand.cs: Use non-obsolete UnixMarshal members.
+
+2005-10-06 Chris Lahey <clahey@localhost.localdomain>
+
+ * SqliteCommand.cs (Prepare): Use UnixMarshal here to get proper
+ utf8 behavior.
+
+2005-07-28 Joshua Tauberer <tauberer@for.net>
+
+ * Sqlite.cs, SqliteCommand.cs: Report string error messages
+ in prepare, for version 3.
+
+2005-07-26 Joshua Tauberer <tauberer@for.net>
+
+ SQL commands can have multiple statements within them (i.e.
+ separated by semicolons). Sqlite has to be instructed to
+ process each command.
+
+ * Sqlite.cs: Pass the sql command as an IntPtr so we can
+ see where pzTail takes us.
+ * SqliteCommand.cs: Lazily load sql_params for good measure.
+ Iterate compile/prepare until each statement in the string
+ has been processed, and retain pointers to each compiled
+ statement. When executing, run all of the statements.
+
+2005-06-14 Thomas Zoechling <thomas.zoechling@gmx.at>
+
+ * Sqlite.cs:
+ - Added sqlite3_bind_* for native Sqlite3 Parameters
+ * SqliteCommand.cs
+ - Added methods for parameter processing/binding (sqlite3 uses bind / sqlite2 uses regEx to extract parameters)
+ - Sqlite uses ':' as delimeter!
+ * SqliteParameterCollection.cs
+ - Chris Turchin fixed a problem in the Parameter Hashmap
+ * SqliteTransaction.cs
+ - The CommandText for the Rollback Command was "COMMIT" ! ->changed :)
+
2005-05-20 Sureshkumar T <tsureshkumar@novell.com>
- * SqliteConnection.cs: SetConnectionString: trim white spaces,
- ignore empty connection string options.
+ * SqliteConnection.cs:
+ - SetConnectionString: trim white spaces, ignore empty connection
+ string options.
+ - SetConnectionString: if file://,db_file starts from pos 7 not 6.
+