drh [Fri, 30 Oct 2009 13:25:56 +0000 (13:25 +0000)]
Avoid storing the result register for EXISTS and SELECT in any field of
the Expr object - simply return the register number as the return value
of the function that codes those expressions.
shane [Sat, 24 Oct 2009 02:00:07 +0000 (02:00 +0000)]
In shell, changed ".tables" command to not add '%' to specified pattern. This is consistent
with other commands that take a LIKE pattern (.dump, .schema, .indices).
Updated internal help to better describe LIKE pattern usage.
Fixed a few more inconsistencies in error messages. Ticket [6da68f691b].
drh [Sat, 24 Oct 2009 01:55:14 +0000 (01:55 +0000)]
Check-in [19064d7cea] broke the pTail return on sqlite3_prepare16() when
the SQL contained surrogates. This check-in restores correct function.
Part of ticket [3fe897352e].
drh [Fri, 23 Oct 2009 18:15:46 +0000 (18:15 +0000)]
Make sure that UTF16 to UTF8 conversions to not read past the end of the
UTF16 input buffer if the last two bytes of the UTF16 happen to be the
first half of a surrogate pair. Ticket [3fe897352e]
shane [Fri, 23 Oct 2009 01:27:39 +0000 (01:27 +0000)]
In shell, ensure that do_meta_command() returns consistent error values.
Adjusted the text of some error message to be more consistent.
Ticket [beb2dd69ad].
shane [Thu, 22 Oct 2009 21:23:35 +0000 (21:23 +0000)]
In shell, reworked .header and .echo handling.
Updated shell_exec() to (really) handle multiple statements.
Tickets [72adc99de9], [7b61b6c6ce], and [eb620916be].
drh [Thu, 22 Oct 2009 20:52:05 +0000 (20:52 +0000)]
Merge the MD5 checksum logic into the TCL interface. This facilitates building
a tclsh that contains both SQLite and MD5. The plan is to use this
augmented tclsh to help build the documentation.
shane [Thu, 22 Oct 2009 18:12:58 +0000 (18:12 +0000)]
In shell, in shell_exec() logic, use type info if available when
outputting in "insert" mode for other types in addition to blobs.
Changed shell_exec() to use sqlite_prepare_v2(). Ticket [72adc99de9].
shane [Wed, 21 Oct 2009 14:11:48 +0000 (14:11 +0000)]
Modified shell to call output_html_string() for header values in .mode html.
Updated output_html_string() to support the 5 basic HTML entities (<,>,&,',").
Ticket [dc3a6e5b31].
shane [Wed, 21 Oct 2009 03:56:54 +0000 (03:56 +0000)]
For the shell, changed the output of the errors on lines 2910 and 2914 to goto
stderr. I left the timer values going to stdout as all of the other interactive
shell commands (startup banner, help, etc.) go to stdout and I felt this was more
consistent. Ticket 43db771bb2.
shane [Wed, 21 Oct 2009 03:42:58 +0000 (03:42 +0000)]
For Windows version of shell, add support for .timer command
using the GetProcessTimes() API if available (in the same way
getrusage() is used on UNIX.) Ticket 89668ca167.
shane [Wed, 21 Oct 2009 02:00:47 +0000 (02:00 +0000)]
For Windows VFS, modified xGetLastError() to call FormatMessage()
with the FORMAT_MESSAGE_IGNORE_INSERTS option. Additionally updated
to ensure strings are returned as UTF8. Ticket 39c85e8a4e.
drh [Tue, 20 Oct 2009 15:01:58 +0000 (15:01 +0000)]
Fix the VACUUM command so that when the MAIN and TEMP databases have
identically named tables, content from the TEMP database does not
accidently overwrite MAIN database content.
Ticket [d82e3f3721296e905d7e8c9dee718f71a826b0eb].
Note that this bug could potentially lead to database corruption.
dan [Mon, 19 Oct 2009 15:52:32 +0000 (15:52 +0000)]
When generating WHERE clause terms internally for NATURAL and USING joins, identify the table by its position in the FROM list, not by its name or alias. Fix for [b73fb0bd64].
drh [Sat, 17 Oct 2009 13:13:02 +0000 (13:13 +0000)]
Make sure the target register is allocated before adding the bogus
OP_Variable opcode in isLikeOrGlob(). Bugfix for the new
sqlite3_reoptimize() logic.
drh [Tue, 13 Oct 2009 18:38:34 +0000 (18:38 +0000)]
Update the TCL wrapper to provide a non-NULL objProc pointer to the
Tcl_NRCreateCommand() interface. The TCL gurus say this is needed to
support legacy TCL extensions.
drh [Tue, 13 Oct 2009 15:36:51 +0000 (15:36 +0000)]
When a write transaction fails to being because the database is read-only,
fail right away. Do not give the error code an opportunity to be
overwritten with SQLITE_OK. Ticket [5ee23731f15].
dan [Wed, 7 Oct 2009 11:29:40 +0000 (11:29 +0000)]
Update the header comment for sqlite3_blob_open to note that it is not possible to write to a column that is indexed, part of a primary key or, if foreign key support is enabled, part of a foreign key.
dan [Wed, 7 Oct 2009 10:43:26 +0000 (10:43 +0000)]
Update header file comments describing the sqlite3_changes and sqlite3_total_changes functions to describe how changes made by foreign key actions are handled.
dan [Fri, 2 Oct 2009 06:35:06 +0000 (06:35 +0000)]
Add a test to check that the incrblob API cannot be used to write to an IPK column. Also a comment to explain why the incrblob code does not need to check if a column is part of a parent key before writing to it.
dan [Sat, 26 Sep 2009 17:51:48 +0000 (17:51 +0000)]
When ALTER TABLE RENAME TO is used to change the name of a table that is the parent table of a foreign key constraint, modify that foreign key constraint to use the new table name.
dan [Fri, 25 Sep 2009 17:03:14 +0000 (17:03 +0000)]
Avoid checking if an insert or delete has "fixed" an outstanding FK constraint violation if the constraint counter indicates that the database contains no such violations.