New test.
[mono.git] / mcs / class / Mono.Data.SqliteClient / Mono.Data.SqliteClient / ChangeLog
index 47bda6fe09117e9f9c0978b01ecc540a603e15cb..ca760231f9e11a85c68c459bc704fd8bd4a652cc 100644 (file)
@@ -1,3 +1,171 @@
+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: