drh [Wed, 4 Nov 2009 13:17:14 +0000 (13:17 +0000)]
Create a new datatype "ynVar" to hold "nVar" (number of variable) values.
This is normally 16-bits can can be 32-bits if SQLITE_MAX_VARIABLE_NUMBER
is large enough.
drh [Tue, 3 Nov 2009 13:02:25 +0000 (13:02 +0000)]
Adjust the lemon implementation so that it always computes the same PDA
regardless of qsort() implementation on the host platform. In other words,
make all sorts in lemon stable.
drh [Mon, 2 Nov 2009 18:14:50 +0000 (18:14 +0000)]
Update the generator AWK script for opcodes.h so that it always generates
opcode numbers in the same order and is not dependent on the hash order
of opcode names within AWK.
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.