]>
git.ipfire.org Git - thirdparty/sqlite.git/log
drh [Tue, 30 Sep 2014 21:24:28 +0000 (21:24 +0000)]
Draw the TreeView debugging graphs using unicode box-drawing characters.
FossilOrigin-Name:
0efc6859d104e1b12ec4bce5bb6db4e91f0837b5
drh [Tue, 30 Sep 2014 19:04:41 +0000 (19:04 +0000)]
Improvements to the new syntax-tree output routines: Omit the "END SELECT"
mark and instead terminate the graph at the last item. Increase the maximum
tree depth to 100.
FossilOrigin-Name:
5ce05757aac80b99c3b2141cd301809f8e28e661
drh [Tue, 30 Sep 2014 17:31:23 +0000 (17:31 +0000)]
Enable the query planner to deal with WHERE clauses that have OR terms
nested within AND terms that are nested within OR terms. Also remove an
unused function declaration.
FossilOrigin-Name:
b6b289182f6590288ebc7b9efbcb29b6b4480538
drh [Tue, 30 Sep 2014 17:03:35 +0000 (17:03 +0000)]
Further enhancements to the "wheretrace" debugging output.
FossilOrigin-Name:
670993eb8113f386cb2cb8b1507917f6da3b4d98
drh [Tue, 30 Sep 2014 14:14:19 +0000 (14:14 +0000)]
Enhanced debug output for OR-logic in the query loop optimizer.
FossilOrigin-Name:
2e375eae473e4a9f2e7870d59e22ba39051ecbce
drh [Tue, 30 Sep 2014 13:46:49 +0000 (13:46 +0000)]
Show tree diagrams of data structures in the debugging output when the 0x100
bit is set on sqlite3WhereTrace or sqlite3SelectTrace.
FossilOrigin-Name:
92e0b4bd4d75e8b000586e51a07b3e181d9af20b
drh [Tue, 30 Sep 2014 12:33:33 +0000 (12:33 +0000)]
Remove the SQLITE_ENABLE_TREE_EXPLAIN compile-time option. Add alternative
debugging display routines: sqlite3TreeViewExpr(), sqlite3TreeViewExprList(),
and sqlite3TreeViewSelect().
FossilOrigin-Name:
4ff51325d6b41d0c59e303b573700ec80c51d216
drh [Mon, 29 Sep 2014 15:42:01 +0000 (15:42 +0000)]
Fix the header comment in sqlite3VdbeDeletePriorOpcode(). No changes to
code.
FossilOrigin-Name:
7fb1626866c2f8dad84c7e6184824be3efd71ca2
drh [Mon, 29 Sep 2014 15:00:28 +0000 (15:00 +0000)]
Ensure that the OP_Prev opcode verifies that content has not been deleted
out from under the cursor. Fix for ticket [
209d31e3161b9e9ff ].
FossilOrigin-Name:
414f0d6a647a4d040b5463c73c5e15e699d85b4c
mistachkin [Fri, 26 Sep 2014 18:30:11 +0000 (18:30 +0000)]
Add an assert() to verify the last-row-id for the database just prior to calling a SQL function.
FossilOrigin-Name:
d026f0c944ce812732d3595eaa3c5d432a86c7dd
drh [Fri, 26 Sep 2014 02:41:05 +0000 (02:41 +0000)]
Fix the "PRAGMA integrity_check" command so that it avoids formatting error
message context messages until it actually needs to generate an error message.
This avoids much formatting, and hence greatly improves the performance of
"PRAGMA integrity_check" in the common case when there are no errors. It also
makes the code a little smaller.
FossilOrigin-Name:
83913515830aa850f9e38406f9422d7e88dcab66
drh [Fri, 26 Sep 2014 01:10:02 +0000 (01:10 +0000)]
If an SQL function makes a recursive call to do an INSERT into the same
database, make sure that the last_insert_rowid() for that INSERT is recorded.
FossilOrigin-Name:
e93aecc090c2a1d3c231bb2bde044886eff0bdf7
drh [Thu, 25 Sep 2014 17:42:41 +0000 (17:42 +0000)]
Minor code reformatting and comment change, to improve clarity.
No logic changes.
FossilOrigin-Name:
baeb72a356d73e6f624edacd2986ab766105e177
drh [Thu, 25 Sep 2014 13:17:30 +0000 (13:17 +0000)]
Simplifications to the SQL function and aggregate calling procedures.
FossilOrigin-Name:
3467049a1705b49905ea88a5c6becb6fe318f2fa
drh [Thu, 25 Sep 2014 12:31:28 +0000 (12:31 +0000)]
Simplification to the random rowid picking logic that begins running when
the maximum possible rowid has already been used.
FossilOrigin-Name:
1330c72e172324c68ab49e5bb2ceba985935ae01
drh [Thu, 25 Sep 2014 11:08:57 +0000 (11:08 +0000)]
Still more performance enhancements to the LIKE and GLOB operators.
FossilOrigin-Name:
6c8924cacc2b875270770fed2cc3b1884f57a655
drh [Thu, 25 Sep 2014 03:51:37 +0000 (03:51 +0000)]
More performance optimization for the LIKE and GLOB operators.
FossilOrigin-Name:
5ab1023d6cfe31fa8a194804b8216058977ac973
drh [Thu, 25 Sep 2014 02:44:29 +0000 (02:44 +0000)]
Change that might allow SQLite to build and work using the EBCDIC character
set.
FossilOrigin-Name:
ef30e0352b3d4a29749cd0872c10e45a6649ec52
drh [Thu, 25 Sep 2014 00:56:00 +0000 (00:56 +0000)]
Size reduction and performance improvement in the LIKE and GLOB operators.
FossilOrigin-Name:
b2c89ef49cd19b8031a8149a2dc47cea07dd04e0
drh [Wed, 24 Sep 2014 19:47:27 +0000 (19:47 +0000)]
Have each open database allocate its pTmpSpace when the first write cursor
is opened, rather than on each insert or delete, for a small space savings
and performance boost.
FossilOrigin-Name:
99323552c001bc9173eb2a44542234c8ef7a9845
drh [Wed, 24 Sep 2014 18:31:07 +0000 (18:31 +0000)]
Small performance and size optimization for btreeUnlockIfUnused().
FossilOrigin-Name:
13c746f85d254475b10c3dd58555acd3bbead0ce
drh [Wed, 24 Sep 2014 13:20:22 +0000 (13:20 +0000)]
Do not allow parameters in a DEFAULT clause of a CREATE TABLE statement.
Ticket [
78c0c8c3c9f7c1 ].
FossilOrigin-Name:
1ad2bc1ed4c4ac81ac67a9660761f0eeb47c7fef
drh [Wed, 24 Sep 2014 02:05:41 +0000 (02:05 +0000)]
Have the clearCell() routine return the cell size to the caller, rather
than have the caller make a separate call to cellSizePtr().
FossilOrigin-Name:
f21d217583c205dc17f98bb4877fd4ed98cefcb1
drh [Wed, 24 Sep 2014 01:23:00 +0000 (01:23 +0000)]
Shorten all lines of source code in btree.c to at most 80 characters.
No logical changes.
FossilOrigin-Name:
5dd41cdbfebdd088ebd9a90a394ee296c207ad90
drh [Wed, 24 Sep 2014 00:59:08 +0000 (00:59 +0000)]
Add the MemPage.noPayload boolean and use it to help
cellSizePtr() and btreeParseCellPtr() run faster.
FossilOrigin-Name:
8e3375313ebbf26b68561f3ed31d2a488222e5d0
drh [Tue, 23 Sep 2014 23:12:53 +0000 (23:12 +0000)]
Remove an unused C-preprocessor macro. No functional changes to the code.
FossilOrigin-Name:
f480582ccae0e9a917d4523191025bd16016ba64
drh [Tue, 23 Sep 2014 22:36:25 +0000 (22:36 +0000)]
Avoid calling btreeParseCellPtr() from within fillInCell() since most of
what btreeParseCellPtr() computes is ignored by fillInCell(). Instead, have
fillInCell() compute the values it needs inline. Performance improvement.
FossilOrigin-Name:
4147f6671e3faa8ddffab8387a6c7d9b5b962fc8
drh [Tue, 23 Sep 2014 21:25:19 +0000 (21:25 +0000)]
Simplify the CellInfo structure for a size reduction and performance
improvement.
FossilOrigin-Name:
bf59df66b3613c38cfb13a68091b8328ebb22c78
drh [Tue, 23 Sep 2014 18:30:00 +0000 (18:30 +0000)]
Add the "multiplex_truncate" PRAGMA to the multiplexor extension, for
querying and setting the truncate flag on a database connection.
FossilOrigin-Name:
d2962a5f388f30a02429e0c8b87399f482b5604c
drh [Tue, 23 Sep 2014 01:40:59 +0000 (01:40 +0000)]
Adjust skip-scan cost estimates slightly so that a full table scan is
preferred over a skip-scan to a column with only two distinct values.
FossilOrigin-Name:
ae9a42b268ad3f7d21a5813bb931e795c6917014
drh [Mon, 22 Sep 2014 20:38:10 +0000 (20:38 +0000)]
Fix to payload size overflow detection in the cellSizePtr() change of
the previous check-in.
FossilOrigin-Name:
7609744014c6a84a8379794a0351a2e9626ec86b
drh [Mon, 22 Sep 2014 19:51:35 +0000 (19:51 +0000)]
Size reduction and substantial performance increase for cellSizePtr().
FossilOrigin-Name:
bc8bbf3207288d160287519c3b7123997996b440
drh [Mon, 22 Sep 2014 14:30:51 +0000 (14:30 +0000)]
Tune the query planner to be more aggressive about using automatic indexes
on views and subqueries for which there is not opportunity to declare a
persistent schema index.
FossilOrigin-Name:
41de1643bfc9ae25e20790d707e2789b665baa2b
drh [Mon, 22 Sep 2014 03:22:27 +0000 (03:22 +0000)]
Disable shared memory operations using the unix-nolock VFS.
FossilOrigin-Name:
10a6e510497b471d67ac3dfb19ff256a7d18adf4
drh [Sun, 21 Sep 2014 22:31:52 +0000 (22:31 +0000)]
Correctly handle an ORDER BY clause on an outer query when applying
the compound-subquery flattening optimization. Ticket [
89398880bcfff ].
Also add the SQLITE_ENABLE_SELECTTRACE option for additional debugging
and analysis information about select statement processing.
FossilOrigin-Name:
d5880abd63c83c88e135257373afa0a3fd88297e
drh [Sun, 21 Sep 2014 20:31:26 +0000 (20:31 +0000)]
drh [Sun, 21 Sep 2014 17:51:37 +0000 (17:51 +0000)]
Add the "showauth" extension in ext/misc.
FossilOrigin-Name:
28d52c1c38d849f099bc777f5987d1ef89680c2a
drh [Sun, 21 Sep 2014 00:27:26 +0000 (00:27 +0000)]
Improved ".selecttrace" output.
FossilOrigin-Name:
c0b61f7092a7fd2c5f51db26ce7a7a5c75c227fe
dan [Sat, 20 Sep 2014 20:38:48 +0000 (20:38 +0000)]
drh [Sat, 20 Sep 2014 20:24:49 +0000 (20:24 +0000)]
Fix the SELECTTRACE_ENABLE macro so that it doesn't cause problems for
testfixture. Add new SELECTTRACE() calls.
FossilOrigin-Name:
f1ba68f131d2f03e4a7bc50cde23a7609d384279
drh [Sat, 20 Sep 2014 18:18:33 +0000 (18:18 +0000)]
Enable SELECT query planning tracing when compiled with
SQLITE_ENABLE_SELECTTRACE and either SQLITE_DEBUG or SQLITE_TEST.
FossilOrigin-Name:
cbe0cf9ddf46f0a678c85d49bfa74e3b7712e1a1
drh [Sat, 20 Sep 2014 00:35:05 +0000 (00:35 +0000)]
Fix the usage of the _GNU_SOURCE and _BSD_SOURCE macros in the main
internal header file, sqliteInt.h. Set HAVE_STRCHRNUL to 1 by default on
Linux only.
FossilOrigin-Name:
59e2c9df02d7e988c5ad44c560ead1e5288b12e7
drh [Sat, 20 Sep 2014 00:29:20 +0000 (00:29 +0000)]
Only enable HAVE_STRCHRNUL by default on linux, as that is the only place
it appears to work by default.
FossilOrigin-Name:
0fac2c045f47c7735af4eb68ced81d8b43622a1f
mistachkin [Sat, 20 Sep 2014 00:02:23 +0000 (00:02 +0000)]
Revise macro usage in 'sqliteInt.h'.
FossilOrigin-Name:
35db3e2f350ca2bc6bb9e1a647aec7f93bfb7065
drh [Fri, 19 Sep 2014 22:44:20 +0000 (22:44 +0000)]
Simplify two conditionals and add testcase() macros to the affinity transform
logic in the comparison operators.
FossilOrigin-Name:
544664cadfb4e504bc0b321c865d1ecb8a831e20
drh [Fri, 19 Sep 2014 22:30:49 +0000 (22:30 +0000)]
Recognize the invariant that a Mem object cannot be MEM_Dyn and have
a non-zero szMalloc at the same time. Enforce this with assert()s and
exploit it in the sqlite3VdbeMemClearAndResize() routine for a performance
increase.
FossilOrigin-Name:
3b21cf2b284048da4b728a5d6ec89e5c330144d4
drh [Fri, 19 Sep 2014 22:01:54 +0000 (22:01 +0000)]
Tighten the conditions under which applyNumericAffinity() be called and add
assert() statements to prove that it is never called otherwise.
FossilOrigin-Name:
e996ca32cb643c558b616c0dd872f3351b6aa3ef
drh [Fri, 19 Sep 2014 20:13:25 +0000 (20:13 +0000)]
Fix the affinity on inserts into the ANALYZE tables. Change the affinity
characters to be upper case, to make the P5 parameter of comparison operators
easier to read.
FossilOrigin-Name:
3f3ca76aea38d566a574f4403b375bdac32854ed
drh [Fri, 19 Sep 2014 19:43:20 +0000 (19:43 +0000)]
Do not attempt to extend the temp file if VFS version 3 is not supported and
hence memory mapped I/O is unavailable.
FossilOrigin-Name:
3ab20ba14f0204efeec62c7dbb87cb3f60e2497f
drh [Fri, 19 Sep 2014 19:00:48 +0000 (19:00 +0000)]
Make the "nolock" VFS on unix a version-3 VFS so that the sorter can
use memory-mapped I/O.
FossilOrigin-Name:
3db78d6100a1ecf58c18eec3abefa7d1250c649c
drh [Fri, 19 Sep 2014 16:56:45 +0000 (16:56 +0000)]
Remove a local variable from the OP_Column implementation, resulting in a
modest size reduction and a performance increase.
FossilOrigin-Name:
6199760d1340858d97c845177986b783da915d9e
drh [Fri, 19 Sep 2014 16:13:12 +0000 (16:13 +0000)]
Small size reduction and performance increase for releaseMemArray().
FossilOrigin-Name:
24cd32d681df58f687b2afbe4b13d579e3efdd4b
drh [Fri, 19 Sep 2014 16:02:06 +0000 (16:02 +0000)]
Updates to comments. No code changes.
FossilOrigin-Name:
9b42c3da6b2593a10b8fe4b2fcc3d650132625c1
drh [Fri, 19 Sep 2014 15:28:33 +0000 (15:28 +0000)]
The OP_Column opcode runs faster and is smaller by manually in-lining the
code that persists string values in the output register.
FossilOrigin-Name:
36b613ccf0ddb764af90841994da91b7fcaa8f00
drh [Fri, 19 Sep 2014 04:42:38 +0000 (04:42 +0000)]
Add the sqlite3VdbeMemClearAndResize() function. Fix a sorting-index
prefilter problem.
FossilOrigin-Name:
987a7a211913b3949da20e43423af376f72a28ba
drh [Fri, 19 Sep 2014 02:01:37 +0000 (02:01 +0000)]
Make sure that the sorting-index pre-filter recognizes that a rowid reference
might be sortable. This fixes a performance regression.
FossilOrigin-Name:
72727b68cd07969165f1f0943cc7e1a265436653
drh [Fri, 19 Sep 2014 00:43:39 +0000 (00:43 +0000)]
Add the sqlite3VdbeMemClearAndResize() interface to be used in place of
sqlite3VdbeMemGrow().
FossilOrigin-Name:
5b9b8987797abf7c68d2c3154f6657be9b8b1c8f
drh [Thu, 18 Sep 2014 21:25:33 +0000 (21:25 +0000)]
Add the Mem.szMalloc element to the Mem object and use it to keep track of
the size of the Mem.zMalloc allocation.
FossilOrigin-Name:
9c09ac353df6041808cace41880f4729ee73f5e1
mistachkin [Thu, 18 Sep 2014 18:55:47 +0000 (18:55 +0000)]
Correct typos in comments. No changes to code.
FossilOrigin-Name:
55879932116d373c95a5f32ec44b53a9c3f4db24
drh [Thu, 18 Sep 2014 17:52:15 +0000 (17:52 +0000)]
Merge the Mem.r value into the MemValue union as Mem.u.r. Hence, a Mem can
now store an integer or a real but not both at the same time. Strings are
still stored in a separate element Mem.z, for now.
FossilOrigin-Name:
4c8c89d7e62aecfe2eb735f7bb114aed6b452847
drh [Thu, 18 Sep 2014 16:28:59 +0000 (16:28 +0000)]
Performance improvement for affinity transformations on comparison operators.
FossilOrigin-Name:
d7afdcbac24350b73a30c06c45cf0f2122820e4f
drh [Thu, 18 Sep 2014 14:36:00 +0000 (14:36 +0000)]
Since numeric affinity is the most common case, check it first. Interchange
the NONE and TEXT affinity codes for easier checking of no affinity.
FossilOrigin-Name:
4ef4c9a7c8510203bce0941dda2f76ded8da1de2
dan [Thu, 18 Sep 2014 09:59:28 +0000 (09:59 +0000)]
Modify an assert() within sqlite3PagerWalFramesize(), a function only ever used by zipvfs, to account for recent zipvfs changes.
FossilOrigin-Name:
3bd7c1b2faa2d4cc95b255633204006849bfd5e0
drh [Thu, 18 Sep 2014 02:20:54 +0000 (02:20 +0000)]
Fix harmless warnings on 32-bit MSVC builds.
FossilOrigin-Name:
5192f964b2a85459553f1cea741b9791606ccc4e
drh [Thu, 18 Sep 2014 01:50:09 +0000 (01:50 +0000)]
Make sure of the strchrnul() library function on platforms where it is
available.
FossilOrigin-Name:
ef1aa10b7f54912cba71cd0a98c5055d501de54f
drh [Thu, 18 Sep 2014 01:29:11 +0000 (01:29 +0000)]
Merge micro-optimizations into trunk after fixing the build on MSVC.
Performance now shows 7.58% faster than the 3.8.6 release on x64 with
gcc 4.8.1 and -Os.
FossilOrigin-Name:
1de558bcb13edc4e9a42a0b05e4b0ed6b14286a4
drh [Thu, 18 Sep 2014 01:21:43 +0000 (01:21 +0000)]
Fix compiler warnings and change the nullMem structure initializer into a
format that MSVC can understand.
FossilOrigin-Name:
163bfae8583b2d3002a3a43d6bf8a66fefd73acb
drh [Wed, 17 Sep 2014 23:37:38 +0000 (23:37 +0000)]
Performance improvement and slight size reduction to the comparison operators
in the VDBE.
FossilOrigin-Name:
14052a7d088bed8196d90a3361ce717a5193bdc8
drh [Wed, 17 Sep 2014 16:41:15 +0000 (16:41 +0000)]
In the Mem object, stop requiring that Mem.xDel be NULL when the MEM_Dyn
bit is clear. Also reduce the amount of initialization of Mem objects.
All for a small size reduction and performance increase.
FossilOrigin-Name:
fdddb477c89dabb9f7bf2d5ccb32534868df3a03
drh [Wed, 17 Sep 2014 14:52:46 +0000 (14:52 +0000)]
Improved interface to the Mem object handling. Small size reduction and
performance increase.
FossilOrigin-Name:
4e437844322cc20eef92928b53fa6b37eded586e
drh [Tue, 16 Sep 2014 21:54:11 +0000 (21:54 +0000)]
Continuing cleanup of memory register memory allocation handling.
FossilOrigin-Name:
2598aedc5dd2bac67e2e518a31f2803e469c2ba6
drh [Tue, 16 Sep 2014 20:05:21 +0000 (20:05 +0000)]
Make sure registers are cleared properly prior to being used to store
the result of an OP_Column operator.
FossilOrigin-Name:
78fb8838d80b229418c347c63579989432e1af7d
drh [Tue, 16 Sep 2014 18:22:44 +0000 (18:22 +0000)]
Simplification of the OP_Column logic for the case of rows with overflow.
FossilOrigin-Name:
f73678038d8fc399c1ca55230ae45962007c909c
drh [Tue, 16 Sep 2014 14:55:08 +0000 (14:55 +0000)]
Remove an unused parameter from sqlite3VdbeIdxRowid(). This is cosmetic
only as the C-compiler optimizers were already omitting this parameter on
amalgamation builds.
FossilOrigin-Name:
a10a6bba4963761b490b7243b388dcc920c4cfed
drh [Tue, 16 Sep 2014 14:37:35 +0000 (14:37 +0000)]
Reduce the number of arguments to RecordCompare functions from 4 to 3,
resulting in a small performance increase.
FossilOrigin-Name:
8239c35aedd583af79505378bb7dbb78346a3f45
drh [Tue, 16 Sep 2014 14:16:31 +0000 (14:16 +0000)]
Reorder the elements of the Mem object for a small size reduction and
performance improvement.
FossilOrigin-Name:
0be3019ed794c10de67dfd645ceea7d45815bc4b
drh [Tue, 16 Sep 2014 13:30:05 +0000 (13:30 +0000)]
Changes to sqlite3VdbeRecordUnpack() to make it slightly smaller and faster.
FossilOrigin-Name:
8fb90da77ce0e662c1ef1ae0d854e5164494b7af
drh [Tue, 16 Sep 2014 03:24:43 +0000 (03:24 +0000)]
Performance improvement to the sqlite3MemCompare() routine by factoring out
sqlite3BlobCompare().
FossilOrigin-Name:
20ed2321b09ba076e50f9fc2f42c135b25746d72
dan [Mon, 15 Sep 2014 16:53:23 +0000 (16:53 +0000)]
Fix tool/showwal.c so that it handles WAL files that contain 64KiB pages.
FossilOrigin-Name:
4060efb646c873c4abde7ab9ddf330489a44f274
dan [Mon, 15 Sep 2014 16:50:34 +0000 (16:50 +0000)]
Avoid attempting to call the xFetch() method of an sqlite3_io_methods object with a version number less than 3.
FossilOrigin-Name:
dedaa6fb3d2e6e697d4a48649af5f42d9a11c333
drh [Mon, 15 Sep 2014 14:59:12 +0000 (14:59 +0000)]
Remove the EXPENSIVE_ASSERTS in pcache.c having to do with the pSynced field
of the Pcache object, as they are incorrect, as revealed by recent pcache
enhancements.
FossilOrigin-Name:
69a64560777f85b47349b4b2aab01dc99298592e
drh [Mon, 15 Sep 2014 14:46:02 +0000 (14:46 +0000)]
Do not flatten aggregate subqueries that contain min() or max() functions
so that if the min()/max() are discarded by the outer query, they still
function and cause non-aggregate expression to be evaluated on the minimal
or maximal row.
FossilOrigin-Name:
0bdf1a086b3946722f4d4b328e25917f61c14713
drh [Mon, 15 Sep 2014 11:14:50 +0000 (11:14 +0000)]
Adjust comments to show that subquery flattening restriction (10) was
removed from the code back in 2005. This is a comment change only.
FossilOrigin-Name:
4ff0eb96bc364baed2d8005c69291ca9240b99dd
drh [Fri, 12 Sep 2014 20:30:59 +0000 (20:30 +0000)]
Small performance improvement to the dirty list handling in the pager.
FossilOrigin-Name:
b332a84d5154f70f3197537df4af243eaebbb011
drh [Fri, 12 Sep 2014 17:41:30 +0000 (17:41 +0000)]
Simplify the way the column cache is managed around OP_Move instructions.
FossilOrigin-Name:
320556233e19cdd9d590a09655c3465754700d39
drh [Fri, 12 Sep 2014 04:28:33 +0000 (04:28 +0000)]
Fix a problem with parser memory allocation on 32-bit systems.
FossilOrigin-Name:
2f69a1fa6adc9377149ae7faa586a5d30b6a631b
drh [Thu, 11 Sep 2014 23:34:55 +0000 (23:34 +0000)]
Fix an issue with sqlite3_bind_text64() with the SQLITE_UTF16 encoding
parameter. Remove some unreachable code from the text64() and blob64()
implementation.
FossilOrigin-Name:
34292b084ef48cd6e9ca5704f6b072a29733b4c2
drh [Thu, 11 Sep 2014 18:44:04 +0000 (18:44 +0000)]
Add new APIs that take 64-bit length parameters: sqlite3_malloc64(),
sqlite3_realloc64(), sqlite3_bind_blob64(), sqlite3_bind_text64(),
sqlite3_result_blob64(), and sqlite3_result_text64().
Add the sqlite3_msize() interface.
Internal memory allocation routines now use 64-bit unsigned
length parameters for safety.
Fix the sqlite3_get_table() to use sqlite3_realloc64() to avoid
a integer overflow problem.
FossilOrigin-Name:
7e4978c003867d1b532b69221013dda75ca61953
drh [Thu, 11 Sep 2014 17:27:54 +0000 (17:27 +0000)]
Add the SQLITE_USER_AUTHENTICATION extension to the trunk. This extension
is disabled by default. Special compilation procedures are need to enable
it.
FossilOrigin-Name:
65884d4f81a4705b0356b6cb8ec4909945ff5c19
drh [Thu, 11 Sep 2014 17:14:54 +0000 (17:14 +0000)]
Clean up some #includes in the extension API implementation.
FossilOrigin-Name:
b149ef5c639e6bcff7bd1c7866353e7f7f468070
drh [Thu, 11 Sep 2014 16:36:43 +0000 (16:36 +0000)]
Suppress the potential schema error that occurs when a non-user-auth
SQLite library tries to parse the sqlite_user table definition in a
user-auth database.
FossilOrigin-Name:
cda33c1ef35416a155af602c0b4e9d42ccf8633f
drh [Thu, 11 Sep 2014 16:19:31 +0000 (16:19 +0000)]
Enhance the sqlite3_user_add() interface to initialize the user
authentication logic. Add test cases for the extra argument on the
end of the authorizer callback.
FossilOrigin-Name:
842c6da8f1a62bd13a1b4089a98b0835a46a2285
drh [Thu, 11 Sep 2014 15:25:02 +0000 (15:25 +0000)]
All interfaces working and tested.
FossilOrigin-Name:
96ea5c0b3cd1dec81d490f2f958ebd2e47a24921
drh [Thu, 11 Sep 2014 14:56:45 +0000 (14:56 +0000)]
Get the sqlite3_user_delete() interface working.
FossilOrigin-Name:
974a9c65583f7ab438d5673dc00c347ab8322855
drh [Thu, 11 Sep 2014 14:40:27 +0000 (14:40 +0000)]
Fix the sqlite3_user_change() interface so that it does allow a
non-admin user to change their own password.
FossilOrigin-Name:
52d440c7e1b07fc03f14ed5fa4cc4c89a75cd430
drh [Thu, 11 Sep 2014 14:01:41 +0000 (14:01 +0000)]
Move user authentication blocking from sqlite3_prepare() over to the
table lock generator, thus allowing SQL statements (like
"PRAGMA locking_mode") that do not touch database content to run
prior to authentication.
FossilOrigin-Name:
70121e7cf868b7d6d19bf98794ddc3809a901456
drh [Thu, 11 Sep 2014 13:44:52 +0000 (13:44 +0000)]
Add support for the extra parameter on the sqlite3_set_authorizer() callback
and support for failing an ATTACH with an authentication-required database
using bad credentials. The extension is now feature complete, but much
testing and bug-fixing remains.
FossilOrigin-Name:
596e728b0eb19a34c888e33d4d37978ca2bf1e00
drh [Thu, 11 Sep 2014 00:27:53 +0000 (00:27 +0000)]
Reorder parameters on the sqlite3_user_*() interfaces for consistency.
Add the first TCL test cases.
FossilOrigin-Name:
2f6d8f32eef526b5912f42ab467e3c7812480d8b
drh [Wed, 10 Sep 2014 22:46:46 +0000 (22:46 +0000)]
Complete the implementation of the various APIs. Fix several problems.
This is another incremental check-in that does not completely work.
FossilOrigin-Name:
4eaaa7fa87aa912d24f8b35440ab60310dc08310
drh [Wed, 10 Sep 2014 19:01:14 +0000 (19:01 +0000)]
Add the ".user" shell command and implement the sqlite3_user_add()
routine. Incremental check-in. The code compiles but does not work.
FossilOrigin-Name:
a0455f9deb603bf91684158d911269622720fc1a