]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Sat, 23 Jul 2016 04:58:57 +0000 (04:58 +0000)]
Improvements to sqlite3_trace_v2() documentation. Fix the
sqlite3VdbeExpandSql() routine to respond better to OOM conditions.
FossilOrigin-Name:
0400f642d542e62bb428e0bf263964c65691368e
drh [Sat, 23 Jul 2016 02:07:26 +0000 (02:07 +0000)]
Add requirements marks to the sqlite3_trace_v2() interface documentation.
FossilOrigin-Name:
ebd388e94da4a2b29c2a546f832d359619803ec5
drh [Sat, 23 Jul 2016 00:43:14 +0000 (00:43 +0000)]
Fix sqlite3VdbeExpandSql() so that it handles OOMs by always returning NULL.
FossilOrigin-Name:
5a027fe4127d498e0dc0d9439131c6a29085cf0a
drh [Fri, 22 Jul 2016 20:45:03 +0000 (20:45 +0000)]
Be sure to hold the database connection mutex while calling sqlite3VdbeExpand()
from within sqlite3_expanded_sql().
FossilOrigin-Name:
527b5ba68c0b0185958b945b197f9022951d9379
drh [Fri, 22 Jul 2016 20:20:53 +0000 (20:20 +0000)]
Add requirements marks to the sqlite3_expanded_sql() documentation.
FossilOrigin-Name:
409535e6dfc307f26ea3d9f51be51c439b6d7b22
drh [Fri, 15 Jul 2016 10:01:06 +0000 (10:01 +0000)]
The sqlite3_expanded_sql() function compiles, but always returns NULL, when
the SQLITE_OMIT_TRACE compile-time option is used.
FossilOrigin-Name:
53c25ebe34e6776a12260078852973b1d581d20f
drh [Fri, 15 Jul 2016 02:55:51 +0000 (02:55 +0000)]
Merge fixes from trunk. Fix the tclsqlite.test script.
FossilOrigin-Name:
d2b1fa55e8809ffc25a25f256349b8d08beadab5
drh [Fri, 15 Jul 2016 02:50:18 +0000 (02:50 +0000)]
Disable the CSV extension when virtual tables are disabled.
FossilOrigin-Name:
ec7180892ac737f0731cf61f2d095a5c1d18ad93
mistachkin [Fri, 15 Jul 2016 01:49:25 +0000 (01:49 +0000)]
Modify the Tcl test command 'sqlite3_bind_blob' to make use of the Tcl_GetByteArrayFromObj() API.
FossilOrigin-Name:
e03c81895e52096ab055d8231841e9070602ca84
mistachkin [Fri, 15 Jul 2016 00:39:47 +0000 (00:39 +0000)]
Fix typo in sqlite3_trace_v2().
FossilOrigin-Name:
97ccf15fb7e5103c8317d06a1985ba9c88544a60
mistachkin [Fri, 15 Jul 2016 00:23:01 +0000 (00:23 +0000)]
Corrections and enhancements for the new tests.
FossilOrigin-Name:
20e74c638537aa207de41a4f3c932cc05024ea9a
mistachkin [Fri, 15 Jul 2016 00:09:53 +0000 (00:09 +0000)]
Modify one test result to be case-insensitive.
FossilOrigin-Name:
5ccbeeea7d7933402f7ccb0b1c9b3038989ca746
mistachkin [Fri, 15 Jul 2016 00:07:47 +0000 (00:07 +0000)]
Add tests, including some for the sqlite3_expanded_sql() API.
FossilOrigin-Name:
8b8c0b749a9a1daca49e7ea9351e253443bb1fc2
mistachkin [Thu, 14 Jul 2016 23:17:03 +0000 (23:17 +0000)]
More work on the Tcl interface and tests for the sqlite3_trace_v2() API.
FossilOrigin-Name:
f3c4aa97d8c10fdb69efc6405b5fa45781f45a61
mistachkin [Thu, 14 Jul 2016 21:26:09 +0000 (21:26 +0000)]
Initial work on the Tcl API interface to the new sqlite3_trace_v2() function.
FossilOrigin-Name:
7b59fa40a01c89cc98414d90a798169c26e04256
drh [Thu, 14 Jul 2016 19:13:11 +0000 (19:13 +0000)]
Fix ALTER TABLE so that it does not promote the schema version past 3, as
that will cause DESC indexes to go corrupt.
Ticket [
f68bf68513a1c ].
FossilOrigin-Name:
a7db6e45ad45be9b3003f61d4163f543498a7c9d
mistachkin [Thu, 14 Jul 2016 09:22:16 +0000 (09:22 +0000)]
Fix copy/paste typo in the new sqlite3_expanded_sql() function.
FossilOrigin-Name:
e7d18c70d2b8f09c9f5b978fe3d69d1088e42322
drh [Thu, 14 Jul 2016 01:13:36 +0000 (01:13 +0000)]
Fix a parameter misordering on sqlite3_trace_v2() in the loadable extension
interface.
FossilOrigin-Name:
989de2d5b5e7155654d3eebadb9651b23f422c58
drh [Thu, 14 Jul 2016 01:09:08 +0000 (01:09 +0000)]
Add the sqlite3_expanded_sql() interface. Refinements to the
sqlite3_trace_v2() interface to make it more useful.
FossilOrigin-Name:
99ee7ee58d45b29a0000492306ddc0b90563ff51
drh [Wed, 13 Jul 2016 23:18:27 +0000 (23:18 +0000)]
Legacy tests now passing.
FossilOrigin-Name:
f33526a341132435cb4185149a784eef6b3a1a2d
drh [Wed, 13 Jul 2016 22:55:01 +0000 (22:55 +0000)]
First cut at implementing the new sqlite3_trace_v2() interface.
FossilOrigin-Name:
cb0062feb018f52689938a58cb76886d431c33f0
drh [Wed, 13 Jul 2016 21:30:03 +0000 (21:30 +0000)]
Interface design for a new sqlite3_trace_v2() method that supersedes
sqlite3_trace() and sqlite3_profile().
FossilOrigin-Name:
0c569f759f6c4701321d7fea5e7ccb371743bb6b
drh [Wed, 13 Jul 2016 13:05:13 +0000 (13:05 +0000)]
Fix harmless compiler warnings in shell.c for NetBSD.
FossilOrigin-Name:
824b39e54fb9ba562be4d92cc9a54aee1cdf84cb
drh [Wed, 13 Jul 2016 00:55:28 +0000 (00:55 +0000)]
Fix header comments and remove an unnecessary version restriction from the
carray() table-valued function implementation.
FossilOrigin-Name:
021d0fb8d85e44839d2b4fdb90b15f0e1f2442e6
drh [Tue, 12 Jul 2016 19:54:49 +0000 (19:54 +0000)]
Fix the error counter reset in Lemon generated parsers. This has no effect
on SQLite.
FossilOrigin-Name:
3ef93950d30b34d852d6bbc101d433a04112868a
mistachkin [Sun, 10 Jul 2016 19:35:10 +0000 (19:35 +0000)]
Fix typos in comments. No changes to code.
FossilOrigin-Name:
77c692a6704cd877ba35d0afb774ab9b46364d59
drh [Sat, 9 Jul 2016 17:47:01 +0000 (17:47 +0000)]
Add the "#/value-list/" style of results for approximate value matching
in the do_test command of the test infrastructure. Use this new result style
to make the SQLITE_DBSTATUS_CACHE_SIZE_SHARED tests cross-platform.
FossilOrigin-Name:
c869bf34a8ee42ac6542862e59c7a4b89b042f79
drh [Sat, 9 Jul 2016 17:15:05 +0000 (17:15 +0000)]
Fix a compiler warning in test code - in the int64array_addr TCL command.
FossilOrigin-Name:
29fb988f1afc3fe623097acee1a5d08bf8386626
drh [Sat, 9 Jul 2016 16:38:25 +0000 (16:38 +0000)]
Fix compiler warnings on windows.
FossilOrigin-Name:
8b22f777a11438ab0baadc7d9e471f415b734d1f
drh [Sat, 9 Jul 2016 16:14:45 +0000 (16:14 +0000)]
Fix various internal #defines to conform to new C-language naming restrictions,
specifically that private-use macros names must not begin with "_".
FossilOrigin-Name:
5471aca0158851d3fb0a2517306917536deb38bb
drh [Sat, 9 Jul 2016 00:06:21 +0000 (00:06 +0000)]
Add support for the win32-none VFS.
FossilOrigin-Name:
b5f32a896d0e4010ec67fcf1d635bb9aa797d3c2
mistachkin [Fri, 8 Jul 2016 21:14:37 +0000 (21:14 +0000)]
Initial work on a Win32 VFS with NOP locking.
FossilOrigin-Name:
549abe3f89b55b05a05f267865a5dd84b8cd335d
drh [Fri, 8 Jul 2016 19:54:38 +0000 (19:54 +0000)]
Another attempt to fix error handling in Lemon. This change is a no-op for
SQLite's usage.
FossilOrigin-Name:
e1d8ef311cabcb96495a88404991b1416655e4a8
drh [Fri, 8 Jul 2016 02:14:24 +0000 (02:14 +0000)]
In the sqldiff program, make sure the first argument to the db_prepare()
utility function is always a valid format string.
FossilOrigin-Name:
8bb8d886ffa948cd7bc66c8c62da76bce233be2e
dan [Wed, 6 Jul 2016 18:42:34 +0000 (18:42 +0000)]
Add the SQLITE_DBSTATUS_CACHE_USED_SHARED sqlite3_db_status() parameter. This option is similar to DBSTATUS_CACHE_USED, except that it divides memory used by shared caches evenly between all connections.
FossilOrigin-Name:
06cf2680588c8dc4f0cbde275a09cfdcb5943268
dan [Wed, 6 Jul 2016 18:12:54 +0000 (18:12 +0000)]
Change the name of the SQLITE_DBSTATUS_PROPORTIONAL_CACHE_USED to SQLITE_DBSTATUS_CACHE_USED_SHARED.
FossilOrigin-Name:
d58401ab26c7c5417eb7d540f47d11c4e49edcb2
dan [Wed, 6 Jul 2016 10:17:43 +0000 (10:17 +0000)]
Fix a test script problem causing a test to fail if the ICU extension is enabled.
FossilOrigin-Name:
0c228f5d3db1be598ebf5d9170428c19d18e01ad
dan [Wed, 6 Jul 2016 10:12:02 +0000 (10:12 +0000)]
Add the SQLITE_DBSTATUS_PROPORTIONAL_CACHE_USED sqlite3_db_status() parameter.
FossilOrigin-Name:
118321c8b9d88b8f439c952436f42838c3fc80cb
dan [Wed, 6 Jul 2016 09:19:14 +0000 (09:19 +0000)]
Fix a memory leak in recently added test code.
FossilOrigin-Name:
724e4cdc25fc80b8face57b3398cd338994fb23c
drh [Tue, 5 Jul 2016 16:11:26 +0000 (16:11 +0000)]
More fixes to Fossil so that it automatically resets its error counter at the
end of a parse.
FossilOrigin-Name:
2683b375ad1291172fdb47d94e16fcf869c78c8a
drh [Tue, 5 Jul 2016 12:47:28 +0000 (12:47 +0000)]
Attempt to reset the error count in the Lemon-generated parser after
a parse failure.
FossilOrigin-Name:
91889fa30e84760e0d4b3d429c4abdef5a3f7931
dan [Mon, 4 Jul 2016 11:47:48 +0000 (11:47 +0000)]
Add the sqlite3rbu_state() API. Used to determine the current state (creating OAL, ready to move OAL, incremental-checkpoint, finished or error) of an RBU operation.
FossilOrigin-Name:
0357875fbb1bb462feef5121287b2f84da88e497
drh [Mon, 4 Jul 2016 11:34:56 +0000 (11:34 +0000)]
Add the carray() virtual table as a loadable extension.
FossilOrigin-Name:
d8bc6feb99938a2aa06142b217045e4b54c66bf1
drh [Sun, 3 Jul 2016 02:35:47 +0000 (02:35 +0000)]
Change the name of the intarray() extension to carray() and give it an
optional third parameter that specifies the datatype as one of 'int32',
'int64', 'double', or 'char*'. 'int32' is the default.
FossilOrigin-Name:
a204ba99db34b356acb259189158a32d2df25da0
drh [Sat, 2 Jul 2016 20:57:06 +0000 (20:57 +0000)]
Fix an off-by-one comparison in the intarray() virtual table. Get the
intarray() virtual table tests working using the legacy makefile.
FossilOrigin-Name:
7c3d441f2a9f642f3d91dcee854a4d16d298bc34
drh [Sat, 2 Jul 2016 20:51:31 +0000 (20:51 +0000)]
Merge the alternative table-valued function RHS of IN operator implementation
from trunk.
FossilOrigin-Name:
507fdbfb54ce377f0d870260b07d71b797843fcf
drh [Sat, 2 Jul 2016 12:33:21 +0000 (12:33 +0000)]
Fix a problem in table-valued functions on the RHS of an IN operator that
occurs following an OOM error.
FossilOrigin-Name:
bead151e72215e6ca2a90eb049cfca414dccea04
drh [Sat, 2 Jul 2016 12:08:14 +0000 (12:08 +0000)]
Add support for table-valued functions on the RHS of an IN operator.
FossilOrigin-Name:
ac6000f050ff4efcf8a87f0825077dbf4144f073
drh [Fri, 1 Jul 2016 20:12:39 +0000 (20:12 +0000)]
Fix the transitive constraint logic error that can result in a null pointer
dereference. Fix for ticket [
e8d439c77685eca6 ].
FossilOrigin-Name:
228a7879870f8689e2f9b74fbef2ff93fab7b3c2
drh [Fri, 1 Jul 2016 19:48:43 +0000 (19:48 +0000)]
Add test cases to the transitive constraint fix.
FossilOrigin-Name:
c952af89c22ddc31491f142b9511608a4c8f9737
dan [Fri, 1 Jul 2016 12:39:58 +0000 (12:39 +0000)]
Add the sqlite3rbu_state() API. Used to determine the current state (creating OAL, ready to move OAL, incremental-checkpoint, finished or error) of an RBU operation.
FossilOrigin-Name:
92e7df0ff5c4c118c63d92a767dc82700438a310
drh [Wed, 29 Jun 2016 06:19:19 +0000 (06:19 +0000)]
Add the ability to have a table-valued function on the RHS of an IN operator.
FossilOrigin-Name:
ba1b441b6003808810667d749635fe6b2e8c6165
drh [Wed, 29 Jun 2016 05:08:01 +0000 (05:08 +0000)]
Another test case for the intarray($PTR,$N) virtual table.
FossilOrigin-Name:
06e1fab7527c6b4330a58f8d8873afaf2d67ae86
drh [Wed, 29 Jun 2016 05:00:30 +0000 (05:00 +0000)]
Add a prototype intarray($PTR,$N) table valued function.
FossilOrigin-Name:
233b33382dc70de45f90b6dfdb5785f20b21489e
drh [Tue, 28 Jun 2016 22:27:56 +0000 (22:27 +0000)]
Proposed fix for a problem in the query planner.
FossilOrigin-Name:
a33d23560959a127e37d8213dc00210cd4b05352
drh [Sun, 26 Jun 2016 04:06:28 +0000 (04:06 +0000)]
Prevent the WhereLoop.rSetup cost estimate from going negative on complex
queries.
FossilOrigin-Name:
f81050859170c8708a1b296da8dd3ef0dd314a11
drh [Sat, 25 Jun 2016 11:43:47 +0000 (11:43 +0000)]
Fix the handling of OP_Eq opcodes that compare a register against itself
and that require an affinity change.
FossilOrigin-Name:
507014e4c7a70cd09410c89c8ed466c8edab39d2
drh [Fri, 24 Jun 2016 06:23:13 +0000 (06:23 +0000)]
Fix the ctime.test script so that it works with clang.
FossilOrigin-Name:
77e4f7a36e6e0ebe842bcb36b2557a5bfba90d3f
drh [Fri, 24 Jun 2016 02:50:44 +0000 (02:50 +0000)]
Fix the Makefile.in to avoid unnecessary recompiles of sqlite3.c.
FossilOrigin-Name:
67c39e16442d9359b24d60d5f97bd66c19eff16a
dan [Thu, 23 Jun 2016 16:48:35 +0000 (16:48 +0000)]
Update the sqldiff utility so that if the --vtab switch is specified "rtree", "fts3", "fts4" and "fts5" tables are diff'd directly and the underlying real database tables ignored. Without this switch, all virtual tables are ignored and the diff is performed on the underlying real tables.
FossilOrigin-Name:
b8671e9434180878cfe15d70b793fdee69aabccf
drh [Thu, 23 Jun 2016 12:35:04 +0000 (12:35 +0000)]
Fix the build for -DSQLITE_OMIT_VIRTUALTABLE
FossilOrigin-Name:
911131424857430d46784b167399ecf192584ca2
dan [Tue, 21 Jun 2016 10:34:41 +0000 (10:34 +0000)]
Update the sqldiff utility so that if the --vtab switch is specified "rtree", "fts3", "fts4" and "fts5" tables are diff'd directly and the underlying real database tables ignored. Without this switch, all virtual tables are ignored and the diff is performed on the underlying real tables.
FossilOrigin-Name:
5d0a9d4c45730e47576bc77373fa7075a74051a5
dan [Mon, 20 Jun 2016 17:25:50 +0000 (17:25 +0000)]
For a table on the rhs of a LEFT JOIN operator, do not include terms like "IS NULL" from the WHERE clause in the cursor-hint. These may be false for rows that the cursor would otherwise visit, but true for a row of all NULL values generated by the LEFT JOIN.
FossilOrigin-Name:
913e595615e2ef40fb431f6e7678f6fc8439782e
dan [Mon, 20 Jun 2016 17:22:06 +0000 (17:22 +0000)]
Allow LIKE operators that appear in a WHERE clause to be included in the cursor-hint for a cursor on the rhs of a LEFT JOIN.
FossilOrigin-Name:
7455d932f5079ffe40462a8c119fc22b8a9bcbcc
dan [Fri, 17 Jun 2016 19:27:13 +0000 (19:27 +0000)]
Include WHERE terms in the cursor-hint passed to a cursor opened for the rhs of a LEFT JOIN iff we can be sure that those terms will not evaluate to true if the LEFT JOIN generates a row of NULLs.
FossilOrigin-Name:
998095aba01b75f685ed981b377e1dfe650d9bbf
dan [Fri, 17 Jun 2016 14:59:40 +0000 (14:59 +0000)]
Fix a duplicate test name in cursorhint2.test.
FossilOrigin-Name:
fcd12b69cee1335224a65aa6d22c4e302b889398
dan [Fri, 17 Jun 2016 14:47:37 +0000 (14:47 +0000)]
Fix a typo in the cursorhint2.test script.
FossilOrigin-Name:
c1a5a57cf10dca91082963dcbd3e3ffebc3707ef
dan [Fri, 17 Jun 2016 14:33:32 +0000 (14:33 +0000)]
If a table is on the rhs of a LEFT JOIN, include only terms from the joins ON(...) clause in the cursor-hint passed via OP_CursorHint.
FossilOrigin-Name:
2a2346b04235c6d0b7a8e64c92ee31018285c29f
dan [Thu, 16 Jun 2016 17:14:02 +0000 (17:14 +0000)]
Add a missing OP_ColumnsUsed opcode to code for expressions like "? IN (SELECT ...)" in cases where expression can use an index that may contain NULL values.
FossilOrigin-Name:
0b1579caf06a2c42433b8bc9dc28c9ad381aa07c
drh [Thu, 16 Jun 2016 11:16:53 +0000 (11:16 +0000)]
Fix a typo in a comment on the SrcList object.
FossilOrigin-Name:
48b555c42de1cbc031fb6c2c93ef170e491c7d76
drh [Mon, 13 Jun 2016 19:58:46 +0000 (19:58 +0000)]
Fix RBU so that it builds with -DSQLITE_ENABLE_8_3_NAMES.
Fix "PRAGMA compile_options" for SQLITE_ENABLE_8_3_NAMES such that it reports
the numeric setting: "1" or "2".
FossilOrigin-Name:
0230ca17ba20ecd3d213788ad6891973d52a7b72
drh [Mon, 13 Jun 2016 15:59:37 +0000 (15:59 +0000)]
Fix the declaration of the table implemented by DBSTAT so that it uses
correct datatypes.
FossilOrigin-Name:
a1e1cdc51d1c68502f43ac72c28ba87cb1916a0d
drh [Mon, 13 Jun 2016 12:51:20 +0000 (12:51 +0000)]
Fix an incorrect assert() in the btree logic.
FossilOrigin-Name:
fcf6114be94b260641e7c78a58db16a31ac5ab35
drh [Mon, 13 Jun 2016 12:34:38 +0000 (12:34 +0000)]
Fix the "onecolumn" and "exists" methods of the TCL interface so that they
work in combination with the "profile" callback.
FossilOrigin-Name:
d362ba157f993fc74a590cf15a9a2fa589278dd7
drh [Fri, 10 Jun 2016 22:49:01 +0000 (22:49 +0000)]
Enhance "PRAGMA table_info" to that it provides information about eponymous
virtual tables.
FossilOrigin-Name:
53a1e5d51304cb3de700c1807a2c945a40240576
drh [Wed, 8 Jun 2016 18:07:21 +0000 (18:07 +0000)]
Prefer to use partial indexes for full table scans when that is possible.
FossilOrigin-Name:
fe1874321ba31cec9ae65387920c33d8d0178ed8
drh [Wed, 8 Jun 2016 14:04:50 +0000 (14:04 +0000)]
Add the "dbhash.exe" utility program that computes a SHA1 hash over the
invariant content of an SQLite database file. Free space in the file, the
page size, auto_vacuum status, text encoding, and so forth do not change the
hash. Only the content matters.
FossilOrigin-Name:
f48a4ad33ecd4a86f5529596ff11829ba38b0875
drh [Wed, 8 Jun 2016 13:59:35 +0000 (13:59 +0000)]
Fix an undersized buffer in the SHA1 implementation.
FossilOrigin-Name:
fb2768154c513881886e89801e906bea959197b3
drh [Wed, 8 Jun 2016 13:49:28 +0000 (13:49 +0000)]
Fix the dbhash utility so that it ignores the root page number when hashing
the sqlite_master table. Add new command-line options. Add the ability to
hash multiple databases with a single command.
FossilOrigin-Name:
44f157e0f0d5a76ef9002b2592164c4fdae89e34
drh [Wed, 8 Jun 2016 01:03:05 +0000 (01:03 +0000)]
An initial attempt at a "dbhash" command-line utility.
FossilOrigin-Name:
2247649ca215c06205b33b2250eb809baf39263a
drh [Tue, 7 Jun 2016 20:25:19 +0000 (20:25 +0000)]
Fix the walcrash4.test test module so that it works on windows.
FossilOrigin-Name:
2091a4c9231c7871f27661adc27dd7df26500f6c
mistachkin [Mon, 6 Jun 2016 20:36:26 +0000 (20:36 +0000)]
In winFullPathname, translate '/X:' to 'X:' before doing anything else.
FossilOrigin-Name:
e404ad705d0e2d96025d05cc88348ffcd0703533
drh [Mon, 6 Jun 2016 20:27:15 +0000 (20:27 +0000)]
Translate filenames of the form "/c:/*" into just "c:/*" on WinRT and Cygwin.
(SQLite has long done this for Win32/WinNT.)
FossilOrigin-Name:
f8470ffc49918099820cc0008b9089e5fe8a7dff
drh [Mon, 6 Jun 2016 18:17:36 +0000 (18:17 +0000)]
Fix lempar.c so that the shift-reduce optimization works for error processing.
This is a Lemon issue only and has no impact on SQLite.
FossilOrigin-Name:
3665a2f554e5b8d2717d952dbaf325a39c637c31
drh [Mon, 6 Jun 2016 13:24:57 +0000 (13:24 +0000)]
Initialize the yyerrcnt variable in the lemon parser template. This has no
effect on SQLite itself.
FossilOrigin-Name:
45531654f7f5be3a08e9ee8598f14efe028245d8
drh [Mon, 6 Jun 2016 01:54:20 +0000 (01:54 +0000)]
Small performance boost and size decrease in sqlite3BtreeMovetoUnpacked().
FossilOrigin-Name:
e106a77d85c20ae23ebe49a5acceeaffecb40fc2
drh [Mon, 6 Jun 2016 01:48:14 +0000 (01:48 +0000)]
Small performance improvement in the LIKE function.
FossilOrigin-Name:
5fb0c35459cf7a8662bf8cd84ac345f6fafda6cc
drh [Mon, 6 Jun 2016 01:14:08 +0000 (01:14 +0000)]
Btree interface refactoring:
(1) The sqlite3BtreeKeySize() interface is renamed to sqlite3BtreeIntegerKey()
and modified to work only for table btrees with a rowid.
(2) The sqlite3BtreeDataSize() interface is renamed to sqlite3BtreePayloadSize()
and modified to work with any btree.
(3) The sqlite3BtreeDataFetch() and sqlite3BtreeKeyFetch() routines are
combined into a single sqlite3BtreePayloadFetch() routine.
The result of these changes is a smaller binary and fewer CPU cycles needed
to run queries.
FossilOrigin-Name:
2d831074cf730dce47de5880d7b4570d04d15fee
drh [Sat, 4 Jun 2016 21:05:54 +0000 (21:05 +0000)]
Improved comment on cursorOwnsBtShared(). No changes to code.
FossilOrigin-Name:
5e269c2d2667df65592a32d6bc2fa388fd7eb181
drh [Sat, 4 Jun 2016 20:58:35 +0000 (20:58 +0000)]
Fix a C99-ism and a compiler warning for MSVC.
FossilOrigin-Name:
aa53a36ea2eb90cc4939e37e6ad320b4211692fd
drh [Sat, 4 Jun 2016 20:37:10 +0000 (20:37 +0000)]
Change the sqlite3BtreeKeySize() interface into sqlite3BtreeIntegerKey() and
make it only work for table btrees. Change sqlite3BtreeDataSize() into
sqlite3BtreePayloadSize() and make it work for all btrees. Combine
sqlite3BtreeDataFetch() and sqlite3BtreeKeyFetch() into a single
sqlite3BtreePayloadFetch() routine. These changes seem to make the
b-tree interface more rational and they reduce both binary size and
CPU usage.
FossilOrigin-Name:
bef35e18dd19732f7859287b097feeb593e5900f
drh [Sat, 4 Jun 2016 17:12:26 +0000 (17:12 +0000)]
Allocate KeyInfo objects from lookaside if possible.
FossilOrigin-Name:
b411107a3609d53af4e147f01e311b858b78420b
drh [Sat, 4 Jun 2016 16:33:48 +0000 (16:33 +0000)]
Fix up speedtest1.c so that it will compile and run on SQLite versions prior
to 3.6.18 (circa 2009-09-11).
FossilOrigin-Name:
9583c0fb39f357a76e0c99ea03b034aea3e03c75
drh [Sat, 4 Jun 2016 13:57:41 +0000 (13:57 +0000)]
Remove an unreachable branch in the UNIQUE constraint parsing.
FossilOrigin-Name:
313e990c741d7db082f1d9b9f3f4c65fdd91b812
drh [Fri, 3 Jun 2016 18:59:37 +0000 (18:59 +0000)]
The OR optimization is usable on virtual tables with LIKE, REGEXP and/or GLOB
terms in the WHERE clause.
FossilOrigin-Name:
fa3a89fc0b88d5ad7f5c232198847b3483eef611
drh [Fri, 3 Jun 2016 18:44:43 +0000 (18:44 +0000)]
Add support for virtual tables using a WITHOUT ROWID schema. This merge also
includes enhancements to the CSV extension, which is used for testing of
the new WITHOUT ROWID virtual table mechanism.
FossilOrigin-Name:
aa7e9d0cc15c050205b09d5a50f985e4ade571d0
drh [Fri, 3 Jun 2016 18:21:04 +0000 (18:21 +0000)]
Fix a memory leak when a WITHOUT ROWID eponymous virtual table is used.
FossilOrigin-Name:
31b83a7d7e553163eb186fc966a885f237554ec2
drh [Fri, 3 Jun 2016 17:27:14 +0000 (17:27 +0000)]
Disallow access to the rowid column on WITHOUT ROWID virtual tables.
FossilOrigin-Name:
d31c25972bfb6d04caad05534505698776e7e6d5
drh [Fri, 3 Jun 2016 13:35:55 +0000 (13:35 +0000)]
Enhance the sqlite3_load_extension() interface to permit extensions to
return SQLITE_OK_LOAD_PERMANENTLY which will prevents unloading when
the database connection closes.
FossilOrigin-Name:
5908aa4dc59925c414b236b6fd3d3ecd7f3da435
drh [Fri, 3 Jun 2016 01:01:57 +0000 (01:01 +0000)]
Performance optimizations on the CSV virtual table. Disallow WITHOUT ROWID
virtual tables that have an xUpdate method, for now.
FossilOrigin-Name:
3134b3266c36c9d018e8d365ef46ef638c0792f4