-C Guard\sthe\sx64\sassembler\sin\swal.c\swith\s"ifdef\s__x86_64__".
-D 2024-12-06T09:36:28.866
+C Update\slogging\s(now\sv=16)\sto\smore\sclosely\sanalyze\sall\sattempts\sto\sload\sthe\smain\sdb\sschema.
+D 2024-12-06T17:52:38.851
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
F sqlite3.pc.in 48fed132e7cb71ab676105d2a4dc77127d8c1f3a
F sqlite_cfg.h.in baf2e409c63d4e7a765e17769b6ff17c5a82bbd9cbf1e284fd2e4cefaff3fcf2
F src/alter.c aa93e37e4a36a0525bbb2a2aeda20d2018f0aa995542c7dc658e031375e3f532
-F src/analyze.c 5d9f1574cc1423d805de4ea48ac5786a1a1e88295fd14f175e2e4ed89051cde8
+F src/analyze.c 7fda93b7952edc84282f57f56dd63d99afe428502b0289f571e698e0ce7b978a
F src/attach.c 08235ab62ed5ccc93c22bf36e640d19effcd632319615851bccf724ec9341333
F src/auth.c 4c1ea890e0069ad73bead5d17a5b12c34cfa4f1a24175c8147ea439b64be271c
F src/backup.c 5c97e8023aab1ce14a42387eb3ae00ba5a0644569e3476f38661fa6f824c3523
F src/pcache1.c 437282ad81350c98a8592425b19e1b4e132196f7a81aef49b2ca39c50937b827
F src/pragma.c 08472536cf1ecc38947d56f6cb2c8d8b3f6a26722451a38614c41a5b0cbcfc52
F src/pragma.h 6ebbdee90ed56a892d2c728e27fd9c1ce48c8a28841888d0c6c147946b38cb25
-F src/prepare.c 140ce8271ba7da946668ad2e0c68fe14419319cb6c68cfcd660186557c271969
+F src/prepare.c 3476a2d3353d3a881822f888fcd04bfdf5bf62a2a0566ffca83dc42190fdae19
F src/printf.c 9480e90343dfde2406eeb25ff072774a77453d0f57fcd6495102f915dcc26a82
F src/random.c 9bd018738ec450bf35d28050b4b33fa9a6eebf3aaefb1a1cff42dc14a7725673
F src/resolve.c 2c127880c0634962837f16f2f48a295e514357af959330cc038de73015d5b5e8
F src/sqlite.h.in b7ff496637807ae88b2557039fc940518db328bf5d5621e2f7c048dfba32a52b
F src/sqlite3.rc 5121c9e10c3964d5755191c80dd1180c122fc3a8
F src/sqlite3ext.h 3f046c04ea3595d6bfda99b781926b17e672fd6d27da2ba6d8d8fc39981dcb54
-F src/sqliteInt.h 31cd79e80847fbaacf1987b47b055367a79744c3ccb236801e55da82dfbf21b1
+F src/sqliteInt.h a2b6836f09882cd32cca238b16ed61820b905e188a73df87438805693609030b
F src/sqliteLimit.h 6878ab64bdeb8c24a1d762d45635e34b96da21132179023338c93f820eee6728
F src/status.c cb11f8589a6912af2da3bb1ec509a94dd8ef27df4d4c1a97e0bcf2309ece972b
F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1
F src/vdbe.h b74bfd9cb1fa895e545a5286ee1cac6d75f706d325f89be0e3bf3c5107eb8a78
F src/vdbeInt.h 92b7eabbaadbe8127741cd96e7e39c4834c2bb0b75987d5f6251975f47233690
F src/vdbeapi.c 80235ac380e9467fec1cb0883354d841f2a771976e766995f7e0c77f845406df
-F src/vdbeaux.c be04d1494817b428842ecd73b1cdbb76dd5e4bf7f9af576ce8e4eafb9cc61b34
+F src/vdbeaux.c 92fc3d59a6f83ea73befe586d373d75db530ad41c29db66457b8dba99f127f4f
F src/vdbeblob.c 255be187436da38b01f276c02e6a08103489bbe2a7c6c21537b7aecbe0e1f797
F src/vdbemem.c 831a244831eaa45335f9ae276b50a7a82ee10d8c46c2c72492d4eb8c98d94d89
F src/vdbesort.c d0a3c7056c081703c8b6d91ad60f17da5e062a5c64bf568ed0fa1b5f4cae311f
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 5f9f6764e9dffef60213bbc9604940ddfc713436333c3f62ed8a090697fcbb1e
-R dc2d528d700a9f31a595b645f35f63e8
+P 5fa1699e31856a6585cc59183641c4cc99e1ccd99c384d13e9c4442e9c07f41a
+R 52059697f6646241ab7617b1a870a41c
U dan
-Z 3df61137fb8f8d436afd0a2fa28a051e
+Z 24925713dc7dc01632d224dd295c2b53
# Remove this line to create a well-formed Fossil manifest.
-5fa1699e31856a6585cc59183641c4cc99e1ccd99c384d13e9c4442e9c07f41a
+65b753735b8e8fb70d2b522d527426f1eb5c09339fb4b15cf69cbd2e595b160f
tRowcnt *pSpace; /* Available allocated memory space */
u8 *pPtr; /* Available memory as a u8 for easier manipulation */
+ u64 t = sqlite3STimeNow();
+
zIndex = (char *)sqlite3_column_text(pStmt, 0);
if( zIndex==0 ) continue;
nSample = sqlite3_column_int(pStmt, 1);
pIdx->aSample[i].anDLt = pSpace; pSpace += nIdxCol;
}
assert( ((u8*)pSpace)-nByte==(u8*)(pIdx->aSample) );
+ if( db->aSchemaTime ){
+ db->aSchemaTime[SCHEMA_TIME_STAT4_Q1_BODY] += (sqlite3STimeNow() - t);
+ }
}
rc = sqlite3_finalize(pStmt);
if( rc ) return rc;
error_out:
db->aSchemaTime = 0;
sqlite3PrepareTimeSet(aSchemaTime, SCHEMA_TIME_FINISH);
- sqlite3SchemaTimeLog(aSchemaTime);
+ if( rc==SQLITE_OK && iDb==0 ){
+ const char *zFile = sqlite3BtreeGetFilename(pDb->pBt);
+ sqlite3SchemaTimeLog(aSchemaTime, zFile);
+ }
if( rc ){
if( rc==SQLITE_NOMEM || rc==SQLITE_IOERR_NOMEM ){
sqlite3OomFault(db);
#define SCHEMA_TIME_AFTER_STAT1 12
#define SCHEMA_TIME_AFTER_DEFAULTS 13
-#define SCHEMA_TIME_AFTER_STAT4_Q1 14
-#define SCHEMA_TIME_AFTER_STAT4_Q2 15
-#define SCHEMA_TIME_AFTER_STAT4 16
+#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_END_ANALYZE_LOAD 17
-#define SCHEMA_TIME_FINISH 18
+#define SCHEMA_TIME_END_ANALYZE_LOAD 18
+#define SCHEMA_TIME_FINISH 19
-#define SCHEMA_TIME_N 19
-#define SCHEMA_TIME_TIMEOUT (2 * 1000 * 1000)
+#define SCHEMA_TIME_N 20
+#define SCHEMA_TIME_TIMEOUT (0 * 1000 * 1000)
#define sqlite3PrepareTimeSet(x,y) sqlite3CommitTimeSet(x,y)
void sqlite3PrepareTimeLog(const char *zSql, int nSql, u64 *aPrepareTime);
-void sqlite3SchemaTimeLog(u64 *aSchemaTime);
+void sqlite3SchemaTimeLog(u64 *aSchemaTime, const char *zFile);
#define PREPARE_TIME_TIMEOUT (2 * 1000 * 1000) /* 2 second timeout */
}
zStr = sqlite3_mprintf("%z%s%s%d%s", zStr, (zStr?", ":""),zHash,iVal,zU);
}
- sqlite3_log(SQLITE_WARNING, "slow commit (v=15): (%s)", zStr);
+ sqlite3_log(SQLITE_WARNING, "slow commit (v=16): (%s)", zStr);
sqlite3_free(zStr);
}
}
}
if( nByte<0 ){ nByte = sqlite3Strlen30(zSql); }
sqlite3_log(SQLITE_WARNING,
- "slow prepare (v=15): (%s) [%.*s]", zStr, nByte, zSql
+ "slow prepare (v=16): (%s) [%.*s]", zStr, nByte, zSql
);
sqlite3_free(zStr);
}
}
-void sqlite3SchemaTimeLog(u64 *aSchema){
+void sqlite3SchemaTimeLog(u64 *aSchema, const char *zFile){
u64 i1 = aSchema[SCHEMA_TIME_START];
assert( SCHEMA_TIME_START==0 && SCHEMA_TIME_FINISH==SCHEMA_TIME_N-1 );
if( aSchema[SCHEMA_TIME_FINISH]>(i1+SCHEMA_TIME_TIMEOUT) ){
(aSchema[ii]==0 ? 0 : (int)(aSchema[ii] - i1))
);
}
- sqlite3_log(SQLITE_WARNING, "slow schema (v=15): (%s)", zStr);
+ sqlite3_log(SQLITE_WARNING, "slow schema (%s) (v=16): (%s)", zFile, zStr);
sqlite3_free(zStr);
}
}