dan
a4d5ae8fa2
Add the sqlite3_result_zeroblob64() API. Use it in the SQL zeroblob() function.
...
FossilOrigin-Name: c6445b9fb4d7d1a8479436d7d183bad754a01615
2015-07-24 16:24:37 +00:00
drh
53e66c3cda
More robust handling of zeroblob() with oversized arguments. Fix fuzzcheck
...
so that it can be run with limited heap memory.
FossilOrigin-Name: 4e3e516a42059c97f42a7eb59bdf5cded0ff843a
2015-07-24 15:49:23 +00:00
drh
201e0c68f7
Always invoke the profile callback even if the statement does not run to
...
completion.
FossilOrigin-Name: 202479aa0a62067343e724487960b8a039e2e978
2015-07-14 14:48:50 +00:00
drh
10ca5b4809
Make sure sqlite3_value_dup() works correctly even for sqlite3_value
...
objects that are marked SQLITE_STATIC.
FossilOrigin-Name: f332ffc39b7a17fd6254d8dc699293a57a508ba0
2015-05-22 21:04:54 +00:00
drh
9dfedc8246
Fix minor issues with the sqlite3_value_dup() interface.
...
FossilOrigin-Name: 95edcf5010ecb8edd8eb74279c4766f9b655d4a2
2015-05-22 19:55:10 +00:00
drh
4f03f413bc
Add the sqlite3_value_dup() and sqlite3_value_free() interfaces. Use
...
these interfaces to enhance R-Tree to add the
sqlite3_rtree_query_info.apSqlParam field.
FossilOrigin-Name: a7ee40c4fc62843ac5b96ba47ca14a66e8cd6961
2015-05-20 21:28:32 +00:00
drh
3df79a9a1f
Fix the "now" option for date-time functions for cases when STAT4 is disabled.
...
FossilOrigin-Name: 3ac1f6a3cf1a8fd3ab1ca96b2564c13c4b8d2234
2015-03-12 23:48:27 +00:00
drh
96f4ad20fd
Always disallow functions as the DEFAULT of a column. Add assert()s and
...
FossilOrigin-Name: a991bb1a9eb54bdbd45bd623e8b304bdfeb481a3
2015-03-12 21:02:36 +00:00
drh
a9e03b1b82
The valueFromFunction() routine is better able to handle OOM errors.
...
Omit unreachable branches.
FossilOrigin-Name: 8fb6bd9be59d6b04e922d7b246aaefd4851539b6
2015-03-12 06:46:52 +00:00
dan
18bf807689
Allow the query planner to evaluate deterministic scalar SQL functions used in WHERE constraints if all arguments are SQL literals in order to compare the results with sqlite_stat4 sample data.
...
FossilOrigin-Name: b7f1fc26d24012e1e7c7f6b3cc0b84ad2b02b8ad
2015-03-11 20:06:40 +00:00
drh
22ec13466c
Add a couple of requirements marks.
...
FossilOrigin-Name: d70b0fd4c94f2b70cf31c2ab9ef7a2fb2e71c182
2015-02-27 00:33:15 +00:00
drh
983b5ee73d
Make sure the prepared statement auto-resets on extended error codes
...
of SQLITE_BUSY and SQLITE_LOCKED even when compiled using
SQLITE_OMIT_AUTORESET.
FossilOrigin-Name: 3c6ca414879feb1f5d31d5fd95a1737530aca624
2015-02-13 12:05:56 +00:00
drh
ef15c6e9e6
Add new tests to the threadtest4.c program. Fix a long-standing data race
...
in WAL mode for shared-cache.
FossilOrigin-Name: d8d3e6d04cbb9e3033ad8613e3dbd4ad0b01765a
2014-12-12 01:27:17 +00:00
dan
857536623a
Fix a race condition to do with very large index keys in shared-cache mode.
...
FossilOrigin-Name: fc157dd7f18c94b7ae5f155e1b4a5d7714b7da8c
2014-12-11 16:38:18 +00:00
drh
c6652b1efe
Add the SQLITE_SCANSTAT_SELECTID metric. Use it to improve the
...
".stmtscan on" output in the shell.
FossilOrigin-Name: 64ad5761a841f71530d41565b9fbe9d19c2d6aff
2014-11-06 04:42:20 +00:00
drh
518140ed04
Change the SQLITE_SCANSTAT_EST parameter so that it returns a double for
...
the estimated number of output rows per loop, rather than a 64-bit integer.
Revise the output format for the ".scanstats on" in the shell to make use
of this new capability.
FossilOrigin-Name: f9684000665ae7ef6f89c3773612b8286b8f545a
2014-11-06 03:55:10 +00:00
dan
d72219da43
Fix a typo preventing this from building with SQLITE_ENABLE_STMT_SCANSTATUS defined.
...
FossilOrigin-Name: 4c5714ab3dba19513374c7b1478221a0b90b450c
2014-11-03 16:39:37 +00:00
drh
d1a1c23423
Refactor the interface to make it more easily extensible.
...
FossilOrigin-Name: 7955342da4a35b57e4ae26690b8d40f7bba20e8f
2014-11-03 16:35:55 +00:00
dan
037b5324bd
Remove unused variable from struct WhereInfo. Add some explanatory comments to new code.
...
FossilOrigin-Name: f5313e0c680d9baebefb1cf50ddadedd4418a334
2014-11-03 11:25:32 +00:00
dan
6f9702ed4d
If SQLITE_ENABLE_STMT_SCANSTATUS is defined, record the number of times each VDBE opcode is executed. Derive the values returned by sqlite3_stmt_scanstatus() from these records on demand.
...
FossilOrigin-Name: 9ea37422a8cc2fce51bb10508e5e90f40fd4b511
2014-11-01 20:38:06 +00:00
dan
04489b6dce
Add the experimental sqlite3_stmt_scanstatus() API.
...
FossilOrigin-Name: 6a9bab34aeb6a01b612211a28c140de60a3e883c
2014-10-31 20:11:32 +00:00
drh
9ca95730e3
Add the SQLITE_ENABLE_API_ARMOR compile-time option. This is a work in
...
progress and is not yet completely functional.
FossilOrigin-Name: c297a84bc678f81ffc0aa9139ab73f0ca87c1971
2014-10-24 00:35:58 +00:00
drh
79f7af9a9e
Add requirements marks on the sqlite3_db_status() interface implementation.
...
Fix a typo in the documentation. Fix the new sqlite3_result_text64() routine
so that it works correctly with an encoding parameter of SQLITE_UTF16.
FossilOrigin-Name: d2fc322728331ae2d147c8496129df5e3c655eb5
2014-10-03 16:00:51 +00:00
drh
322f2852f2
Add the sqlite3VdbeMemClearAndResize() interface to be used in place of
...
sqlite3VdbeMemGrow().
FossilOrigin-Name: 5b9b8987797abf7c68d2c3154f6657be9b8b1c8f
2014-09-19 00:43:39 +00:00
drh
17bcb10299
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
2014-09-18 21:25:33 +00:00
drh
74eaba4de2
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
2014-09-18 17:52:15 +00:00
drh
3329a63ac5
Fix compiler warnings and change the nullMem structure initializer into a
...
format that MSVC can understand.
FossilOrigin-Name: 163bfae8583b2d3002a3a43d6bf8a66fefd73acb
2014-09-18 01:21:43 +00:00
drh
0725cabe3a
Improved interface to the Mem object handling. Small size reduction and
...
performance increase.
FossilOrigin-Name: 4e437844322cc20eef92928b53fa6b37eded586e
2014-09-17 14:52:46 +00:00
drh
035e563bf6
Reorder the elements of the Mem object for a small size reduction and
...
performance improvement.
FossilOrigin-Name: 0be3019ed794c10de67dfd645ceea7d45815bc4b
2014-09-16 14:16:31 +00:00
drh
fc59a954cb
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
2014-09-11 23:34:55 +00:00
drh
bbf483f855
Change the name of the _texte64() interfaces to just _test64(), without the "e".
...
FossilOrigin-Name: 6ab76c5fedfe568b0f0f34a600f9135bf6558148
2014-09-09 20:30:24 +00:00
drh
da4ca9d19c
Add new APIs that take 64-bit length parameters:
...
sqlite3_malloc64(),
sqlite3_realloc64(),
sqlite3_bind_blob64(),
sqlite3_bind_texte64(),
sqlite3_result_blob64(),
and sqlite3_result_texte64().
Internal memory allocation routines also now use 64-bit unsigned length
parameters for safety.
Also add the sqlite3_msize() interface.
Fix the sqlite3_get_table() to use sqlite3_realloc64() to avoid a
integer overflow problem.
FossilOrigin-Name: 94954850cf2e1ec0b7f590c7f46cdc54c72558ce
2014-09-09 17:27:35 +00:00
peter.d.reid
60ec914c74
Fix typos in comments. No code changes.
...
FossilOrigin-Name: e62aab5e9290503869e1f4d5e0fefd2b4dee0a69
2014-09-06 16:39:46 +00:00
drh
9bd038f12e
In the sqlite3_context object, keep a pointer to the result value rather
...
than storing the result value in the sqlite3_context object and using
memcpy() to move the value back into its register
after the function returns. This runs faster and saves over 500 bytes
of code space.
FossilOrigin-Name: 6c1ee3e388eb110de815270467b1e50592c0ba6c
2014-08-27 14:14:06 +00:00
drh
9de4a17185
Make the implementation of the sqlite3_aggregate_context() interface faster
...
for second an subsequent invocations. This helps all aggregate functions to
perform better.
FossilOrigin-Name: 802148f3110462eac939d53ce08eb9a2f6aac739
2014-08-23 18:17:19 +00:00
drh
13f40da31d
Split the sqlite3Error() routine into sqlite3Error() and
...
sqlite3ErrorWithMsg(), for a slight size reduction and performance increase.
FossilOrigin-Name: cf561d1f0bb60b3d638632d20bd686dda4fa4a04
2014-08-22 18:00:11 +00:00
drh
5f58ae75c9
A better fix for the sqlite3_trace() problem.
...
Ticket [11d5aa455e0d98f3c1e6a]
FossilOrigin-Name: 44d5bd4cc3f76e9a151ba0abae1092bd184af264
2014-08-19 20:41:36 +00:00
drh
2c7946a485
Make sure the sqlite3_trace() callback is invoked, even if the prepared
...
statement was marked "expired" before it ever entered sqlite3_step().
Ticket [11d5aa455e0d98f3c1e6a08].
FossilOrigin-Name: 0d4d3df4bc5e75ce1543b5539a1e9e279d2a062f
2014-08-19 20:27:40 +00:00
dan
857745c089
Update the sqlite3_stmt_busy() function so that it correctly returns true for "ROLLBACK" statements that have been stepped but not yet reset.
...
FossilOrigin-Name: 61cee3c0678f5abd9131a29ab946a5e71f55643e
2014-07-19 17:57:10 +00:00
drh
817492630a
When converting a result type from TEXT to BLOB using the
...
sqlite3_value_blob() interface, continue to report SQLITE_TEXT as
the true type from sqlite3_value_text() as long as that text is still
valid. The maintains legacy behavior from before the noMemType change.
FossilOrigin-Name: 1d134ba2edbdb8c0cf9e99590a69cd17e0b874a9
2014-03-05 14:40:22 +00:00
drh
b1a1c29a07
Separate the column NULL value constant into a separate routine for greater
...
commonality with the sessions branch.
FossilOrigin-Name: 12cbebb997705e37769460e00a4aaa52c12f305e
2014-03-05 12:47:55 +00:00
mistachkin
afc14f72ef
Experimental simplification of memory flags/type handling.
...
FossilOrigin-Name: bac2820e13a79d91d0f8938c643134a9d6900327
2014-03-05 01:29:18 +00:00
drh
1b27b8c0a0
Faster and smaller implementation of sqlite3_value_type().
...
FossilOrigin-Name: 5708bc24b8cab623b833121183042b43e5a7021b
2014-02-10 03:21:57 +00:00
drh
a3cc007df4
Simplication and optimization of error message handling.
...
FossilOrigin-Name: 9d347f547e7ba9590b0c68edf50a14ad94a2bb92
2013-12-13 16:23:55 +00:00
drh
95a7b3e36d
The date and time functions use the exact same notion of "now" for every
...
invocation within the same call to sqlite3_step().
FossilOrigin-Name: daf6ba413cb3cb6065774ba07495eab4a28b49b0
2013-09-16 12:57:19 +00:00
drh
9b47ee3f09
Performance optimizations in the VDBE and especially to the OP_Next and
...
related opcodes and in the sqlite3BtreeNext() and sqlite3BtreePrevious()
routines. This is a cherrypick of [6f99b54aedeb], [d2efea1682a7], and
[d78c5d89de4b].
FossilOrigin-Name: 7f72fc4f47445a2c01910b268335873de9f75059
2013-08-20 03:13:51 +00:00
dan
0c5477997b
Ensure that all auxiliary data registered by calls to sqlite3_set_auxdata() is destroyed when the VM is halted. Partial fix for [406d3b2ef9].
...
FossilOrigin-Name: 71effa59c98d167e6e4b269e59ad5f468e664ac1
2013-07-18 17:12:08 +00:00
drh
648e264342
Add the "defer_foreign_keys" pragma and the SQLITE_DBSTATUS_DEFERRED_FKS
...
value for sqlite3_db_status(). This is a cherry-pick of a sequence of five
checkins in the sessions branch between [1d44e5d3c2] and [d39e65fe70].
FossilOrigin-Name: 527121ac3cdc96ac33ad975c227a6685a2f7e999
2013-07-11 15:03:32 +00:00
drh
1713afb025
Refactor the Vdbe.noIO field as Vdbe.bIsReader. The meaning is inverted.
...
FossilOrigin-Name: 59f98c5c241e5a61cd5b6d0e69b55a6b44c5cafc
2013-06-28 01:24:57 +00:00
drh
4f7d3a5f06
Refactor names of fields in the sqlite3 object: "activeVdbeCnt" becomes
...
"nVdbeActive". Related fields becomes "nVdbeRead", "nVdbeWrite", and
"nVdbeExec".
FossilOrigin-Name: 14f796963474350e7aee8d3757acd3315fe78e4f
2013-06-27 23:54:02 +00:00