drh
81367381a9
If an error occurs in the compile-time evaluation of an application-defined
...
function, then propagate back out the exact error code, not just the
generic SQLITE_ERROR.
FossilOrigin-Name: 93f42586cc9db63c5a4599ce06630e60204a5bc9
2015-03-12 18:38:51 +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
cdcc11d7d4
Allow the default value for columns added using ALTER TABLE ADD COLUMN to be a function in existing schemas loaded from disk. But prevent this version of SQLite from being used to create such a column.
...
FossilOrigin-Name: ff868e22ca0393eaac417872a4c10738f0d7d970
2015-03-11 20:59:42 +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
dan
f11b256b0b
Merge latest trunk changes with this branch.
...
FossilOrigin-Name: 1b2824f1d11ac336779372e322aecfb36fb2a31d
2014-10-15 19:37:13 +00:00
dan
74439167cb
Rearrange an expression in vdbemem.c to avoid a (harmless) reference to a possibly unitialized variable.
...
FossilOrigin-Name: 4a7b3fa049a9aa0668e318287edd4a78c0588bf8
2014-10-15 11:31:35 +00:00
drh
78aad7cd1d
Merge all recent trunk changes.
...
FossilOrigin-Name: abfef254721ca29b653f24bfe80e88adaa92dc6c
2014-10-10 12:56:35 +00:00
drh
722246e801
Make sure the sqlite3VdbeMemClearAndResize() routine is never called with a
...
zero size parameter, since a size of zero could lead to either a memory leak
or an assertion fault.
FossilOrigin-Name: f672a380e2e52bede95ff11a533fd9f7d412d494
2014-10-07 23:02:24 +00:00
drh
3b335fce5c
Restrict the scope of the valueToText() routine.
...
FossilOrigin-Name: 13c962b33df411a0d9ead0bb1969596faa286f79
2014-10-07 16:59:22 +00:00
drh
6b011d83b4
Merge all recent trunk changes into the sessions branch.
...
FossilOrigin-Name: 6406b77f2c447751a2fbb16f01c61cdcfd6af59e
2014-09-21 22:49:20 +00:00
drh
1eda9f7d87
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
2014-09-19 22:30:49 +00:00
drh
a5476e9254
Add the sqlite3VdbeMemClearAndResize() function. Fix a sorting-index
...
prefilter problem.
FossilOrigin-Name: 987a7a211913b3949da20e43423af376f72a28ba
2014-09-19 04:42:38 +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
d3b74200a8
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
2014-09-17 16:41:15 +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
6b478bcd9e
Continuing cleanup of memory register memory allocation handling.
...
FossilOrigin-Name: 2598aedc5dd2bac67e2e518a31f2803e469c2ba6
2014-09-16 21:54:11 +00:00
drh
8740a60016
Make sure registers are cleared properly prior to being used to store
...
the result of an OP_Column operator.
FossilOrigin-Name: 78fb8838d80b229418c347c63579989432e1af7d
2014-09-16 20:05:21 +00:00
drh
2a2a696cd7
Simplification of the OP_Column logic for the case of rows with overflow.
...
FossilOrigin-Name: f73678038d8fc399c1ca55230ae45962007c909c
2014-09-16 18:22:44 +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
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
6c9f8e67de
Factor out the exception paths from sqlite3ValueToText() into a separate
...
function so that the main routine is much faster for the common case of
no required type or encoding conversions.
FossilOrigin-Name: 1624916c6e9bc5dbcfa146b316a99ac8fecb13a9
2014-08-27 03:28:50 +00:00
drh
b63388b6a4
Performance enhancement in sqlite3VdbeMemNulTerminate().
...
FossilOrigin-Name: f94cacc393e895522b92c9717c53357afc918d60
2014-08-27 00:50:11 +00:00
drh
ec3e4f753b
Minor changes to the CAST logic to make it more testable.
...
FossilOrigin-Name: 1ad70ec550c004160d9c0c57e6c416812cdead5e
2014-08-25 21:11:01 +00:00
drh
4169e430a2
Allow CAST expressions and unary "+" operators to be used in the DEFAULT
...
argument of an ALTER TABLE ADD COLUMN and to be understand on the RHS of
range constraints interpreted by STAT3/4. This involves a rewrite of the
implementation of the CAST operator.
FossilOrigin-Name: 91d8a8d0b792ea5c4fe68fd9caaf3345eddea486
2014-08-25 20:11:52 +00:00
drh
12b7c7d8c3
Change the name of the VdbeMemRelease() macro to VdbeMemReleaseExtern() to
...
more accurately reflect what it does. Performance enhancement to the
sqlite3VdbeMemRelease() function.
FossilOrigin-Name: 3ca5846da7da5e08192a4c96288197be3b7ab6f7
2014-08-25 11:20:27 +00:00
drh
bd9507c8da
Performance optimization in the applyAffinity() logic inside the VDBE.
...
FossilOrigin-Name: 25f2246be404f38b4f8dd70397cd1454d46358c4
2014-08-23 17:21:37 +00:00
drh
2f2b2b8580
Performance enhancement in sqlite3PutVarint().
...
FossilOrigin-Name: a929be551924144c9bc7aab608404d59e479abb5
2014-08-22 18:48:25 +00:00
drh
0288b21e54
Add header comments on new routines. Rework the sqlite3Stat4Column() routine
...
so that is (in theory) able to deal with corrupt samples.
FossilOrigin-Name: ef5cdf949bb53a2958fa34e176b4b9eeda269de5
2014-06-28 16:06:44 +00:00
dan
fa8874542c
Fix a problem with using stat4 samples of type text when estimating the rows visited by a range-query/skip-scan loop.
...
FossilOrigin-Name: dfb09db6d412f3bc2a71bda393813783580dbad1
2014-06-28 15:26:10 +00:00
dan
4e42ba4a35
Fix a couple of problems in estimating the number of rows visited by a range query that uses a skip-scan.
...
FossilOrigin-Name: 219736f54dcd1448af3400e699f1c20755ac6876
2014-06-27 20:14:25 +00:00
dan
b0b8290ecb
Attempt to use sqlite_stat4 data to estimate the number of rows visited by a range query that uses a skip-scan. This code is largely untested.
...
FossilOrigin-Name: 01dc8102592427b71a18c2cb82301d2266dd59c2
2014-06-26 20:21:46 +00:00
mistachkin
afc14f72ef
Experimental simplification of memory flags/type handling.
...
FossilOrigin-Name: bac2820e13a79d91d0f8938c643134a9d6900327
2014-03-05 01:29:18 +00:00
dan
052c6784ee
Fix a problem with "DEFAULT (-(-9223372036854775808))" clauses in ALTER TABLE ... ADD COLUMN commands.
...
FossilOrigin-Name: e072cb3ee2a03d786c08230cecc6e970de2cec5b
2014-03-04 21:00:20 +00:00
drh
d1053a4314
Fix a potential memory use-after-free problem following an OOM error.
...
FossilOrigin-Name: 767ccb1fa11b3e7b895fb8c2e91f79e3b4202907
2014-03-04 18:06:04 +00:00
drh
5f1d536b53
Improve clarity of presentation in the sqlite3VdbeMemFromBtree() routine.
...
FossilOrigin-Name: 9830c343bc954b828f6ca752f8ae63e2c0a980c1
2014-03-04 13:18:23 +00:00
dan
900defa07a
Merge latest trunk changes.
...
FossilOrigin-Name: e00ed717fbe456010ec6c746490d7c3e9d94ec5a
2014-03-03 14:45:06 +00:00
drh
c91b2fd310
Change the MEM_Dyn flag so that it means that Mem.xDel exists and must be
...
used to free the string or blob. Add tighter invariant checks on Mem.
FossilOrigin-Name: 44e1c33767cae3bf2cbd2238831fe67197009b43
2014-03-01 18:13:23 +00:00
drh
75fd054201
Factor the Mem invariant checker into a separate procedure (rather than a
...
macro) so that it can be more easily extended.
FossilOrigin-Name: 354699d50e7d251504a7b3d6fbec9e5bcf99557f
2014-03-01 16:24:44 +00:00
drh
defbd9dade
Add extra assert() statements trying to catch a Mem object in an inconsistent
...
state.
FossilOrigin-Name: 4aeb3ae435c78070232fef21a147fde4e1c5cd31
2014-03-01 14:45:18 +00:00
dan
597515d70c
Update some test cases that deal with corrupt databases.
...
FossilOrigin-Name: 3a09f5605ac7c6e503eb10acfdc607010414d917
2014-02-28 18:39:51 +00:00
dan
1fed5dab0d
Attempt to speed up sqlite3VdbeRecordCompare() by various means. This code is in an interim state.
...
FossilOrigin-Name: 85206e0bbac29adab52bef795f6d1479f2ae2c0e
2014-02-25 21:01:25 +00:00
drh
1b27b8c0a0
Faster and smaller implementation of sqlite3_value_type().
...
FossilOrigin-Name: 5708bc24b8cab623b833121183042b43e5a7021b
2014-02-10 03:21:57 +00:00
drh
a5750cfe01
Add the OP_Undef and OP_IsUndef opcodes. With these, use the first register
...
in the result register range as the flag to indicate EOF on an INSERT from
a SELECT, rather than allocating a separate boolean register for that task.
FossilOrigin-Name: 6fb7448550f28a3c93053e125faeaf11de1011d0
2014-02-07 13:20:31 +00:00
drh
693e671936
Fixes for various clang warnings.
...
FossilOrigin-Name: 87bf60637e5863c54c5e2d05aaaca0835b7aace8
2014-01-24 22:58:00 +00:00
drh
a3cc007df4
Simplication and optimization of error message handling.
...
FossilOrigin-Name: 9d347f547e7ba9590b0c68edf50a14ad94a2bb92
2013-12-13 16:23:55 +00:00
drh
a9ab481fca
Fix harmless compiler warnings.
...
FossilOrigin-Name: a7e5fcd66659750eb2f4675082df324e7cf35427
2013-12-11 11:00:44 +00:00
drh
024045fe6e
Avoid unnecessary calls to sqlite3VdbeSerialType() from within
...
sqlite3VdbeSerialPut().
FossilOrigin-Name: 079c04a5013074b68f7d90f1ce8bf8e7092ad8a2
2013-12-10 21:38:08 +00:00