SQLite

Check-in [8362edb4]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Do not use integer constants like 100_000 in the shell code on this branch. They are not supported until 3.46.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | bedrock-3.45
Files: files | file ages | folders
SHA3-256: 8362edb45b993f8467b464ca0491ef347c8215ea2e65504f7b3d1f7232eb3c63
User & Date: dan 2024-06-26 16:33:49
Context
2024-06-27
18:18
Avoid 32-bit overflow when calculating ncycle for ".scanstats vm". (Leaf check-in: 78022f90 user: dan tags: bedrock-3.45)
2024-06-26
16:33
Do not use integer constants like 100_000 in the shell code on this branch. They are not supported until 3.46. (check-in: 8362edb4 user: dan tags: bedrock-3.45)
2024-06-24
15:05
Enhance the output of ".scanstats vm" to include the absolute number of ticks for each VM instruction, instead of just the percentage of the total. (check-in: d826236e user: dan tags: bedrock-3.45)
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/shell.c.in.

3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
  UNUSED_PARAMETER(db);
  UNUSED_PARAMETER(pArg);
#else
  if( pArg->scanstatsOn==3 ){
    const char *zSql =
      "  SELECT addr, opcode, p1, p2, p3, p4, p5, comment, nexec,"
      "   format('% 6s (%.2f%%)',"
      "      CASE WHEN ncycle<100_000 THEN ncycle || ' '"
      "         WHEN ncycle<100_000_000 THEN (ncycle/1_000) || 'K'"
      "         WHEN ncycle<100_000_000_000 THEN (ncycle/1_000_000) || 'M'"
      "         ELSE (ncycle/1000_000_000) || 'G' END,"
      "       ncycle*100.0/(sum(ncycle) OVER ())"
      "   )  AS cycles"
      "   FROM bytecode(?)";

    int rc = SQLITE_OK;
    sqlite3_stmt *pStmt = 0;
    rc = sqlite3_prepare_v2(db, zSql, -1, &pStmt, 0);







|
|
|
|







3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
  UNUSED_PARAMETER(db);
  UNUSED_PARAMETER(pArg);
#else
  if( pArg->scanstatsOn==3 ){
    const char *zSql =
      "  SELECT addr, opcode, p1, p2, p3, p4, p5, comment, nexec,"
      "   format('% 6s (%.2f%%)',"
      "      CASE WHEN ncycle<100000 THEN ncycle || ' '"
      "         WHEN ncycle<100000000 THEN (ncycle/1000) || 'K'"
      "         WHEN ncycle<100000000000 THEN (ncycle/1000000) || 'M'"
      "         ELSE (ncycle/1000000000) || 'G' END,"
      "       ncycle*100.0/(sum(ncycle) OVER ())"
      "   )  AS cycles"
      "   FROM bytecode(?)";

    int rc = SQLITE_OK;
    sqlite3_stmt *pStmt = 0;
    rc = sqlite3_prepare_v2(db, zSql, -1, &pStmt, 0);