dan
a23a873fbb
Add the experimental sqlite3session_changeset_size() API.
...
FossilOrigin-Name: b5564a6fd54875db1de884fdc0e5eeabcd6aa5595ad03a8a60843503e830a2d8
2021-04-21 20:52:17 +00:00
dan
385b982865
Prevent an assert() from failing if sqlite3_blob_reopen() is called on a blob-handle that has already hit an SQLITE_CORRUPT error.
...
FossilOrigin-Name: b5dc7aba036cfd6d09c68dd17608328063634ca99ff341f97bab2dc2a1f59b11
2021-04-14 15:25:10 +00:00
dan
e464802d49
Fix a problem that could cause a crash if a blob handle were closed after the associated database handle was closed using sqlite3_close_v2().
...
FossilOrigin-Name: 52f463d29407fad691c42b13462880e7605603c9be9f480d18e953a0ef78149a
2019-07-15 13:58:28 +00:00
dan
952523f618
Fix a problem in the incr-blob code causing a new cursor to be opened for
...
every sqlite3_blob_reopen() call.
FossilOrigin-Name: 41ef34a1f0650c50cacb203665cd9d57db53a49c979bf0d5a78937517f763a2c
2017-10-24 17:28:25 +00:00
drh
559656196b
Simplify the sqlite3VdbeGet() routine. Smaller, faster, and easier to maintain.
...
FossilOrigin-Name: 5dbb255a9377a6c2619fbac519f18caa4d8cb23257dfba0ffb9e36dd9dc16627
2017-09-16 20:58:41 +00:00
drh
6903bf6d49
Slightly smaller and faster by allocating Parser objects on the stack.
...
FossilOrigin-Name: 436a89b91901851ce21bf0cb997291b48888c52788b904822083d8dfac32b84b
2017-08-01 20:59:41 +00:00
drh
baf5dec700
Simplifications to blobSeekToRow().
...
FossilOrigin-Name: 495ea824093ff535734c22c3115384c08f855c02
2017-01-31 19:02:15 +00:00
drh
210b0d0eb3
Ensure that sqlite3_blob_reopen() correctly handles short rows.
...
Proposed fix for ticket [e6e962d6b0f06f46e]. Further testing needed.
FossilOrigin-Name: 57d8dad35c2a9ab635e954dce7f3986ae1ca8ed2
2017-01-25 04:41:34 +00:00
drh
3b2936fada
Change sqlite3_blob_reopen() to call sqlite3VdbeExec() directly rather than
...
going through sqlite3_step(). Performance enhancement.
FossilOrigin-Name: 347df3c1fd7322e7aacaf1e9f8be81830947c482
2017-01-21 16:27:56 +00:00
drh
36cae856ee
Remove an unnecessary sqlite3_bind_int64() call from sqlite3_blob_open().
...
Also other minor refactoring of the sqlite3_blob implementation.
FossilOrigin-Name: 9d197a532349f4b1caf66bbed70ca46df86cb86f
2017-01-21 14:11:28 +00:00
drh
4df65fc20f
Minor performance optimizations to sqlite3_blob_open() and
...
sqlite3_blob_reopen().
FossilOrigin-Name: 52a61967d920047ea0b4409b79793e05c0128964
2017-01-20 00:40:26 +00:00
drh
cb3cabd01b
Refactor the sqlite3BtreeKey() and sqlite3BtreeData() internal interfaces
...
into sqlite3BtreePayload() and sqlite3BtreePayloadChecked(), respectively.
This is a continuation of the optimization started by check-in
[2d831074cf]. The result is a slightly smaller and faster binary.
FossilOrigin-Name: 49ebc219faea30eaa61def4a3fba2817b9c58a86
2016-11-25 19:18:28 +00:00
drh
65f38d960d
Remove unnecessary OP_Close opcodes for a size reduction and performance
...
increase.
FossilOrigin-Name: 32be7aae92ee48bf2cd260ea41e79c2bc62738f9
2016-11-22 01:26:42 +00:00
drh
69c338263a
Rename the Db.zName field to Db.zDbSName to make it more descriptive and to
...
distinguish it from all of the other "zName" variables scattered throughout
the code.
FossilOrigin-Name: 92a22f01343a898455fd61c3b8e7d7c954f5b569
2016-08-18 14:33:11 +00:00
drh
a7c90c42ea
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
2016-06-04 20:37:10 +00:00
drh
0ac7cfaf99
Merge enhancements from trunk.
...
FossilOrigin-Name: a533608cb0de3cbc1e28a794aab99864b8c249f4
2016-02-05 14:15:34 +00:00
drh
1b32554b80
Enhance the internal sqlite3VdbeAddOpList() interface to automatically update
...
jump destinations. Use this feature to simplify the AUTOINCREMENT code
generator.
FossilOrigin-Name: ae8b9d2edf1b5aef6108e729754911db7682b6a3
2016-02-03 01:55:44 +00:00
drh
20f272c96f
Merge recent enhancements from trunk.
...
FossilOrigin-Name: 327af5f644a49b2f41d5456958f9d61a2b704e1c
2016-01-20 11:33:37 +00:00
drh
e617bc8c0c
Simplification of the VDBE bytecode for incremental blob I/O.
...
FossilOrigin-Name: d23849f64a110e336f26282bf2b961a2a2372468
2016-01-18 00:46:11 +00:00
drh
2ce1865dd8
Improvements to the way sqlite3VdbeAddOpList() works, resulting in a slightly
...
smaller and faster binary.
FossilOrigin-Name: 88ceb588bcdb3ca86d0c58cfdeb61b5fe070872f
2016-01-16 20:50:21 +00:00
drh
1bb15fc973
Merge recent enhancements from trunk.
...
FossilOrigin-Name: d1a1278d7f3306536dc9cbd8fb300898f1e373e8
2015-12-02 20:40:26 +00:00
drh
c960dcbace
Refactor the VdbeCursor object. It is now slightly smaller and faster and is
...
easier to understand.
FossilOrigin-Name: 9b1d174d862500a627840008ffac4c8419dc97e2
2015-11-20 19:22:01 +00:00
drh
32af5eda6a
Merge recent enhancements from trunk, and especially the fix for
...
ticket [1b266395d6bc10].
FossilOrigin-Name: b2face9aa95ade96a5666c70b6b31064c1ad0977
2015-09-30 14:50:39 +00:00
drh
4b92f98ccc
Use symbolic names XN_ROWID and XN_EXPR in place of the (-1) and (-2)
...
magic numbers in Index.aiColumn[]. Add asserts to help verify that
Index.aiColumn[] is always used correctly. Fix one place in FK processing
where Index.aiColumn[] was not being used correctly.
FossilOrigin-Name: 7d272aa62cd4cbbf4b5d04e3b918de27671e8301
2015-09-29 17:20:14 +00:00
drh
91762f2d18
Merge the latest trunk enhancements.
...
FossilOrigin-Name: 22ce9218fb2bb56cc5dd4e32077a16f669250d5f
2015-09-14 10:47:29 +00:00
drh
1f9ca2c84c
Add code to maintain indexes with expression arguments across DELETE, INSERT,
...
and UPDATE statements. Legacy tests pass, but the new code paths are still
largely untested. The query planner currently makes no effort to use
expression indexes.
FossilOrigin-Name: efaabdb71626bdc03768e87e186c72f6f3da75b2
2015-08-25 16:57:52 +00:00
drh
878acb32ef
Merge all recent trunk changes into the sessions branch.
...
FossilOrigin-Name: f36bb5fa5c5e3430808fe35d58f45559a216d341
2015-02-21 15:13:50 +00:00
drh
d10d18da5f
Fix potential 32-bit integer overflow problems on the offset and length
...
parameters to sqlite3_blob_read() and sqlite3_blob_write(). For
sqlite3_blob_open(), make sure the *ppBlob return parameter is zeroed if
the interface fails with SQLITE_MISUSE.
FossilOrigin-Name: 5df02f50f8348dfde4fc15126abc7b7ef7803e69
2015-02-07 15:16:35 +00:00
drh
04e8a58669
Merge recent trunk enhancements, including the read-after-ROLLBACK change
...
and the addition of sqlite3_stmt_scanstatus() support, as well as various
minor bug fixes.
FossilOrigin-Name: f09055f3c4348264c7336f90646375f0d98b061e
2014-11-18 21:20:57 +00:00
dan
923c4b35be
Add test file e_blobwrite.test, containing tests for the sqlite3_blob_write() interface.
...
FossilOrigin-Name: 1df77e5f1bd82de4dc92fe28359c3e56ab3f9ed4
2014-11-10 17:53:03 +00:00
drh
ca3e10ea37
Merge recent trunk enhancements, and in particular the improvements to
...
the b-tree balancing logic, into the sessions branch.
FossilOrigin-Name: 28b044a51215a3f64dafb2cf3b6cb7d2029580ef
2014-10-31 14:53: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
e1ed0b0e17
Merge recent performance enhancements and the CAST operator enhancements
...
into the sessions branch.
FossilOrigin-Name: 08ae974ac80fabe53f515bbbd93ccf55de8ee671
2014-08-26 02:15:07 +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
a1a483d54e
Merge recent trunk changes into sessions.
...
FossilOrigin-Name: 95e77efe076ab421bd246119c47dba5dacf9d087
2014-04-18 01:10:05 +00:00
dan
5a500afd57
Enable the b-tree cursor objects overflow page-number cache, which is normally enabled only for incr-blob cursors, for all cursors.
...
FossilOrigin-Name: da59198505990a4fe832be7932117c7e014955b7
2014-03-11 20:33:04 +00:00
drh
181aed3c25
Version 3.8.4 for sessions (plus two minor fixes).
...
FossilOrigin-Name: 917c410808756e1697bd628f4c9c57dd13d08ce7
2014-03-11 01:48:06 +00:00
drh
b06a4ec1f0
Attempt to work around MSVC's treatment of __LINE__ as a non-constant value
...
in "Edit and Continue" mode by avoiding the use of __LINE__ when
SQLITE_VDBE_COVERAGE is not defined.
FossilOrigin-Name: 0a5318bc272b844e937cb1df3a07224034bc3450
2014-03-10 18:03:09 +00:00
drh
7826a9b83f
Merge the performance enhancements of trunk (and some obscure bug fixes)
...
into the sessions branch.
FossilOrigin-Name: 7f51ad97f0b24c57453d58faf25eee68861faa23
2014-03-04 14:34:14 +00:00
drh
688852ab15
Add logic to do test coverage measurements on the VDBE code.
...
FossilOrigin-Name: ce184c7bb16988641d37c908d9b3042456d4be3d
2014-02-17 22:40:43 +00:00
drh
5671ef69ec
Sync the latest trunk changes, and in particular the STAT4 IS NOT NULL fix.
...
FossilOrigin-Name: b006792695d23980e1923b21915d5c1138ecf29d
2014-02-11 04:30:29 +00:00
drh
b22f7c831f
Delete the OP_VerifySchema opcode. Enhance OP_Transaction to do the schema
...
version checks that OP_VerifySchema used to do.
FossilOrigin-Name: 2f3376ebf13df44e6acf27cb1f07172cd8b34033
2014-02-06 23:56:27 +00:00
drh
d9e3c267b4
Merge the latest trunk changes into the sessions branch.
...
FossilOrigin-Name: cfd110bf5db2c1993a5e2ca718648bd9c17ee22c
2013-12-24 12:09:42 +00:00
drh
9ac7962ace
Show changes to the column cache when PRAGMA vdbe_addoptrace=ON is set.
...
FossilOrigin-Name: 4c6a659c432e4f7c0285f58675a67f967b07bb0d
2013-12-18 15:11:47 +00:00
drh
1b2ee4fe1a
Merge in performance enhancements from trunk.
...
FossilOrigin-Name: fc9ae839569eb28eb734c52d95676c59b2e27494
2013-11-26 18:00:29 +00:00
drh
14da87f8c5
Reduce the size of the VdbeCursor object from 144 to 120 bytes.
...
FossilOrigin-Name: 5f9d50688508affd0bc8e4d52e21dacfacdbb5ce
2013-11-20 21:51:33 +00:00
drh
f30a969b80
Rework the logic that factors constant expressions out of inner loops, making
...
it both simpler and faster.
FossilOrigin-Name: 8dc5c76c766828d7c28090bec30ff48227e7b140
2013-11-15 01:10:18 +00:00
drh
cbf1b8ef7d
Merge in the WITHOUT ROWID changes. A few tests are failing now. They will
...
be fixed in a follow-on check-in.
FossilOrigin-Name: 5addd1234ded59ce60fb633b76ac87d483377edd
2013-11-11 22:55:26 +00:00
drh
63f0eedf10
Many new test cases added, that mostly work. Currently 18 errors in
...
without_rowid3.test. Also there is a hack marked by a /*FIXME*/ comment
on at fkey.c:547 that needs fixing.
FossilOrigin-Name: 39e32187b66405e00dbd44685f6cdd269c90f5e5
2013-11-02 22:09:48 +00:00
drh
bbbdc83b52
The Index object now has nKeyCol and nColumn. nColumn is the total number
...
of columns and nKeyCol is the number of key columns. Currently these always
differ by one. Refactor aiColumn[] to be of type i16 instead of int.
FossilOrigin-Name: a106ce86cd4afd1f81603826de77df1fb25e9ab5
2013-10-22 18:01:40 +00:00