]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add extra logging for alternative stat4 code.
authordan <Dan Kennedy>
Thu, 12 Dec 2024 19:20:40 +0000 (19:20 +0000)
committerdan <Dan Kennedy>
Thu, 12 Dec 2024 19:20:40 +0000 (19:20 +0000)
FossilOrigin-Name: 9dde0365cb1df8bded58791f6409db464c969a61bc3a1a5682b4c4438c36a598

manifest
manifest.uuid
src/analyze.c
src/sqliteInt.h
src/vdbeaux.c

index 0e7738f89a9db6e246c343893333d8f4149398bb..77658fa96851c863c9f84623ba359763d6379ba7 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Experimental\scode\sto\sload\sstat4\sdata\susing\sa\ssingle\spass.
-D 2024-12-12T19:15:46.069
+C Add\sextra\slogging\sfor\salternative\sstat4\scode.
+D 2024-12-12T19:20:40.157
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -707,7 +707,7 @@ F sqlite3.1 acdff36db796e2d00225b911d3047d580cd136547298435426ce9d40347973cc
 F sqlite3.pc.in 48fed132e7cb71ab676105d2a4dc77127d8c1f3a
 F sqlite_cfg.h.in baf2e409c63d4e7a765e17769b6ff17c5a82bbd9cbf1e284fd2e4cefaff3fcf2
 F src/alter.c aa93e37e4a36a0525bbb2a2aeda20d2018f0aa995542c7dc658e031375e3f532
-F src/analyze.c 4d49e7be20b5c58c197f53280122a46facc9821c80b26837dd12a219818ecc7b
+F src/analyze.c 7a197e6a52d4c16ece9fd01fdaeffdb78b3daa1eddab76036c4beb599a57706e
 F src/attach.c 08235ab62ed5ccc93c22bf36e640d19effcd632319615851bccf724ec9341333
 F src/auth.c 4c1ea890e0069ad73bead5d17a5b12c34cfa4f1a24175c8147ea439b64be271c
 F src/backup.c 5c97e8023aab1ce14a42387eb3ae00ba5a0644569e3476f38661fa6f824c3523
@@ -779,7 +779,7 @@ F src/shell.c.in 40de636c1d90fb8a9ca7f49dc8f50d930f1b60736e73aca5eb37c4c7d0e47f9
 F src/sqlite.h.in b7ff496637807ae88b2557039fc940518db328bf5d5621e2f7c048dfba32a52b
 F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
 F src/sqlite3ext.h 3f046c04ea3595d6bfda99b781926b17e672fd6d27da2ba6d8d8fc39981dcb54
-F src/sqliteInt.h c8f95e16884274e80dc53d491a1cf8283b6021ac2f64334c07a37eaf21b55300
+F src/sqliteInt.h 727bcaaced1e9f715cfdfca6d1e9766a42543ce471355fa276b5508c094d6c72
 F src/sqliteLimit.h 6878ab64bdeb8c24a1d762d45635e34b96da21132179023338c93f820eee6728
 F src/status.c cb11f8589a6912af2da3bb1ec509a94dd8ef27df4d4c1a97e0bcf2309ece972b
 F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1
@@ -849,7 +849,7 @@ F src/vdbe.c fa31aa6525e34b51763702d246a69c3877436f0bbf6be5f6351cdcb770b9b7ab
 F src/vdbe.h b74bfd9cb1fa895e545a5286ee1cac6d75f706d325f89be0e3bf3c5107eb8a78
 F src/vdbeInt.h 92b7eabbaadbe8127741cd96e7e39c4834c2bb0b75987d5f6251975f47233690
 F src/vdbeapi.c 80235ac380e9467fec1cb0883354d841f2a771976e766995f7e0c77f845406df
-F src/vdbeaux.c b8361c6daaa8b189774e2d2433073511311a81bb411429238fcc24d68ddc4a01
+F src/vdbeaux.c ad80e779f4bf685742fc2d98cb9b802a79d427a4b20f961583f0bcdf8ebcf1fe
 F src/vdbeblob.c 255be187436da38b01f276c02e6a08103489bbe2a7c6c21537b7aecbe0e1f797
 F src/vdbemem.c 831a244831eaa45335f9ae276b50a7a82ee10d8c46c2c72492d4eb8c98d94d89
 F src/vdbesort.c d0a3c7056c081703c8b6d91ad60f17da5e062a5c64bf568ed0fa1b5f4cae311f
@@ -2250,8 +2250,8 @@ F vsixtest/vsixtest.tcl 6195aba1f12a5e10efc2b8c0009532167be5e301abe5b31385638080
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P ac5401c62b3ff03e43e01d066f4664491ce9b640ec64150a58b38839b4834afb
-R 83b28506326e6134726d20ac1da94326
+P e0bcd30581b5b55abb0ba0f2855dbfa27f4e036b45423062402fe344db7bb070
+R 16bbc1b35bbe7111b823770bff0a9f1d
 U dan
-Z b392d5c3e26ddc5e80d40edd1473ba14
+Z 153ef0568219aec43eab90757993b76a
 # Remove this line to create a well-formed Fossil manifest.
index ae35375c63501c87c0ce832f61fc539cda129417..76903f63eab5ff56c759005104f4907f3699f0b7 100644 (file)
@@ -1 +1 @@
-e0bcd30581b5b55abb0ba0f2855dbfa27f4e036b45423062402fe344db7bb070
+9dde0365cb1df8bded58791f6409db464c969a61bc3a1a5682b4c4438c36a598
index 1325940d76e72b32d3cafd40f64be722655f0000..7d466b90063928ecc916d82cb29c6e58767e9763 100644 (file)
@@ -1934,6 +1934,7 @@ static int loadStatTbl(
     char *zIndex;                 /* Index name */
     Index *pIdx;                  /* Pointer to the index object */
     int nCol = 1;                 /* Number of columns in index */
+    u64 t = sqlite3STimeNow();
 
     zIndex = (char *)sqlite3_column_text(pStmt, 0);
     if( zIndex==0 ) continue;
@@ -1979,6 +1980,10 @@ static int loadStatTbl(
       memcpy(pSample->p, sqlite3_column_blob(pStmt, 4), pSample->n);
     }
     pIdx->nSample++;
+
+    if( db->aSchemaTime ){
+      db->aSchemaTime[SCHEMA_TIME_STAT4_Q2_BODY] += (sqlite3STimeNow() - t);
+    }
   }
   rc = sqlite3_finalize(pStmt);
   sqlite3PrepareTimeSet(db->aSchemaTime, SCHEMA_TIME_AFTER_STAT4_Q2);
index 37363c63a2b30743d6bfe25a845ce2d6aaeb8f76..70d7832344970073d184f7744ac2f7dabd9120e2 100644 (file)
@@ -1871,13 +1871,14 @@ struct sqlite3 {
 
 #define SCHEMA_TIME_STAT4_Q1_BODY 14
 #define SCHEMA_TIME_AFTER_STAT4_Q1 15
-#define SCHEMA_TIME_AFTER_STAT4_Q2 16
-#define SCHEMA_TIME_AFTER_STAT4 17
+#define SCHEMA_TIME_STAT4_Q2_BODY 16
+#define SCHEMA_TIME_AFTER_STAT4_Q2 17
+#define SCHEMA_TIME_AFTER_STAT4 18
 
-#define SCHEMA_TIME_END_ANALYZE_LOAD 18
-#define SCHEMA_TIME_FINISH 19
+#define SCHEMA_TIME_END_ANALYZE_LOAD 19
+#define SCHEMA_TIME_FINISH 20
 
-#define SCHEMA_TIME_N 20
+#define SCHEMA_TIME_N 21
 #define SCHEMA_TIME_TIMEOUT (500 * 1000)
 
 
index 4cde4aa981adfa6062fd10e707719472343a1a3e..27e32cb29af35801e750985c7b2ff5108acc0754 100644 (file)
@@ -5540,7 +5540,10 @@ void sqlite3SchemaTimeLog(u64 *aSchema, const char *zFile){
     int ii;
     for(ii=1; ii<SCHEMA_TIME_N; ii++){
       int val = aSchema[ii];
-      if( val!=0 && ii!=SCHEMA_TIME_STAT4_Q1_BODY ){
+      if( val!=0 
+       && ii!=SCHEMA_TIME_STAT4_Q1_BODY
+       && ii!=SCHEMA_TIME_STAT4_Q2_BODY 
+      ){
         val -= i1;
       }
       zStr = sqlite3_mprintf("%z%s%d", zStr, (zStr?", ":""), val);