1 2007-02-03 Marek Habersack <grendello@gmail.com>
3 * SqliteTransaction.cs: Use in the 1.x profile only.
5 * SqliteParameter.cs: Use in the 1.x profile only.
7 * SqliteParameterCollection.cs: Use in the 1.x profile only.
9 * SqliteDataReader.cs: Use in the 1.x profile only.
11 * SqliteDataAdapter.cs: Use in the 1.x profile only.
13 * Sqlite.cs: Use in the 1.x profile only.
15 * SqliteConnection.cs: Use in the 1.x profile only.
17 * SqliteCommand.cs: Use in the 1.x profile only.
20 2007-01-26 Miguel de Icaza <miguel@novell.com>
22 * SqliteParameterCollection.cs: If the parameter is prefixed,
23 ignore the prefix when we do the lookup. Replicates the behavior
26 The code paths changed recently with the 2.0-ification of
27 Mono.Data.SqliteClient
29 2007-01-16 Marek Habersack <grendello@gmail.com>
31 * SqliteCommandBuilder.cs: Nothing-to-do implementation of the
32 ApplyParameterInfo method.
34 * SqliteDataReader.cs: Implemented the GetChars, GetData, GetGuid
37 * SqliteConnection.cs: Support the DataSource in addition to Uri
38 field in the connection string for 2.0.
39 Use non-variant, case insensitive Uri/DataSource value
41 Implemented the ChangeDatabase method.
43 * SqliteConnectionStringBuilder.cs: Implementation
45 * SqliteClientFactory.cs: Added the CreateConnectionStringBuilder
48 2007-01-15 Marek Habersack <grendello@gmail.com>
50 * SqliteCommandBuilder.cs: new file, ADO.NET 2.0 command builder
51 for generic Db* support
53 * SqliteTransaction.cs: ADO.NET 2.0 support
55 * SqliteParameter.cs: ADO.NET 2.0 support
56 Implement SourceColumnNullMapping.
57 Implement ResetDbType.
59 * SqliteCommand.cs: ADO.NET 2.0 support
60 Implement the ICloneable interface.
61 Implement parameterless ExecuteReader.
62 Implement the DesignTimeVisible property.
64 * SqliteDataAdapter.cs: ADO.NET 2.0 support
66 * SqliteConnection.cs: ADO.NET 2.0 support
67 Implement ServerVersion.
68 Implement the ICloneable interface.
70 * SqliteDataReader.cs: ADO.NET 2.0 support
71 Add a few interfaces to the class signature.
73 * SqliteParameterCollection.cs: ADO.NET 2.0 support
76 * SqliteDataSourceEnumerator.cs: ADO.NET 2.0 data support.
78 * SqliteClientFactory.cs: new file, ADO.NET 2.0 factory for
81 2007-01-07 Miguel de Icaza <miguel@novell.com>
83 * SqliteConnection.cs: Automatically try version 3 if this fails.
85 2006-09-14 Mart Roosmaa <roosmaa@gmail.com>
87 * SqliteCommand.cs: Handle enums by their underliying type.
89 2006-09-13 Mart Roosmaa <roosmaa@gmail.com>
91 * SqliteDataReader.cs: Implemented GetBytes ().
92 * SqliteCommand.cs: Automatically convert enums to Int32.
94 2006-08-20 Joshua Tauberer <jt@occams.info>
96 * SqliteConnection.cs: Changed Version property (which is
97 read-only) from internal to public so users can know
98 which version of Sqlite was actually connected to.
100 2006-05-25 Joshua Tauberer <tauberer@for.net>
102 * SqliteCommand.cs: Unnamed parameters by index weren't
105 2006-05-13 Joshua Tauberer <tauberer@for.net>
107 Reported by Sebastian Dröge <slomo@ubuntu.com>.
108 * Sqlite.cs: The binding for sqlite3_last_insert_rowid had
109 the wrong type for the return (int vs long).
110 * SqliteConnection: LastInsertRowId: I didn't want to break
111 the public API, so it casts the long return from that
113 * SqliteCommand: LastInsertRowID(): Wrap the above property.
115 2006-03-14 Kamil Skalski <nazgul@nemerle.org>
117 * SqliteConnection.cs, Sqlite.cs: Add option for specifying busy
118 timeout in underlying sqlite structure. It allows enabling
119 automatic waiting for lock cleanup in multithreaded usage.
122 2006-03-11 Joshua Tauberer <tauberer@for.net>
124 * Use HGlobal rather than CoTaskMem String-To-Ptr functions in
125 Marshal class. StringToCoTaskMemAnsi is broken (pending it
126 being fixed): it actually uses Ansi, instead of UTF-8. Now,
127 Sqlite2 with no encoding parameter uses UTF-8 encoding. Any
128 Sqlite2 DB since Jan. 20 was encoded in ANSI but unreadable
131 2006-03-07 Kamil Skalski <nazgul@nemerle.org>
133 * SqliteDataReader.cs: Handle null values in result as having
136 2006-02-10 Joshua Tauberer <tauberer@for.net>
138 * SqliteDataReader: Made 64bit clean. Patch from
139 Joe Shaw <joeshaw@novell.com>.
141 2006-01-22 Joshua Tauberer <tauberer@for.net>
143 Most of the below fixes (in previous changes too) are thanks
144 to Thomas Zoechling and Tom Surace, and the byte[]->blob
145 parameter binding is thanks to <pablosantosluac@terra.es>.
148 - Don't use a regex for finding parameters in v2.
149 It didn't work when there were no parameters in
150 the query (infinite loop of some sort -- should be filed
151 as a Mono bug I guess). Just scan for parameters names
152 that aren't within quotes.
153 - That wasn't even being called. Now it is.
154 - Marshaling for sqlite3_bind_parameter_name was wrong, as
155 was the unicode call to bind_text16 which was looking for
156 byte length of string while we were providing char length.
157 - Bind byte[] parameters as blobs.
158 - Trim the SQL string. Trailing spaces makes it think
159 another statement is coming along.
160 * SqliteDataReader.cs: When DATE/DATETIME columns come
161 back as Int64s, return them using DateTime.FromFileTime.
162 And don't return Int64s as ints if they aren't in the
164 - Check column names case-insensitively (bug 77272).
165 * SqliteParameter.cs: Public parameter names made nicer.
166 * SqliteParameterCollection.cs: Allow users to set parameter
167 names with or without the : prefix that Sqlite wants.
168 * Sqlite.cs: Supporting changes.
169 * SqliteDataReader, SqliteConnection: ToLower with the
170 invariant culture (bug 77372).
172 2006-01-20 Joshua Tauberer <tauberer@for.net>
174 * Sqlite3 calls now use unicode encoding. Sqlite2
175 calls use ANSI encoding (a superset of the default
176 expected encoding ISO8859-1), unless the new
177 encoding= connection string argument is used,
178 in which case that encoding is used. But that encoding
179 must use a single-byte null terminator, so only
180 UTF-8 is recommended. This removes the dependency
181 on Mono.Posix. If UTF-8 encoding is used, Sqlite2's
182 LIKE, GLOB, LENGTH, and SUBSTR aren't going to respect
183 multibyte chars unless Sqlite was specifically compiled
185 * SqliteDataReader.this[] is fixed to wrap GetValue.
187 2006-01-06 Joshua Tauberer <tauberer@for.net>
189 * SqliteDataReader.cs: GetFieldType can be called
190 before the reader is positioned on a row. In that
191 case, return the types for the first row.
193 2006-01-02 Joshua Tauberer <tauberer@for.net>
195 * SqliteCommand.cs: It was revealed that preparing
196 statements ahead of time was not possible as table
197 schema changes lead to errors. This needed serious
198 reorganization. SQL syntax errors and BUSY errors
199 are now raised in nice exceptions.
200 * SqliteDataReader.cs:
201 * Use object[] in place of ArrayList for each row.
202 * For Sqlite3, which remembers whether a value was
203 an integer, text, real, or blob, actually return
204 longs, strings, doubles, and byte[]s.
205 * GetDataTypeName() works where possible (Sqlite3).
206 * INT/INTEGER columns are now returned as ints,
207 rather than longs, for Sqlite3. Similarly for
208 DATE and DATETIME columns, now returning DateTimes.
209 * SqliteConnection.cs.cs: BeginTransaction(IsolationLevel)
210 throws InvalidOperationException per the MS docs.
211 * SqliteExceptions.cs: New file with SqliteSyntaxException,
212 SqliteExecutionException, and its subclass SqliteBusyException.
214 2005-12-27 Jonathan Pryor <jonpryor@vt.edu>
216 * SqliteCommand.cs: Use non-obsolete UnixMarshal members.
218 2005-10-06 Chris Lahey <clahey@localhost.localdomain>
220 * SqliteCommand.cs (Prepare): Use UnixMarshal here to get proper
223 2005-07-28 Joshua Tauberer <tauberer@for.net>
225 * Sqlite.cs, SqliteCommand.cs: Report string error messages
226 in prepare, for version 3.
228 2005-07-26 Joshua Tauberer <tauberer@for.net>
230 SQL commands can have multiple statements within them (i.e.
231 separated by semicolons). Sqlite has to be instructed to
232 process each command.
234 * Sqlite.cs: Pass the sql command as an IntPtr so we can
235 see where pzTail takes us.
236 * SqliteCommand.cs: Lazily load sql_params for good measure.
237 Iterate compile/prepare until each statement in the string
238 has been processed, and retain pointers to each compiled
239 statement. When executing, run all of the statements.
241 2005-06-14 Thomas Zoechling <thomas.zoechling@gmx.at>
244 - Added sqlite3_bind_* for native Sqlite3 Parameters
246 - Added methods for parameter processing/binding (sqlite3 uses bind / sqlite2 uses regEx to extract parameters)
247 - Sqlite uses ':' as delimeter!
248 * SqliteParameterCollection.cs
249 - Chris Turchin fixed a problem in the Parameter Hashmap
250 * SqliteTransaction.cs
251 - The CommandText for the Rollback Command was "COMMIT" ! ->changed :)
253 2005-05-20 Sureshkumar T <tsureshkumar@novell.com>
255 * SqliteConnection.cs:
256 - SetConnectionString: trim white spaces, ignore empty connection
258 - SetConnectionString: if file://,db_file starts from pos 7 not 6.