]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Btree interface refactoring:
authordrh <drh@noemail.net>
Mon, 6 Jun 2016 01:14:08 +0000 (01:14 +0000)
committerdrh <drh@noemail.net>
Mon, 6 Jun 2016 01:14:08 +0000 (01:14 +0000)
(1) The sqlite3BtreeKeySize() interface is renamed to sqlite3BtreeIntegerKey()
and modified to work only for table btrees with a rowid.
(2) The sqlite3BtreeDataSize() interface is renamed to sqlite3BtreePayloadSize()
and modified to work with any btree.
(3) The sqlite3BtreeDataFetch() and sqlite3BtreeKeyFetch() routines are
combined into a single sqlite3BtreePayloadFetch() routine.
The result of these changes is a smaller binary and fewer CPU cycles needed
to run queries.

FossilOrigin-Name: 2d831074cf730dce47de5880d7b4570d04d15fee

1  2 
manifest
manifest.uuid

diff --cc manifest
index 5cfb3e8240425870f3780604c6a087cb3561e871,3a383881e0955dcbd9a4e927bb76e9c8f702f2cb..f32e69180f054ee2683e16f624e5efa1cddad816
+++ b/manifest
@@@ -1,5 -1,5 +1,5 @@@
- C Allocate\sKeyInfo\sobjects\sfrom\slookaside\sif\spossible.
- D 2016-06-04T17:12:26.466
 -C Improved\scomment\son\scursorOwnsBtShared().\s\sNo\schanges\sto\scode.
 -D 2016-06-04T21:05:54.667
++C Btree\sinterface\srefactoring:\n(1)\sThe\ssqlite3BtreeKeySize()\sinterface\sis\srenamed\sto\ssqlite3BtreeIntegerKey()\nand\smodified\sto\swork\sonly\sfor\stable\sbtrees\swith\sa\srowid.\n(2)\sThe\ssqlite3BtreeDataSize()\sinterface\sis\srenamed\sto\ssqlite3BtreePayloadSize()\nand\smodified\sto\swork\swith\sany\sbtree.\n(3)\sThe\ssqlite3BtreeDataFetch()\sand\ssqlite3BtreeKeyFetch()\sroutines\sare\ncombined\sinto\sa\ssingle\ssqlite3BtreePayloadFetch()\sroutine.\nThe\sresult\sof\sthese\schanges\sis\sa\ssmaller\sbinary\sand\sfewer\sCPU\scycles\sneeded\nto\srun\squeries.
++D 2016-06-06T01:14:08.809
  F Makefile.in 7321ef0b584224781ec7731408857fa8962c32cc
  F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
  F Makefile.msc 831503fc4e988f571590af1405645fff121b5f1e
@@@ -1500,7 -1500,7 +1500,8 @@@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a9
  F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
  F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
  F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
- P 9583c0fb39f357a76e0c99ea03b034aea3e03c75
- R 065fce549d6916be91d3267449fff27c
 -P aa53a36ea2eb90cc4939e37e6ad320b4211692fd
++P b411107a3609d53af4e147f01e311b858b78420b 5e269c2d2667df65592a32d6bc2fa388fd7eb181
+ R 31679baf828d6d3e0ee835dac82e6874
++T +closed 5e269c2d2667df65592a32d6bc2fa388fd7eb181
  U drh
- Z 36eef125b8bc40e49e28e0447e72ab1c
 -Z bd564a0c26801286c1f95fad1a35ec86
++Z e9c5ee5d96d9c9f1da27014117e66fa4
diff --cc manifest.uuid
index b10b2154c9ae6c2665b6ba79fb4af694c7deaf96,6568d401a52c0adf560f869f4eca7eaf04fcd027..e4a8777eb9e8aac79b232fd62895f53717cccde9
@@@ -1,1 -1,1 +1,1 @@@
- b411107a3609d53af4e147f01e311b858b78420b
 -5e269c2d2667df65592a32d6bc2fa388fd7eb181
++2d831074cf730dce47de5880d7b4570d04d15fee