drh
f0bc50aa3a
Change the order of comparison for divider cell overflow in balance non-root
...
to avoid a (harmless) reference to an uninitialized variable.
FossilOrigin-Name: f9f2e23bbd68a8994621623446868d666df52eff
2016-12-12 00:58:40 +00:00
drh
8c730bc5c5
Avoid an unnecessary memset() in the sqlite3BtreeInsert() routine.
...
FossilOrigin-Name: 35ecd4ebc55579175f7c934e4eb1edb969008428
2016-12-10 13:12:55 +00:00
drh
2d08343a91
When doing the sqlite3BtreeInsert() overwrite optimization, make sure the
...
memcpy() does not extend off the end of the page.
FossilOrigin-Name: 684ef4582ed19b2af22dda6fc085c70464f92f1b
2016-12-09 19:42:18 +00:00
drh
f923825424
Additional comments and an assert on the sqlite3BtreeInsert() overwrite
...
optimization.
FossilOrigin-Name: c1f0ae9d2981a19875103750379ad26f2575f878
2016-12-09 18:09:42 +00:00
drh
80159da6c6
In sqlite3BtreeInsert() when replacing a re-existing row, try to overwrite
...
the cell directly rather than deallocate and reallocate the cell.
FossilOrigin-Name: 0b86fbca6615ccf1f3a62614db577a8acbec6d9e
2016-12-09 17:32:51 +00:00
drh
a2ee589c46
Avoid unnecessary zeroing of fields in the MemPage object that are going
...
to be reinitialized before use anyhow. A smaller and faster binary results.
FossilOrigin-Name: 01ada3d1068476f90dcae02cb089001ea4bcc23d
2016-12-09 16:02:00 +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
d6ef5afe3f
Change the OP_Last opcode so that it is a no-op if the cursor is already
...
pointing at the end of the b-tree.
FossilOrigin-Name: 663473850c4274270445b3771911fa773a8c405f
2016-11-15 04:00:24 +00:00
drh
d95ef5cb5a
Remove obselete and unused logic in the update code generator.
...
Fix the sqlite3BtreeMovetoUnpacked() routine so that it remembers the
rowid of the row that it landed on.
FossilOrigin-Name: 1a587d72f981cb7064cfd8916a52a83ad9ba6074
2016-11-11 18:19:05 +00:00
drh
7a1c28defe
Avoid a few unnecessary calls to sqlite3BtreeMovetoUnpacked().
...
FossilOrigin-Name: eac0e827a61cfec4dd9b6d407ff398e9fda3510b
2016-11-10 20:42:08 +00:00
drh
eaf6ae2992
Comment changes that attempt to better explain the behavior of the "seekResult"
...
field on VdbeCursor objects and the seekResult parameter to
sqlite3BtreeInsert() and the OPFLAG_USESEEKRESULT flag on insert opcodes.
No changes to code.
FossilOrigin-Name: 345b46be75bdf6f9fb7367a6164d89bae11995a6
2016-11-09 20:14:34 +00:00
drh
9b4eaebc68
Enhance the OP_IdxInsert opcode to optionally accept unpacked key material.
...
FossilOrigin-Name: 89d958abbac45f2ca5954080cd9e74ec9a07ebb2
2016-11-09 00:10:33 +00:00
drh
7ad3eb63cf
Performance optimization in moveToRoot(). Avoid repeated validity checking of
...
the root page on each call. Once is enough.
FossilOrigin-Name: 98795c2dd9a6d8fa8d49a9f5c36cdf824cae7246
2016-10-24 01:01:09 +00:00
dan
e24452edef
Avoid using the "direct overflow read" optimization to read large blobs if the
...
pager layer has a wal file open - even if the database header indicates that
the db is not a wal database.
FossilOrigin-Name: b54c15f11796a75683eec4b502a22ccb87d621c6
2016-10-21 10:49:39 +00:00
dan
1480095ff5
Changes to support interrupting a checkpoint using sqlite3_interrupt().
...
FossilOrigin-Name: c88d36e251abec24aa7e37cf550e148904b9fd2d
2016-10-17 15:28:39 +00:00
drh
44728d7e01
Do not bother to initialize unused fields in the BtreePayload object.
...
FossilOrigin-Name: b10d0f939c82c4de3faa90b86de9ec4a89992856
2016-10-04 00:47:26 +00:00
drh
cb43a937e5
Allocate Parse objects off of the stack where appropriate for a substantial
...
performance increase and a size reduction.
FossilOrigin-Name: ea8affa9e453b201b479162f621b591e7a65a489
2016-10-03 01:21:51 +00:00
drh
85f071b850
Small performance optimization in the freeSpace() routine of btree.c.
...
FossilOrigin-Name: 63962e2a927963575be74c3ce11f39f722c07c72
2016-09-17 19:34:32 +00:00
dan
0f5a186c4c
Questionable changes to support interruptible checkpoint in ZipVFS.
...
FossilOrigin-Name: c7a9f26d118c7a453d45fa73efa4d1ab79301659
2016-08-13 14:30:23 +00:00
dan
7fb8990688
Have wal file checkpoints exit early if the sqlite3_interrupt() API function is called.
...
FossilOrigin-Name: 8a5f41c7b1718507524adef1a2730e99cf53270a
2016-08-12 16:21:15 +00:00
drh
c0d269e96c
Fix a typo in a comment in btree.c. No changes to code.
...
FossilOrigin-Name: 722c12816347ee9fce7a090cfebef2c5841e7445
2016-08-03 14:51:16 +00:00
drh
0b4c042b86
Minor tweak the the b-tree balancer.
...
FossilOrigin-Name: d2a0af7a37e390439c3001fedb5834f47fb24a1f
2016-07-14 19:48:08 +00:00
dan
272989b44d
Add the SQLITE_DBSTATUS_PROPORTIONAL_CACHE_USED sqlite3_db_status() parameter.
...
FossilOrigin-Name: 118321c8b9d88b8f439c952436f42838c3fc80cb
2016-07-06 10:12:02 +00:00
drh
debaa86c1c
Fix an incorrect assert() in the btree logic.
...
FossilOrigin-Name: fcf6114be94b260641e7c78a58db16a31ac5ab35
2016-06-13 12:51:20 +00:00
drh
05a360913d
Small performance boost and size decrease in sqlite3BtreeMovetoUnpacked().
...
FossilOrigin-Name: e106a77d85c20ae23ebe49a5acceeaffecb40fc2
2016-06-06 01:54:20 +00:00
drh
5e08d0fcb6
Improved comment on cursorOwnsBtShared(). No changes to code.
...
FossilOrigin-Name: 5e269c2d2667df65592a32d6bc2fa388fd7eb181
2016-06-04 21:05:54 +00:00
drh
d66c4f809d
Fix a C99-ism and a compiler warning for MSVC.
...
FossilOrigin-Name: aa53a36ea2eb90cc4939e37e6ad320b4211692fd
2016-06-04 20:58:35 +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
dfc2daa7c3
More tweaks to improve the performance of the insert logic, slightly.
...
FossilOrigin-Name: dec1307581216e01ad508ffe4455b957e3356654
2016-05-21 23:25:29 +00:00
drh
8eeb4463d9
Simplify the sqlite3BtreeInsert() interface by gathering the five arguments
...
describing the content to be inserted into the new BtreePayload structure, and
thus reducing the number of parameters from eight to four.
FossilOrigin-Name: 55f348cdd24c7812ea4b63345514764b69f64dc8
2016-05-21 20:03:42 +00:00
drh
16e2b9694a
Remove some unused legacy code from the btree insert logic.
...
FossilOrigin-Name: 2ce1166717ac3c0cec37b2f6d70d8359fbaefc71
2016-05-21 19:10:21 +00:00
drh
09a4e92c6d
Yet another minor size reduction and performance increase in the b-tree
...
insert logic.
FossilOrigin-Name: 1dbaf7a119edc5150a5d4be1b72f652a574e5bc5
2016-05-21 12:29:04 +00:00
drh
cb89f4aba8
Small size reduction and performance increase in the sqlite3BtreeInsert()
...
logic.
FossilOrigin-Name: 656aa1ecf5129ae43c56a990e95038b5d8cbdcee
2016-05-21 11:23:26 +00:00
drh
3791c9c288
Fixes to requirements marks. No changes to code.
...
FossilOrigin-Name: 79ecd0ef20c12198e950a730871444a980a0f1b2
2016-05-09 23:11:47 +00:00
drh
bfc7a8bb01
Fix the sqlite3BtreeDelete() routine so that it preserves the correct
...
key even when the row being deleted is not on a leaf page.
Fix for ticket [a306e56ff68b8fa56]
FossilOrigin-Name: ca2ef8a86cf806cbbcc64db03251b1df5b2c5501
2016-04-09 17:04:05 +00:00
drh
1c715f67b9
Use SQLITE_WITHIN() for pointer range comparisons in some testing code.
...
FossilOrigin-Name: 7cacf4e954c8de5af5efb56d8271a5ac1edc1c04
2016-04-05 13:35:43 +00:00
drh
cca6698408
Do not allow pointer arithmetic to move a pointer across a memory allocation
...
boundary.
FossilOrigin-Name: 85b979319bcb8ec301ae39b36ad60348e4515be7
2016-04-05 13:19:19 +00:00
drh
c5e7f94494
Fix a harmless compiler warning.
...
FossilOrigin-Name: 5ace870d3ac3e9eb29cb4602c9036873adbcb99d
2016-03-22 15:25:16 +00:00
drh
3bfa7e82b6
Create the "uptr" typedef (the same as uintptr_t when available) and use it
...
to cast pointers before comparison.
FossilOrigin-Name: 2484cc0c3ffc8834a155f89af1581bd07d453a90
2016-03-22 14:37:59 +00:00
drh
0b98207c5b
Avoid the possibility of integer overflow on a pointer comparison test for
...
corruption in the database file.
FossilOrigin-Name: ff1b1ac3313ba9d70414e928ef3dd82913298a1a
2016-03-22 14:10:45 +00:00
drh
c1fb2b87bd
Update a comment in btree.c to account for WITHOUT ROWID tables. No code
...
changes.
FossilOrigin-Name: fa20dcb03b92be3bb32f8e3d6f88681ace3f6c84
2016-03-09 03:29:27 +00:00
drh
c2ae2073d9
Make the SQLITE_DEFAULT_SYNCHRONOUS and SQLITE_DEFAULT_WAL_SYNCHRONOUS
...
values zero-based to agree with PRAGMA synchronous.
FossilOrigin-Name: 592d2104361500e5002783ba329a2609389c57b9
2016-03-08 15:30:01 +00:00
drh
e243de5cf5
If SQLITE_DEFAULT_WAL_SYNCHRONOUS is not the same value as
...
SQLITE_DEFAULT_SYNCHRONOUS and the application has not run
"PRAGMA synchronous", then set synchronous to the
SQLITE_DEFAULT_WAL_SYNCHRONOUS setting when entering WAL mode for
the first time.
FossilOrigin-Name: 5791407b523abd24e832fc2361b3e9f01ee2f36a
2016-03-08 15:14:26 +00:00
drh
b052958657
Remove code not needed now that synchronous=OFF database files no longer
...
trigger the use of a master journal.
FossilOrigin-Name: aa9f4c622af191edbeb6a535942944f8c91f5c37
2016-02-22 23:44:42 +00:00
mistachkin
fad3039c51
Enhance ability to debug out-of-memory errors.
...
FossilOrigin-Name: 6a9c4a3ebfb7cc0738ef6634440ccab44a21ff28
2016-02-13 23:43:46 +00:00
drh
cc5f8a46b9
Add a utility program that looks for assert(), NEVER(), ALWAYS(), and
...
testcase() macros that have side-effects, and reports errors when they are
found. Also fix a bug that this utility detected as it was being tested.
FossilOrigin-Name: b0b4624fc5d53bb0cc9fae7dad51984837d946ac
2016-02-06 22:32:06 +00:00
drh
4df86af329
Remove unnecessary sets of db->mallocFailed.
...
FossilOrigin-Name: b787165b25a240fd5b4a5c7f73b395f30213a1d7
2016-02-04 11:48:00 +00:00
drh
38bace84cd
Fix an assert() that might fail on a corrupt database.
...
FossilOrigin-Name: 22eaced7274764eaf7ab4b5fc52cc2fcfc285708
2016-02-01 00:21:08 +00:00
drh
4b09ec6e11
Add the BTREE_FORDELETE and BTREE_AUXDELETE flags to the b-tree layer interface
...
and use them. Add assert() statement to verify that they are correct.
FossilOrigin-Name: 85c467041c9378cae3038756da815e9117ee8c7d
2016-01-30 13:32:30 +00:00