Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Enhance the --sqltrace option to show the elapse time used by each SQL statement in milliseconds. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
ada305fbc0c2e1d108f503bd8322621d |
User & Date: | drh 2020-02-13 19:43:19.441 |
Context
2020-02-13
| ||
20:09 | Minor performance optimizations on the /artifact_stats page. ... (check-in: c2cf7ea1 user: drh tags: trunk) | |
19:43 | Enhance the --sqltrace option to show the elapse time used by each SQL statement in milliseconds. ... (check-in: ada305fb user: drh tags: trunk) | |
18:28 | Add a setting in /Admin/Access that allows the /artifact_stats page to be accessed by any user. Activate load control on the /artifact_stats page. ... (check-in: 86619b99 user: drh tags: trunk) | |
Changes
Changes to src/db.c.
︙ | ︙ | |||
1256 1257 1258 1259 1260 1261 1262 | sqlite3_create_function(db, "print", -1, SQLITE_UTF8, 0,db_sql_print,0,0); sqlite3_create_function( db, "is_selected", 1, SQLITE_UTF8, 0, file_is_selected,0,0 ); sqlite3_create_function( db, "if_selected", 3, SQLITE_UTF8, 0, file_is_selected,0,0 ); | | | 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 | sqlite3_create_function(db, "print", -1, SQLITE_UTF8, 0,db_sql_print,0,0); sqlite3_create_function( db, "is_selected", 1, SQLITE_UTF8, 0, file_is_selected,0,0 ); sqlite3_create_function( db, "if_selected", 3, SQLITE_UTF8, 0, file_is_selected,0,0 ); if( g.fSqlTrace ) sqlite3_trace_v2(db, SQLITE_TRACE_PROFILE, db_sql_trace, 0); db_add_aux_functions(db); re_add_sql_func(db); /* The REGEXP operator */ foci_register(db); /* The "files_of_checkin" virtual table */ sqlite3_exec(db, "PRAGMA foreign_keys=OFF;", 0, 0, 0); return db; } |
︙ | ︙ | |||
2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 | } } LOCAL int db_sql_trace(unsigned m, void *notUsed, void *pP, void *pX){ sqlite3_stmt *pStmt = (sqlite3_stmt*)pP; char *zSql; int n; const char *zArg = (const char*)pX; if( zArg[0]=='-' ) return 0; zSql = sqlite3_expanded_sql(pStmt); n = (int)strlen(zSql); | > > > > > > > > > | | 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 | } } LOCAL int db_sql_trace(unsigned m, void *notUsed, void *pP, void *pX){ sqlite3_stmt *pStmt = (sqlite3_stmt*)pP; char *zSql; int n; const char *zArg = (const char*)pX; char zEnd[40]; if( zArg[0]=='-' ) return 0; if( m & SQLITE_TRACE_PROFILE ){ sqlite3_int64 nNano = *(sqlite3_int64*)pX; double rMillisec = 0.000001 * nNano; sqlite3_snprintf(sizeof(zEnd),zEnd," /* %.3fms */\n", rMillisec); }else{ zEnd[0] = '\n'; zEnd[1] = 0; } zSql = sqlite3_expanded_sql(pStmt); n = (int)strlen(zSql); fossil_trace("%s%s%s", zSql, (n>0 && zSql[n-1]==';') ? "" : ";", zEnd); sqlite3_free(zSql); return 0; } /* ** Implement the user() SQL function. user() takes no arguments and ** returns the user ID of the current user. |
︙ | ︙ |