dan [Wed, 15 May 2013 15:16:50 +0000 (15:16 +0000)]
When loading a database schema that contains an index definition that includes a COLLATE clause for which the collation sequence is unavailable, do not assume that that index uses BINARY instead. Fix for [0fc59f908b].
dan [Wed, 15 May 2013 10:21:50 +0000 (10:21 +0000)]
When closing a connection, avoid tripping active cursors belonging to a different shared-cache client. Also, if sqlite3_close() is called while there are still active statements belonging to the connection, return SQLITE_BUSY and do not roll back any active transaction.
drh [Wed, 8 May 2013 16:57:48 +0000 (16:57 +0000)]
Make sure the ORDER BY collating sequences are compatible with the
comparison collations before using the merge algorithm for compound
SELECT statements. Fix for ticket [6709574d2a8d8].
drh [Tue, 7 May 2013 17:49:08 +0000 (17:49 +0000)]
Make sure the ORDER BY collating sequences are compatible with the
comparison collations before using the merge algorithm for compound
SELECT statements. Candidate fix for ticket [6709574d2a8d8].
dan [Tue, 7 May 2013 12:16:48 +0000 (12:16 +0000)]
Modify the fts3tokenize table implementation so that it does not use the SQL function fts3_tokenizer. The user may have installed an authorizer callback that prohibits this.
drh [Mon, 6 May 2013 21:01:06 +0000 (21:01 +0000)]
In the command-line shell, output the elements of the schema in the order
that they appear in the sqlite_master table. This is necessary in some
cases to make the schema parsable.
drh [Mon, 6 May 2013 20:28:54 +0000 (20:28 +0000)]
In the command-line shell, make sure the output of dot-commands goes to
the same redirected output stream as the result of queries.
Ticket [2f96536e7ff7dba]
drh [Mon, 6 May 2013 13:22:50 +0000 (13:22 +0000)]
Make sure the authorizer callback gets a valid pointer to "ROWID" for the
column-name parameter when doing an UPDATE that changes the rowid.
Fix for ticket [0eb70d77cb05bb2272].
drh [Wed, 1 May 2013 19:49:27 +0000 (19:49 +0000)]
Allocate 4 bytes of unused header space for an "Application ID". Add
the "PRAGMA application_id" command to set and query this identifier.
Add the "magic.txt" file to show how the posix file command might use
this application id.
drh [Wed, 1 May 2013 17:58:35 +0000 (17:58 +0000)]
Do not use a transitive constraint to an IN operator where the RHS is a
constant if there exists a direct == operator to another table in an outer
loop.
Update the documentation to explain that when the 3rd parameter to
sqlite3_bind_text() and friends is NULL the result is to bind a NULL
SQL value. Ticket [19b44e35753ba]
Update 'fuzzerfault' test for its new module loading command. Fix several test names in 'io.test' and make sure the database gets closed between tests.
dan [Fri, 26 Apr 2013 14:13:15 +0000 (14:13 +0000)]
Rebalance FTS expressions after parsing to limit recursion during evaluation. Avoid recursion when deleting FTS expression trees. Enforce a limit (currently 12) on the depth of an expression tree.
dan [Thu, 25 Apr 2013 20:34:02 +0000 (20:34 +0000)]
Rebalance FTS expressions after parsing to limit recursion during evaluation. Avoid recursion when deleting FTS expression trees. Enforce a limit on the depth of an expression tree.
Added the nextchar.c extension. Minor changes to the spellfix.c extension
so that it can be appended to an amalgamation and compiled without duplicating
symbols.
Merge the std-ext branch into trunk. This merge adds several new extensions
to the ext/misc folder, including transitive_closure, ieee754, and amatch,
and it convers some older src/test_*.c file into extensions in the ext/misc
folder.
Do not allow a virtual table to cancel the ORDER BY clause unless all
outer loops are guaranteed to return no more than one row result.
Candidate fix for ticket [ba82a4a41eac1].
Use transitivity to move constraints into the outer loops of a join whenever
possible, thereby reducing the amount of work that needs to occur in
inner loops.
Enhance the extension loading mechanism so that the same source code
can be used for run-time loadable extensions and statically linked
extensions, and to mask architectural differences in shared libraries.
Experiments in making loadable extensions easier to program. The
shared library filename tries various operating-system specific extensions
if the bare library name does not work. And the entry point is derived
from the filename is the legacy entry point name "sqlite3_extension_init"
is not found.
Do not suppress the ORDER BY clause on a virtual table query if an IN
constraint is used. Fix for ticket [f69b96e3076e]. Testing done on
TH3 using cov1/where37.test.
Omit sqlite3_compileoption_used() entries that are not explicitly stated
on the compiler command-line, except keep SQLITE_THREADSAFE around so that
there is always at least one compilation option.
Refactoring the mmap interface. The controlling pragma is now "mmap_size"
instead of "mmap_limit". Also change SQLITE_CONFIG_MMAP_LIMIT and
SQLITE_FCNTL_MMAP_LIMIT to SQLITE_CONFIG_MMAP_SIZE and
SQLITE_FCNTL_MMAP_SIZE, respecctively.
The default mmap_size is now always 0, meaning that
memory mapped I/O is off by default. There is a new compile-time option
SQLITE_MAX_MMAP_SIZE that determines a hard upper bound on the mmap_size.
Setting SQLITE_MAX_MMAP_SIZE to zero disables the memory-mapped I/O logic
and causes it to be omitted from the build. An extra argument is added
to SQLITE_CONFIG_MMAP_SIZE that can optionally lower the SQLITE_MAX_MMAP_SIZE
at start-time. The SQLITE_MAX_MMAP_SIZE is zero for platforms where we
know that it does not work, meaning that it cannot be turned on by mistake
on those platforms.
Only consider AS names from the result set as candidates for resolving
identifiers in the WHERE clause if there are no other matches.
In the ORDER BY clause, AS names take priority over any column names.
Fix for ticket [2500cdb9be].
Only consider AS names from the result set as candidates for resolving
identifiers in the WHERE clause if there are no other matches. In the
ORDER BY clause, AS names take priority over any column names.
Candidate fix for ticket [2500cdb9be].
In mptester: improve the way that child processes are dispatched. Pass
the --vfs option through to children. Log the command used to start
child processes when the tracing level is high enough.
Fix the xCheckReservedLock() method on the windows VFS so that it cannot
return a false positive when two or more processes use it at the same time
on the same file. Ticket [7ff3120e4fa54abb55]