]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Improved documentation of new features. Minor speed enhancements.
authordrh <>
Thu, 25 Aug 2022 15:09:31 +0000 (15:09 +0000)
committerdrh <>
Thu, 25 Aug 2022 15:09:31 +0000 (15:09 +0000)
FossilOrigin-Name: da9aa5476c342ed02a982e81eb8272cb33adb2ed3d0b5df44b2c88b27d80a94c

manifest
manifest.uuid
src/prepare.c
src/sqlite.h.in
src/vdbeapi.c
test/speedtest1.c

index c42083e0b33dc5a6eea26f4f6cd527e0982be6a2..8757120b3dc3efb305479dcd5c806ba1ceb4935e 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Merge\schanges\sfrom\strunk\sinto\sthe\sstmt-cache\sbranch.
-D 2022-08-25T14:31:08.104
+C Improved\sdocumentation\sof\snew\sfeatures.\s\sMinor\sspeed\senhancements.
+D 2022-08-25T15:09:31.478
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -583,14 +583,14 @@ F src/pcache.h 4f87acd914cef5016fae3030343540d75f5b85a1877eed1a2a19b9f284248586
 F src/pcache1.c 0b4245cd4964e635f2630908c2533cd8e9da7af3ca592e23ae8730aa25ae5eb9
 F src/pragma.c b57a859a366472131194a9ad35cd76d5920577226b04c884b1b9085605faa280
 F src/pragma.h e690a356c18e98414d2e870ea791c1be1545a714ba623719deb63f7f226d8bb7
-F src/prepare.c b0fb76a2c82587013410f0e27fcdb2ef5624f036d00179f7fd4f28a52acc0155
+F src/prepare.c 854d8be4d1d1dbd0eb4566e8c8d2df6a458910a078cdef32052759da03412dcf
 F src/printf.c e99ee9741e79ae3873458146f59644276657340385ade4e76a5f5d1c25793764
 F src/random.c 546d6feb15ec69c1aafe9bb351a277cbb498fd5410e646add673acb805714960
 F src/resolve.c efea4e5fbecfd6d0a9071b0be0d952620991673391b6ffaaf4c277b0bb674633
 F src/rowset.c ba9515a922af32abe1f7d39406b9d35730ed65efab9443dc5702693b60854c92
 F src/select.c ccce37e7fbe71089cf6aec91e7134c9c0c1d4840cff9f02587bbc71240d914a5
 F src/shell.c.in a1152c45017c9ce634b1616d16ccf530397df1260302fccc7aafee7afe57173a
-F src/sqlite.h.in f34d1ca4091c969e1b4b4744839f415c7963618bb10b34bbe1ef6a356ace0840
+F src/sqlite.h.in 24e7d46e187456b778ca8f6e28b194667b80f8a61e4c1a861239a91fd6d3e686
 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
 F src/sqlite3ext.h a988810c9b21c0dc36dc7a62735012339dc76fc7ab448fb0792721d30eacb69d
 F src/sqliteInt.h 71316870f7ef94fd8326d435c2b2fb6a5e374133f128fd8c0132502ad6d18b6f
@@ -663,7 +663,7 @@ F src/vacuum.c bb346170b0b54c6683bba4a5983aea40485597fdf605c87ec8bc2e199fe88cd8
 F src/vdbe.c 710b82c1380f63ec902ebd147426f3c307031f8ecabc8d15019d9461f5e608d9
 F src/vdbe.h c4c9defdf2ad9465f9c9c7f79c3b03555f47aa930ea2744f358d9b27269763c7
 F src/vdbeInt.h e332f7d165b2cb984772c425c45f67f1d57e3c032d8dbf74a9ef8f1cebfa4bb2
-F src/vdbeapi.c 8087dba84836f59d0d5340a6c554948cf4fef03ace62a8d7dd3c8f310107e3f4
+F src/vdbeapi.c ba51a59b3c0ecbf76f337de087089986464da83d1bf42b4fdebef8d74de173b2
 F src/vdbeaux.c 7e682b9cae69e3801d2c04fefe2c80b40e5fcca470a4e11aa53342e2218aa1ab
 F src/vdbeblob.c 5e61ce31aca17db8fb60395407457a8c1c7fb471dde405e0cd675974611dcfcd
 F src/vdbemem.c c3ce80af15e2ff5c2824a8db881681cbf511376f13613da020bac6d320c535b1
@@ -1480,7 +1480,7 @@ F test/speed3.test 694affeb9100526007436334cf7d08f3d74b85ef
 F test/speed4.test abc0ad3399dcf9703abed2fff8705e4f8e416715
 F test/speed4p.explain 6b5f104ebeb34a038b2f714150f51d01143e59aa
 F test/speed4p.test 377a0c48e5a92e0b11c1c5ebb1bc9d83a7312c922bc0cb05970ef5d6a96d1f0c
-F test/speedtest1.c ace4f2f7053d01237d41ab3a9baaf785eab1f22457bdc0113a41d573a506d2c5
+F test/speedtest1.c 03ccd2f44375e8bba87307a2dd8363666863bc790e8065eb0f248734f9d1c3b5
 F test/spellfix.test 951a6405d49d1a23d6b78027d3877b4a33eeb8221dcab5704b499755bb4f552e
 F test/spellfix2.test dfc8f519a3fc204cb2dfa8b4f29821ae90f6f8c3
 F test/spellfix3.test 0f9efaaa502a0e0a09848028518a6fb096c8ad33
@@ -1999,8 +1999,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P f27d919f3535f2be6642a02cf03cee82c66ff9d1e727f0c59c137f2a7f1d00c9 b573e2cffa5fedc893ed30e76e47022b3617ac5583e1eb486afa810b2514c419
-R 9ddf7c40e99be489cef09c513ec54859
+P bc988ce727bee0c7ac6406b5c9af486e353f1adf1e13b11ba0ac963fbea1f14e
+R 106785cda7dd4d7af6095b8bee2a42e4
 U drh
-Z 211dd9491c987a5bb9a73f943c47afcb
+Z 4294eb959363fd31723c3a3dd06c12cb
 # Remove this line to create a well-formed Fossil manifest.
index df79737df2ffd3f321ee87d1e6e1736dea9e8e38..5c480713a05a3ea1e7fe04f0581a30e37cefd6f9 100644 (file)
@@ -1 +1 @@
-bc988ce727bee0c7ac6406b5c9af486e353f1adf1e13b11ba0ac963fbea1f14e
\ No newline at end of file
+da9aa5476c342ed02a982e81eb8272cb33adb2ed3d0b5df44b2c88b27d80a94c
\ No newline at end of file
index 355703e2afe5512925a7346f89a75225d5a691e4..5fd39e83cca5d488305afd610be224f20d1415ed 100644 (file)
@@ -712,16 +712,20 @@ static int sqlite3Prepare(
     }
   }
 
-  /* For a long-term use prepared statement should avoid the use of
-  ** lookaside memory.
-  */
-  if( prepFlags & (SQLITE_PREPARE_PERSISTENT|SQLITE_PREPARE_CACHE) ){
-    testcase( prepFlags & SQLITE_PREPARE_PERSISTENT );
-    testcase( prepFlags & SQLITE_PREPARE_CACHE );
-    sParse.disableLookaside++;
-    DisableLookaside;
+  if( prepFlags!=0 ){
+    /* For a long-term use prepared statement should avoid the use of
+    ** lookaside memory.
+    */
+    if( prepFlags & (SQLITE_PREPARE_PERSISTENT|SQLITE_PREPARE_CACHE) ){
+      testcase( prepFlags & SQLITE_PREPARE_PERSISTENT );
+      testcase( prepFlags & SQLITE_PREPARE_CACHE );
+      sParse.disableLookaside++;
+      DisableLookaside;
+    }
+    if( prepFlags & SQLITE_PREPARE_NO_VTAB ){
+      sParse.disableVtab = 1;
+    }
   }
-  sParse.disableVtab = (prepFlags & SQLITE_PREPARE_NO_VTAB)!=0;
 
   /* Check to verify that it is possible to get a read lock on all
   ** database schemas.  The inability to get a read lock indicates that
index 8ebf904cb925d3e38d22b5dc0120c0dba59c8589..b52cad808288436c8ac73e4372087958813938de 100644 (file)
@@ -8614,6 +8614,15 @@ int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg);
 ** times that the Bloom filter returned a find, and thus the join step
 ** had to be processed as normal.
 **
+** [[SQLITE_STMTSTATUS_STATE]] <dt>SQLITE_STMTSTATUS_STATE</dt>
+** <dd>During its lifetime, a prepare statement transitions through
+** various "states".  This interface returns the current state of the
+** prepared statement, as an integer.  This information is intended
+** for use by SQLite core developers only.  The internal state numbers
+** for prepared statements can and do change from one release of
+** SQLite to the next.  Hence the value returned for this property
+** code can change from one release of SQLite to the next.
+**
 ** [[SQLITE_STMTSTATUS_MEMUSED]] <dt>SQLITE_STMTSTATUS_MEMUSED</dt>
 ** <dd>^This is the approximate number of bytes of heap memory
 ** used to store the prepared statement.  ^This value is not actually
index f42d8ca6f3b559a4bbe746c1275a3ffc0179c395..613d118610f1d127985ba6bb2f7b7c3124ff890b 100644 (file)
@@ -110,8 +110,7 @@ int sqlite3_finalize(sqlite3_stmt *pStmt){
     checkProfileCallback(db, v);
     assert( v->eVdbeState>=VDBE_READY_STATE );
     rc = sqlite3VdbeReset(v);
-    if( rc==SQLITE_OK
-     && v->hSql>0
+    if( v->hSql>0
      && db->mxCache>0
      && v->expired==0
     ){
index 2f87809f2228b8ede513a34bb44871a739647686..b565da57b670539cb3bb4e41ee9bb7f459e5391d 100644 (file)
@@ -67,6 +67,10 @@ static const char zHelp[] =
 # define sqlite3_int64 sqlite_int64
 #endif
 
+#ifndef SQLITE_PREPARE_CACHE
+# define SQLITE_PREPARE_CACHE 0x40000000
+#endif
+
 typedef sqlite3_uint64 u64;
 
 /*