@@ -5,16 +5,16 @@
5 5 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
6 6 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** ext/expert/sqlite3expert.c
7 7 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** ext/expert/sqlite3expert.h
8 8 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** ext/intck/sqlite3intck.c
9 9 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** ext/intck/sqlite3intck.h
10 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** ext/misc/analyze.c
11 10 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** ext/misc/appendvfs.c
12 11 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** ext/misc/base64.c
13 12 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** ext/misc/base85.c
14 13 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** ext/misc/completion.c
15 14 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** ext/misc/decimal.c
15 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** ext/misc/diskused.c
16 16 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** ext/misc/fileio.c
17 17 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** ext/misc/ieee754.c
18 18 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** ext/misc/memtrace.c
19 19 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** ext/misc/pcachetrace.c
20 20 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** ext/misc/regexp.c
@@ -19478,11 +19478,11 @@
19478 19478 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_vfs_unregister(pVfs);
19479 19479 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_free(pVfs);
19480 19480 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
19481 19481 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
19482 19482 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/************************* End ext/misc/vfstrace.c ********************/
19483 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /************************* Begin ext/misc/analyze.c ******************/
19483 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /************************* Begin ext/misc/diskused.c ******************/
19484 19484 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
19485 19485 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** 2026-04-13
19486 19486 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
19487 19487 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** The author disclaims copyright to this source code. In place of
19488 19488 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** a legal notice, here is a blessing:
@@ -19491,12 +19491,21 @@
19491 19491 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** May you find forgiveness for yourself and forgive others.
19492 19492 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** May you share freely, never taking more than you give.
19493 19493 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
19494 19494 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
******************************************************************************
19495 19495 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
19496 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Partial reimplement of the sqlite3_analyzer utility program as
19497 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** loadable SQL function.
19496 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** This extension implements an SQL function:
19497 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
19498 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** diskused(X)
19499 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
19500 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Where X is the schema name (typically 'main'). The output is text
19501 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** that describes how much filesystem space the various tables and indexes
19502 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** of the database consume.
19503 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
19504 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** This function is a replacement for the (now deprecated)
19505 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** "sqlite3_analyzer" utility program. This function is built
19506 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** into the CLI and is used to implement the ".diskused" command there.
19498 19507 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
19499 19508 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* #include "sqlite3ext.h" */
19500 19509 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_EXTENSION_INIT1
19501 19510 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#include <assert.h>
19502 19511 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#include <string.h>
@@ -19504,28 +19513,28 @@
19504 19513 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#include <math.h>
19505 19514 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
19506 19515 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
19507 19516 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** State information for the analysis
19508 19517 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
19509 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- typedef struct Analysis Analysis;
19510 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- struct Analysis {
19518 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ typedef struct DiskUsed DiskUsed;
19519 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ struct DiskUsed {
19511 19520 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3 *db; /* Database connection */
19512 19521 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_context *context; /* SQL function context */
19513 19522 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_str *pOut; /* Write output here */
19514 19523 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zSU; /* Name of the temp.space_used table */
19515 19524 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zSchema; /* Schema to be analyzed */
19516 19525 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
19517 19526 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
19518 19527 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
19519 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Free all resources that the Analysis object references and
19520 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** reset the Analysis object.
19528 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Free all resources that the DiskUsed object references and
19529 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** reset the DiskUsed object.
19521 19530 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
19522 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** Call this routine multiple times on the same Analysis object
19531 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Call this routine multiple times on the same DiskUsed object
19523 19532 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** is a harmless no-op, as long as the memory for the object itself
19524 19533 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** has not been freed.
19525 19534 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
19526 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void analysisReset(Analysis *p){
19535 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static void diskusedReset(DiskUsed *p){
19527 19536 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( p->zSU ){
19528 19537 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zSql = sqlite3_mprintf("DROP TABLE temp.%s;", p->zSU);
19529 19538 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zSql ){
19530 19539 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_exec(p->db, zSql, 0, 0, 0);
19531 19540 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_free(zSql);
@@ -19538,11 +19547,11 @@
19538 19547 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
19539 19548 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
19540 19549 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Report an error using formatted text. If zFormat==NULL then report
19541 19550 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** an OOM error.
19542 19551 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
19543 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void analysisError(Analysis *p, const char *zFormat, ...){
19552 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static void diskusedError(DiskUsed *p, const char *zFormat, ...){
19544 19553 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zErr;
19545 19554 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zFormat ){
19546 19555 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
va_list ap;
19547 19556 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
va_start(ap, zFormat);
19548 19557 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zErr = sqlite3_vmprintf(zFormat, ap);
@@ -19554,38 +19563,38 @@
19554 19563 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_result_error_nomem(p->context);
19555 19564 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
19556 19565 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_result_error(p->context, zErr, -1);
19557 19566 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_free(zErr);
19558 19567 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
19559 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisReset(p);
19568 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedReset(p);
19560 19569 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
19561 19570 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
19562 19571 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
19563 19572 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Prepare and return an SQL statement.
19564 19573 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
19565 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static sqlite3_stmt *analysisVPrep(Analysis *p, const char *zFmt, va_list ap){
19574 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static sqlite3_stmt *diskusedVPrep(DiskUsed *p, const char *zFmt, va_list ap){
19566 19575 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zSql;
19567 19576 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int rc;
19568 19577 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_stmt *pStmt = 0;
19569 19578 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zSql = sqlite3_vmprintf(zFmt, ap);
19570 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( zSql==0 ){ analysisError(p,0); return 0; }
19579 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zSql==0 ){ diskusedError(p,0); return 0; }
19571 19580 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0);
19572 19581 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ){
19573 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisError(p, "SQL parse error: %s\nOriginal SQL: %s",
19582 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedError(p, "SQL parse error: %s\nOriginal SQL: %s",
19574 19583 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_errmsg(p->db), zSql);
19575 19584 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_finalize(pStmt);
19576 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisReset(p);
19585 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedReset(p);
19577 19586 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pStmt = 0;
19578 19587 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
19579 19588 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_free(zSql);
19580 19589 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return pStmt;
19581 19590 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
19582 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static sqlite3_stmt *analysisPrepare(Analysis *p, const char *zFormat, ...){
19591 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static sqlite3_stmt *diskusedPrepare(DiskUsed *p, const char *zFormat, ...){
19583 19592 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
va_list ap;
19584 19593 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_stmt *pStmt = 0;
19585 19594 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
va_start(ap, zFormat);
19586 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pStmt = analysisVPrep(p,zFormat,ap);
19595 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pStmt = diskusedVPrep(p,zFormat,ap);
19587 19596 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
va_end(ap);
19588 19597 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return pStmt;
19589 19598 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
19590 19599 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
19591 19600 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
@@ -19594,60 +19603,60 @@
19594 19603 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
19595 19604 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** If rc is SQLITE_DONE or SQLITE_OK, then return false.
19596 19605 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
19597 19606 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** The prepared statement is closed in either case.
19598 19607 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
19599 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static int analysisStmtFinish(Analysis *p, int rc, sqlite3_stmt *pStmt){
19608 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static int diskusedStmtFinish(DiskUsed *p, int rc, sqlite3_stmt *pStmt){
19600 19609 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc==SQLITE_DONE ){
19601 19610 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = SQLITE_OK;
19602 19611 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
19603 19612 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc!=SQLITE_OK || (rc = sqlite3_reset(pStmt))!=SQLITE_OK ){
19604 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisError(p, "SQL run-time error: %s\nOriginal SQL: %s",
19613 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedError(p, "SQL run-time error: %s\nOriginal SQL: %s",
19605 19614 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_errmsg(p->db), sqlite3_sql(pStmt));
19606 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisReset(p);
19615 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedReset(p);
19607 19616 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
19608 19617 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_finalize(pStmt);
19609 19618 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return rc;
19610 19619 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
19611 19620 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
19612 19621 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
19613 19622 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Run SQL. Return the number of errors.
19614 19623 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
19615 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static int analysisSql(Analysis *p, const char *zFormat, ...){
19624 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static int diskusedSql(DiskUsed *p, const char *zFormat, ...){
19616 19625 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
va_list ap;
19617 19626 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int rc;
19618 19627 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_stmt *pStmt = 0;
19619 19628 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
va_start(ap, zFormat);
19620 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pStmt = analysisVPrep(p,zFormat,ap);
19629 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pStmt = diskusedVPrep(p,zFormat,ap);
19621 19630 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
va_end(ap);
19622 19631 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pStmt==0 ) return 1;
19623 19632 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( (rc = sqlite3_step(pStmt))==SQLITE_ROW ){}
19624 19633 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc==SQLITE_DONE ){
19625 19634 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = SQLITE_OK;
19626 19635 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
19627 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisError(p, "SQL run-time error: %s\nOriginal SQL: %s",
19636 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedError(p, "SQL run-time error: %s\nOriginal SQL: %s",
19628 19637 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_errmsg(p->db), sqlite3_sql(pStmt));
19629 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisReset(p);
19638 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedReset(p);
19630 19639 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
19631 19640 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_finalize(pStmt);
19632 19641 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return rc;
19633 19642 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
19634 19643 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
19635 19644 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
19636 19645 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Run an SQL query that returns an integer. Write that integer
19637 19646 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** into *piRes. Return the number of errors.
19638 19647 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
19639 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static int analysisSqlInt(
19640 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Analysis *p,
19648 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static int diskusedSqlInt(
19649 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ DiskUsed *p,
19641 19650 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_int64 *piRes,
19642 19651 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zFormat, ...
19643 19652 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
19644 19653 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
va_list ap;
19645 19654 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int rc;
19646 19655 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_stmt *pStmt = 0;
19647 19656 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
va_start(ap, zFormat);
19648 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pStmt = analysisVPrep(p,zFormat,ap);
19657 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pStmt = diskusedVPrep(p,zFormat,ap);
19649 19658 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
va_end(ap);
19650 19659 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pStmt==0 ) return 1;
19651 19660 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = sqlite3_step(pStmt);
19652 19661 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc==SQLITE_ROW ){
19653 19662 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*piRes = sqlite3_column_int64(pStmt, 0);
@@ -19655,14 +19664,14 @@
19655 19664 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( rc==SQLITE_DONE ){
19656 19665 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = SQLITE_OK;
19657 19666 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
19658 19667 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( p->db ){
19659 19668 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* p->db is NULL if there was some prior error */
19660 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisError(p, "SQL run-time error: %s\nOriginal SQL: %s",
19669 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedError(p, "SQL run-time error: %s\nOriginal SQL: %s",
19661 19670 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_errmsg(p->db), sqlite3_sql(pStmt));
19662 19671 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
19663 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisReset(p);
19672 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedReset(p);
19664 19673 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
19665 19674 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_finalize(pStmt);
19666 19675 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return rc;
19667 19676 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
19668 19677 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
@@ -19671,20 +19680,20 @@
19671 19680 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** by the format string. If the output is initially empty, begin
19672 19681 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** the title line with "/" so that it forms the beginning of a C-style
19673 19682 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** comment. Otherwise begin with a new-line. Always finish with a
19674 19683 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** newline.
19675 19684 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
19676 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void analysisTitle(Analysis *p, const char *zFormat, ...){
19685 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static void diskusedTitle(DiskUsed *p, const char *zFormat, ...){
19677 19686 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zFirst;
19678 19687 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zTitle;
19679 19688 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
size_t nTitle;
19680 19689 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
va_list ap;
19681 19690 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
va_start(ap, zFormat);
19682 19691 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zTitle = sqlite3_vmprintf(zFormat, ap);
19683 19692 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
va_end(ap);
19684 19693 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zTitle==0 ){
19685 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisError(p, 0);
19694 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedError(p, 0);
19686 19695 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
19687 19696 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
19688 19697 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zFirst = sqlite3_str_length(p->pOut)==0 ? "/" : "\n*";
19689 19698 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nTitle = strlen(zTitle);
19690 19699 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( nTitle>=75 ){
@@ -19699,12 +19708,12 @@
19699 19708 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
19700 19709 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Add an output line that begins with the zDesc text extended out to
19701 19710 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** 50 columns with "." characters, and followed by whatever text is
19702 19711 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** described by zFormat.
19703 19712 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
19704 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void analysisLine(
19705 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Analysis *p, /* Analysis context */
19713 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static void diskusedLine(
19714 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ DiskUsed *p, /* DiskUsed context */
19706 19715 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zDesc, /* Description */
19707 19716 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zFormat, /* Argument to the description */
19708 19717 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
...
19709 19718 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
19710 19719 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zTxt;
@@ -19712,14 +19721,14 @@
19712 19721 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
va_list ap;
19713 19722 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
va_start(ap, zFormat);
19714 19723 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zTxt = sqlite3_vmprintf(zFormat, ap);
19715 19724 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
va_end(ap);
19716 19725 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zTxt==0 ){
19717 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisError(p, 0);
19726 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedError(p, 0);
19718 19727 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
19719 19728 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
19720 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- nDesc = strlen(zDesc);
19729 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ nDesc = zDesc ? strlen(zDesc) : 0;
19721 19730 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( nDesc>=50 ){
19722 19731 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_str_appendf(p->pOut, "%s %z", zDesc, zTxt);
19723 19732 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
19724 19733 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nExtra = 50 - (int)nDesc;
19725 19734 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_str_appendf(p->pOut, "%s%.*c %z", zDesc, nExtra, '.', zTxt);
@@ -19729,11 +19738,11 @@
19729 19738 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
19730 19739 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Write a percentage into the output. The number written should show
19731 19740 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** two or three significant digits, with the decimal point being the fourth
19732 19741 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** character.
19733 19742 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
19734 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void analysisPercent(Analysis *p, double r){
19743 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static void diskusedPercent(DiskUsed *p, double r){
19735 19744 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char zNum[100];
19736 19745 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zDP;
19737 19746 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nLeadingDigit;
19738 19747 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int sz;
19739 19748 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_snprintf(sizeof(zNum)-5, zNum, r>=10.0 ? "%.3g" :"%.2g", r);
@@ -19758,12 +19767,12 @@
19758 19767 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
19759 19768 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** The title if the subreport is given by zTitle. zWhere is
19760 19769 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** a boolean expression that can go in the WHERE clause to select
19761 19770 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** the relevant rows of the s.zSU table.
19762 19771 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
19763 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static int analysisSubreport(
19764 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Analysis *p, /* Analysis context */
19772 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static int diskusedSubreport(
19773 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ DiskUsed *p, /* DiskUsed context */
19765 19774 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zTitle, /* Title for this subreport */
19766 19775 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zWhere, /* WHERE clause for this subreport */
19767 19776 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_int64 pgsz, /* Database page size */
19768 19777 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_int64 nPage /* Number of pages in entire database */
19769 19778 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
@@ -19787,14 +19796,14 @@
19787 19796 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_int64 total_unused; /* Total unused bytes */
19788 19797 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_int64 total_meta; /* Total metadata */
19789 19798 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int rc;
19790 19799 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
19791 19800 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zTitle==0 || zWhere==0 ){
19792 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisError(p, 0);
19801 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedError(p, 0);
19793 19802 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return SQLITE_NOMEM;
19794 19803 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
19795 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pStmt = analysisPrepare(p,
19804 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pStmt = diskusedPrepare(p,
19796 19805 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"SELECT\n"
19797 19806 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" sum(if(is_without_rowid OR is_index,nentry,leaf_entries)),\n" /* 0 */
19798 19807 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" sum(payload),\n" /* 1 */
19799 19808 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" sum(ovfl_payload),\n" /* 2 */
19800 19809 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" max(mx_payload),\n" /* 3 */
@@ -19811,11 +19820,11 @@
19811 19820 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" FROM temp.%s WHERE %s",
19812 19821 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->zSU, zWhere);
19813 19822 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pStmt==0 ) return 1;
19814 19823 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = sqlite3_step(pStmt);
19815 19824 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc==SQLITE_ROW ){
19816 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisTitle(p, "%s", zTitle);
19825 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedTitle(p, "%s", zTitle);
19817 19826 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
19818 19827 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nentry = sqlite3_column_int64(pStmt, 0);
19819 19828 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
payload = sqlite3_column_int64(pStmt, 1);
19820 19829 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ovfl_payload = sqlite3_column_int64(pStmt, 2);
19821 19830 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
mx_payload = sqlite3_column_int64(pStmt, 3);
@@ -19830,73 +19839,73 @@
19830 19839 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cnt = sqlite3_column_int64(pStmt, 12);
19831 19840 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int_cell = sqlite3_column_int64(pStmt, 13);
19832 19841 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = SQLITE_DONE;
19833 19842 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
19834 19843 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
total_pages = leaf_pages + int_pages + ovfl_pages;
19835 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(p, "Percentage of total database", "%.3g%%\n",
19844 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(p, "Percentage of total database", "%.3g%%\n",
19836 19845 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
(total_pages*100.0)/(double)nPage);
19837 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(p, "Number of entries", "%lld\n", nentry);
19846 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(p, "Number of entries", "%lld\n", nentry);
19838 19847 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
storage = total_pages*pgsz;
19839 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(p, "Bytes of storage consumed", "%lld\n", storage);
19840 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(p, "Bytes of payload", "%-11lld ", payload);
19841 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisPercent(p, payload*100.0/(double)storage);
19848 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(p, "Bytes of storage consumed", "%lld\n", storage);
19849 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(p, "Bytes of payload", "%-11lld ", payload);
19850 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedPercent(p, payload*100.0/(double)storage);
19842 19851 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( ovfl_cnt>0 ){
19843 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(p, "Bytes of payload in overflow","%-11lld ",ovfl_payload);
19844 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisPercent(p, ovfl_payload*100.0/(double)payload);
19852 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(p, "Bytes of payload in overflow","%-11lld ",ovfl_payload);
19853 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedPercent(p, ovfl_payload*100.0/(double)payload);
19845 19854 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
19846 19855 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
total_unused = leaf_unused + int_unused + ovfl_unused;
19847 19856 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
total_meta = storage - payload - total_unused;
19848 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(p, "Bytes of metadata","%-11lld ", total_meta);
19849 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisPercent(p, total_meta*100.0/(double)storage);
19857 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(p, "Bytes of metadata","%-11lld ", total_meta);
19858 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedPercent(p, total_meta*100.0/(double)storage);
19850 19859 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( cnt==1 ){
19851 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(p, "B-tree depth", "%lld\n", depth);
19860 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(p, "B-tree depth", "%lld\n", depth);
19852 19861 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( int_cell>1 ){
19853 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(p, "Average fanout", "%.1f\n",
19862 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(p, "Average fanout", "%.1f\n",
19854 19863 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
(double)(int_cell+int_pages)/(double)int_pages);
19855 19864 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
19856 19865 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
19857 19866 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( nentry>0 ){
19858 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(p, "Average payload per entry", "%.1f\n",
19867 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(p, "Average payload per entry", "%.1f\n",
19859 19868 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
(double)payload/(double)nentry);
19860 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(p, "Average unused bytes per entry", "%.1f\n",
19869 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(p, "Average unused bytes per entry", "%.1f\n",
19861 19870 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
(double)total_unused/(double)nentry);
19862 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(p, "Average metadata per entry", "%.1f\n",
19871 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(p, "Average metadata per entry", "%.1f\n",
19863 19872 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
(double)total_meta/(double)nentry);
19864 19873 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
19865 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(p, "Maximum single-entry payload", "%lld\n", mx_payload);
19866 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( nentry>0 ){
19867 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(p, "Entries that use overflow", "%-11lld ", ovfl_cnt);
19868 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisPercent(p, ovfl_cnt*100.0/(double)nentry);
19869 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
19870 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( int_pages>0 ){
19871 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(p, "Index pages used", "%lld\n", int_pages);
19872 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
19873 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(p, "Primary pages used", "%lld\n", leaf_pages);
19874 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( ovfl_cnt ){
19875 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(p, "Overflow pages used", "%lld\n", ovfl_pages);
19876 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
19877 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(p, "Total pages used", "%lld\n", total_pages);
19878 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( int_pages>0 ){
19879 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(p, "Unused bytes on index pages", "%lld\n", int_unused);
19880 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
19881 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(p, "Unused bytes on primary pages", "%lld\n", leaf_unused);
19882 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( ovfl_cnt ){
19883 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(p, "Unused bytes on overflow pages", "%lld\n", ovfl_unused);
19884 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
19885 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(p, "Unused bytes on all pages", "%-11lld ", total_unused);
19886 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisPercent(p, total_unused*100.0/(double)storage);
19887 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
19888 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return analysisStmtFinish(p, rc, pStmt);
19889 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
19890 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
19891 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /*
19892 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** SQL Function: analyze(SCHEMA)
19874 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(p, "Maximum single-entry payload", "%lld\n", mx_payload);
19875 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( nentry>0 ){
19876 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(p, "Entries that use overflow", "%-11lld ", ovfl_cnt);
19877 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedPercent(p, ovfl_cnt*100.0/(double)nentry);
19878 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
19879 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( int_pages>0 ){
19880 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(p, "Index pages used", "%lld\n", int_pages);
19881 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
19882 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(p, "Primary pages used", "%lld\n", leaf_pages);
19883 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( ovfl_cnt ){
19884 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(p, "Overflow pages used", "%lld\n", ovfl_pages);
19885 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
19886 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(p, "Total pages used", "%lld\n", total_pages);
19887 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( int_pages>0 ){
19888 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(p, "Unused bytes on index pages", "%lld\n", int_unused);
19889 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
19890 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(p, "Unused bytes on primary pages", "%lld\n", leaf_unused);
19891 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( ovfl_cnt ){
19892 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(p, "Unused bytes on overflow pages", "%lld\n", ovfl_unused);
19893 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
19894 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(p, "Unused bytes on all pages", "%-11lld ", total_unused);
19895 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedPercent(p, total_unused*100.0/(double)storage);
19896 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
19897 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return diskusedStmtFinish(p, rc, pStmt);
19898 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
19899 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
19900 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
19901 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** SQL Function: diskused(SCHEMA)
19893 19902 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
19894 19903 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Analyze the database schema named in the argument. Return text
19895 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** containing the analysis.
19904 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** containing the space utilization stats.
19896 19905 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
19897 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- static void analyzeFunc(
19906 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static void diskusedFunc(
19898 19907 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_context *context,
19899 19908 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int argc,
19900 19909 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_value **argv
19901 19910 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
19902 19911 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int rc;
@@ -19907,47 +19916,47 @@
19907 19916 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_int64 nPage;
19908 19917 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_int64 nPageInUse;
19909 19918 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_int64 nFreeList;
19910 19919 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_int64 nIndex;
19911 19920 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_int64 nWORowid;
19912 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Analysis s;
19921 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ DiskUsed s;
19913 19922 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_uint64 r[2];
19914 19923 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
19915 19924 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
(void)argc;
19916 19925 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
memset(&s, 0, sizeof(s));
19917 19926 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
s.db = sqlite3_context_db_handle(context);
19918 19927 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
s.context = context;
19919 19928 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
s.pOut = sqlite3_str_new(0);
19920 19929 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( sqlite3_str_errcode(s.pOut) ){
19921 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisError(&s, 0);
19930 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedError(&s, 0);
19922 19931 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
19923 19932 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
19924 19933 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
s.zSchema = (const char*)sqlite3_value_text(argv[0]);
19925 19934 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( s.zSchema==0 ){
19926 19935 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
s.zSchema = "main";
19927 19936 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( sqlite3_strlike("temp",s.zSchema,0)==0 ){
19928 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisReset(&s);
19937 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedReset(&s);
19929 19938 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_result_text(context, "cannot analyze \"temp\"",-1,SQLITE_STATIC);
19930 19939 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
19931 19940 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
19932 19941 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ii = 0;
19933 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = analysisSqlInt(&s,&ii,"SELECT 1 FROM pragma_database_list"
19942 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = diskusedSqlInt(&s,&ii,"SELECT 1 FROM pragma_database_list"
19934 19943 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" WHERE name=%Q COLLATE nocase",s.zSchema);
19935 19944 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc || ii==0 ){
19936 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisReset(&s);
19945 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedReset(&s);
19937 19946 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_result_text(context,"no such database",-1,SQLITE_STATIC);
19938 19947 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
19939 19948 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
19940 19949 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_randomness(sizeof(r), &r);
19941 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- s.zSU = sqlite3_mprintf("analysis%016llx%016llx", r[0], r[1]);
19942 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( s.zSU==0 ){ analysisError(&s, 0); return; }
19950 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ s.zSU = sqlite3_mprintf("diskused%016llx%016llx", r[0], r[1]);
19951 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( s.zSU==0 ){ diskusedError(&s, 0); return; }
19943 19952 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
19944 19953 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* The s.zSU table contains the data used for the analysis.
19945 19954 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** The table name contains 128-bits of randomness to avoid
19946 19955 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** collisions with preexisting tables in temp.
19947 19956 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
19948 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = analysisSql(&s,
19957 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = diskusedSql(&s,
19949 19958 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"CREATE TABLE temp.%s(\n"
19950 19959 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" name text, -- A table or index\n"
19951 19960 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" tblname text, -- Table that owns name\n"
19952 19961 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" is_index boolean, -- TRUE if it is an index\n"
19953 19962 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" is_without_rowid boolean, -- TRUE if WITHOUT ROWID table\n"
@@ -19970,11 +19979,11 @@
19970 19979 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
19971 19980 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ) return;
19972 19981 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
19973 19982 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Populate the s.zSU table
19974 19983 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
19975 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = analysisSql(&s,
19984 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = diskusedSql(&s,
19976 19985 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"WITH\n"
19977 19986 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" allidx(idxname) AS (\n"
19978 19987 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" SELECT name FROM \"%w\".sqlite_schema WHERE type='index'\n"
19979 19988 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" ),\n"
19980 19989 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" allobj(allname,tblname,isidx,isworowid) AS (\n"
@@ -20022,141 +20031,143 @@
20022 20031 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
s.zSchema /* JOIN dbstat(%Q) */
20023 20032 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
20024 20033 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ) return;
20025 20034 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
20026 20035 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nPage = 0;
20027 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = analysisSqlInt(&s, &nPage, "PRAGMA \"%w\".page_count", s.zSchema);
20036 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = diskusedSqlInt(&s, &nPage, "PRAGMA \"%w\".page_count", s.zSchema);
20028 20037 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ) return;
20029 20038 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( nPage<=0 ){
20030 20039 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Very brief reply for an empty database */
20031 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisReset(&s);
20040 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedReset(&s);
20032 20041 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_result_text(context, "empty database", -1, SQLITE_STATIC);
20033 20042 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
20034 20043 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
20035 20044 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
20036 20045 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Begin generating the report */
20037 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisTitle(&s, "Database storage utilization report");
20046 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedTitle(&s, "Database storage utilization report");
20038 20047 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pgsz = 0;
20039 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = analysisSqlInt(&s, &pgsz, "PRAGMA \"%w\".page_size", s.zSchema);
20048 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = diskusedSqlInt(&s, &pgsz, "PRAGMA \"%w\".page_size", s.zSchema);
20040 20049 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ) return;
20041 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(&s, "Page size in bytes","%lld\n",pgsz);
20042 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(&s, "Pages in the database", "%lld\n", nPage);
20050 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(&s, "Page size in bytes","%lld\n",pgsz);
20051 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(&s, "Pages in the database", "%lld\n", nPage);
20043 20052 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
20044 20053 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nPageInUse = 0;
20045 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = analysisSqlInt(&s, &nPageInUse,
20054 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = diskusedSqlInt(&s, &nPageInUse,
20046 20055 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"SELECT sum(leaf_pages+int_pages+ovfl_pages) FROM temp.%s", s.zSU);
20047 20056 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ) return;
20048 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(&s, "Pages that store data", "%-11lld ", nPageInUse);
20049 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisPercent(&s, (nPageInUse*100.0)/(double)nPage);
20057 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(&s, "Pages that store data", "%-11lld ", nPageInUse);
20058 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedPercent(&s, (nPageInUse*100.0)/(double)nPage);
20050 20059 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
20051 20060 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nFreeList = 0;
20052 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = analysisSqlInt(&s, &nFreeList, "PRAGMA \"%w\".freelist_count",s.zSchema);
20061 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = diskusedSqlInt(&s, &nFreeList, "PRAGMA \"%w\".freelist_count",s.zSchema);
20053 20062 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ) return;
20054 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(&s, "Pages on the freelist", "%-11lld ", nFreeList);
20055 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisPercent(&s, (nFreeList*100.0)/(double)nPage);
20063 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(&s, "Pages on the freelist", "%-11lld ", nFreeList);
20064 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedPercent(&s, (nFreeList*100.0)/(double)nPage);
20056 20065 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
20057 20066 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ii = 0;
20058 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = analysisSqlInt(&s, &ii, "PRAGMA \"%w\".auto_vacuum", s.zSchema);
20067 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = diskusedSqlInt(&s, &ii, "PRAGMA \"%w\".auto_vacuum", s.zSchema);
20059 20068 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ) return;
20060 20069 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( ii==0 || nPage<=1 ){
20061 20070 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ii = 0;
20062 20071 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
20063 20072 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
double rPtrsPerPage = pgsz/5;
20064 20073 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
double rAvPage = (nPage-1.0)/(rPtrsPerPage+1.0);
20065 20074 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ii = (sqlite3_int64)ceil(rAvPage);
20066 20075 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
20067 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(&s, "Pages of auto-vacuum overhead", "%-11lld ", ii);
20068 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisPercent(&s, (ii*100.0)/(double)nPage);
20076 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(&s, "Pages of auto-vacuum overhead", "%-11lld ", ii);
20077 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedPercent(&s, (ii*100.0)/(double)nPage);
20069 20078 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
20070 20079 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ii = 0;
20071 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = analysisSqlInt(&s, &ii,
20080 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = diskusedSqlInt(&s, &ii,
20072 20081 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"SELECT count(*)+1 FROM \"%w\".sqlite_schema WHERE type='table'",
20073 20082 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
s.zSchema);
20074 20083 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ) return;
20075 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(&s, "Number of tables", "%lld\n", ii);
20084 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(&s, "Number of tables", "%lld\n", ii);
20076 20085 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nWORowid = 0;
20077 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = analysisSqlInt(&s, &nWORowid,
20086 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = diskusedSqlInt(&s, &nWORowid,
20078 20087 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"SELECT count(*) FROM \"%w\".pragma_table_list WHERE wr",
20079 20088 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
s.zSchema);
20080 20089 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ) return;
20081 20090 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( nWORowid>0 ){
20082 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(&s, "Number of WITHOUT ROWID tables", "%lld\n", nWORowid);
20083 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(&s, "Number of rowid tables", "%lld\n", ii - nWORowid);
20091 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(&s, "Number of WITHOUT ROWID tables", "%lld\n", nWORowid);
20092 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(&s, "Number of rowid tables", "%lld\n", ii - nWORowid);
20084 20093 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
20085 20094 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
nIndex = 0;
20086 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = analysisSqlInt(&s, &nIndex,
20095 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = diskusedSqlInt(&s, &nIndex,
20087 20096 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"SELECT count(*) FROM \"%w\".sqlite_schema WHERE type='index'",
20088 20097 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
s.zSchema);
20089 20098 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ) return;
20090 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(&s, "Number of indexes", "%lld\n", nIndex);
20099 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(&s, "Number of indexes", "%lld\n", nIndex);
20091 20100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ii = 0;
20092 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = analysisSqlInt(&s, &ii,
20101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = diskusedSqlInt(&s, &ii,
20093 20102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"SELECT count(*) FROM \"%w\".sqlite_schema"
20094 20103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" WHERE name GLOB 'sqlite_autoindex_*' AND type='index'",
20095 20104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
s.zSchema);
20096 20105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ) return;
20097 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(&s, "Number of defined indexes", "%lld\n", nIndex - ii);
20098 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(&s, "Number of implied indexes", "%lld\n", ii);
20099 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(&s, "Size of the database in bytes", "%lld\n", pgsz*nPage);
20106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(&s, "Number of defined indexes", "%lld\n", nIndex - ii);
20107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(&s, "Number of implied indexes", "%lld\n", ii);
20108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(&s, "Size of the database in bytes", "%lld\n", pgsz*nPage);
20100 20109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
ii = 0;
20101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = analysisSqlInt(&s, &ii,
20110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = diskusedSqlInt(&s, &ii,
20102 20111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"SELECT sum(payload) FROM temp.%s"
20103 20112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" WHERE NOT is_index AND name NOT LIKE 'sqlite_schema'",
20104 20113 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
s.zSU);
20105 20114 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ) return;
20106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(&s, "Bytes of payload", "%-11lld ", ii);
20107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisPercent(&s, ii*100.0/(double)(pgsz*nPage));
20115 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(&s, "Bytes of payload", "%-11lld ", ii);
20116 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedPercent(&s, ii*100.0/(double)(pgsz*nPage));
20108 20117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
20109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisTitle(&s, "Page counts for all tables with their indexes");
20110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pStmt = analysisPrepare(&s,
20118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedTitle(&s, "Page counts for all tables with their indexes");
20119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pStmt = diskusedPrepare(&s,
20111 20120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"SELECT upper(tblname),\n"
20112 20121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" sum(int_pages+leaf_pages+ovfl_pages)\n"
20113 20122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" FROM temp.%s\n"
20123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " WHERE tblname IS NOT NULL\n"
20124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " GROUP BY 1\n"
20125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " ORDER BY 2 DESC, 1;",
20126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ s.zSU);
20127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( pStmt==0 ) return;
20128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while( (rc = sqlite3_step(pStmt))==SQLITE_ROW ){
20129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sqlite3_int64 nn = sqlite3_column_int64(pStmt,1);
20130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(&s, (const char*)sqlite3_column_text(pStmt,0), "%-11lld ", nn);
20131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedPercent(&s, (nn*100.0)/(double)nPage);
20132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
20133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( diskusedStmtFinish(&s, rc, pStmt) ) return;
20134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
20135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedTitle(&s, "Page counts for all tables and indexes separately");
20136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pStmt = diskusedPrepare(&s,
20137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "SELECT upper(name),\n"
20138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " sum(int_pages+leaf_pages+ovfl_pages)\n"
20139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " FROM temp.%s\n"
20140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " WHERE name IS NOT NULL\n"
20114 20141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" GROUP BY 1\n"
20115 20142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" ORDER BY 2 DESC, 1;",
20116 20143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
s.zSU);
20117 20144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pStmt==0 ) return;
20118 20145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( (rc = sqlite3_step(pStmt))==SQLITE_ROW ){
20119 20146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_int64 nn = sqlite3_column_int64(pStmt,1);
20120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(&s, (const char*)sqlite3_column_text(pStmt,0), "%-11lld ", nn);
20121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisPercent(&s, (nn*100.0)/(double)nPage);
20122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
20123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( analysisStmtFinish(&s, rc, pStmt) ) return;
20124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
20125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisTitle(&s, "Page counts for all tables and indexes separately");
20126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pStmt = analysisPrepare(&s,
20127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "SELECT upper(name),\n"
20128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " sum(int_pages+leaf_pages+ovfl_pages)\n"
20129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " FROM temp.%s\n"
20130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " GROUP BY 1\n"
20131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " ORDER BY 2 DESC, 1;",
20132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- s.zSU);
20133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( pStmt==0 ) return;
20134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while( (rc = sqlite3_step(pStmt))==SQLITE_ROW ){
20135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sqlite3_int64 nn = sqlite3_column_int64(pStmt,1);
20136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisLine(&s, (const char*)sqlite3_column_text(pStmt,0), "%-11lld ", nn);
20137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisPercent(&s, (nn*100.0)/(double)nPage);
20138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
20139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( analysisStmtFinish(&s, rc, pStmt) ) return;
20140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
20141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = analysisSubreport(&s, "All tables and indexes", "1", pgsz, nPage);
20147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedLine(&s, (const char*)sqlite3_column_text(pStmt,0), "%-11lld ", nn);
20148 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedPercent(&s, (nn*100.0)/(double)nPage);
20149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
20150 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( diskusedStmtFinish(&s, rc, pStmt) ) return;
20151 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
20152 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = diskusedSubreport(&s, "All tables and indexes", "1", pgsz, nPage);
20142 20153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ) return;
20143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = analysisSubreport(&s, "All tables", "NOT is_index", pgsz, nPage);
20154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = diskusedSubreport(&s, "All tables", "NOT is_index", pgsz, nPage);
20144 20155 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ) return;
20145 20156 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( nWORowid>0 ){
20146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = analysisSubreport(&s, "All WITHOUT ROWID tables", "is_without_rowid",
20157 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = diskusedSubreport(&s, "All WITHOUT ROWID tables", "is_without_rowid",
20147 20158 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pgsz, nPage);
20148 20159 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ) return;
20149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = analysisSubreport(&s, "All rowid tables",
20160 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = diskusedSubreport(&s, "All rowid tables",
20150 20161 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"NOT is_without_rowid AND NOT is_index",
20151 20162 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
pgsz, nPage);
20152 20163 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ) return;
20153 20164 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
20154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = analysisSubreport(&s, "All indexes", "is_index", pgsz, nPage);
20165 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = diskusedSubreport(&s, "All indexes", "is_index", pgsz, nPage);
20155 20166 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ) return;
20156 20167 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
20157 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pStmt = analysisPrepare(&s,
20168 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pStmt = diskusedPrepare(&s,
20158 20169 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"SELECT upper(tblname), tblname, sum(is_index) FROM temp.%s"
20159 20170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" GROUP BY 1 ORDER BY 1",
20160 20171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
s.zSU);
20161 20172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pStmt==0 ) return;
20162 20173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( (rc = sqlite3_step(pStmt))==SQLITE_ROW ){
@@ -20164,37 +20175,37 @@
20164 20175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zName = (const char*)sqlite3_column_text(pStmt, 1);
20165 20176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int nSubIndex = sqlite3_column_int(pStmt, 2);
20166 20177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( nSubIndex==0 ){
20167 20178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zTitle = sqlite3_mprintf("Table %s", zUpper);
20168 20179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zWhere = sqlite3_mprintf("name=%Q", zName);
20169 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = analysisSubreport(&s, zTitle, zWhere, pgsz, nPage);
20180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = diskusedSubreport(&s, zTitle, zWhere, pgsz, nPage);
20170 20181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_free(zTitle);
20171 20182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_free(zWhere);
20172 20183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ) break;
20173 20184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else{
20174 20185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_stmt *pS2;
20175 20186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zTitle = sqlite3_mprintf("Table %s and all its indexes", zUpper);
20176 20187 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zWhere = sqlite3_mprintf("tblname=%Q", zName);
20177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = analysisSubreport(&s, zTitle, zWhere, pgsz, nPage);
20188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = diskusedSubreport(&s, zTitle, zWhere, pgsz, nPage);
20178 20189 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_free(zTitle);
20179 20190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_free(zWhere);
20180 20191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ) break;
20181 20192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zTitle = sqlite3_mprintf("Table %s w/o any indexes", zUpper);
20182 20193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zWhere = sqlite3_mprintf("name=%Q", zName);
20183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = analysisSubreport(&s, zTitle, zWhere, pgsz, nPage);
20194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = diskusedSubreport(&s, zTitle, zWhere, pgsz, nPage);
20184 20195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_free(zTitle);
20185 20196 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_free(zWhere);
20186 20197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ) break;
20187 20198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( nSubIndex>1 ){
20188 20199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zTitle = sqlite3_mprintf("All indexes of table %s", zUpper);
20189 20200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zWhere = sqlite3_mprintf("tblname=%Q AND is_index", zName);
20190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = analysisSubreport(&s, zTitle, zWhere, pgsz, nPage);
20201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = diskusedSubreport(&s, zTitle, zWhere, pgsz, nPage);
20191 20202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_free(zTitle);
20192 20203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_free(zWhere);
20193 20204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ) break;
20194 20205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
20195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pS2 = analysisPrepare(&s,
20206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pS2 = diskusedPrepare(&s,
20196 20207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"SELECT name, upper(name) FROM temp.%s"
20197 20208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" WHERE is_index AND tblname=%Q",
20198 20209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
s.zSU, zName);
20199 20210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( pS2==0 ){
20200 20211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = SQLITE_NOMEM;
@@ -20203,25 +20214,25 @@
20203 20214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
while( (rc = sqlite3_step(pS2))==SQLITE_ROW ){
20204 20215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zU = (const char*)sqlite3_column_text(pS2, 1);
20205 20216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zN = (const char*)sqlite3_column_text(pS2, 0);
20206 20217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zTitle = sqlite3_mprintf("Index %s", zU);
20207 20218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zWhere = sqlite3_mprintf("name=%Q", zN);
20208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = analysisSubreport(&s, zTitle, zWhere, pgsz, nPage);
20219 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = diskusedSubreport(&s, zTitle, zWhere, pgsz, nPage);
20209 20220 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_free(zTitle);
20210 20221 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_free(zWhere);
20211 20222 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ) break;
20212 20223 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
20213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = analysisStmtFinish(&s, rc, pS2);
20224 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = diskusedStmtFinish(&s, rc, pS2);
20214 20225 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc ) break;
20215 20226 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
20216 20227 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
20217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( analysisStmtFinish(&s, rc, pStmt) ) return;
20228 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( diskusedStmtFinish(&s, rc, pStmt) ) return;
20218 20229 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
20219 20230 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* Append SQL statements that will recreate the raw data used for
20220 20231 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** the analysis.
20221 20232 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
20222 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisTitle(&s, "Raw data used to generate this report");
20233 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedTitle(&s, "Raw data used to generate this report");
20223 20234 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_str_appendf(s.pOut,
20224 20235 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"The following SQL will create a table named \"space_used\" which\n"
20225 20236 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"contains most of the information used to generate the report above.\n"
20226 20237 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"*/\n"
20227 20238 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
@@ -20247,11 +20258,11 @@
20247 20258 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" ovfl_unused int, -- Unused bytes on overflow pages\n" /* 16 */
20248 20259 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" int_entries int -- B-tree entries on internal pages\n"/* 17 */
20249 20260 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
");\n"
20250 20261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"INSERT INTO space_used VALUES\n"
20251 20262 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
20252 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- pStmt = analysisPrepare(&s,
20263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ pStmt = diskusedPrepare(&s,
20253 20264 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
"SELECT quote(name), quote(tblname),\n" /* 0..1 */
20254 20265 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" is_index, is_without_rowid, nentry, leaf_entries,\n" /* 2..5 */
20255 20266 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" depth, payload, ovfl_payload, ovfl_cnt, mx_payload,\n" /* 6..10 */
20256 20267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" int_pages, leaf_pages, ovfl_pages, int_unused,\n" /* 11..14 */
20257 20268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" leaf_unused, ovfl_unused, int_entries\n" /* 15..17 */
@@ -20282,11 +20293,11 @@
20282 20293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_column_int64(pStmt, 15),
20283 20294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_column_int64(pStmt, 16),
20284 20295 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_column_int64(pStmt, 17));
20285 20296 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
20286 20297 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( rc!=SQLITE_DONE ){
20287 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisError(&s, "SQL run-time error: %s\nSQL: %s",
20298 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedError(&s, "SQL run-time error: %s\nSQL: %s",
20288 20299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_errmsg(s.db), sqlite3_sql(pStmt));
20289 20300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_finalize(pStmt);
20290 20301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return;
20291 20302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
20292 20303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_str_appendf(s.pOut,";\nCOMMIT;");
@@ -20295,32 +20306,32 @@
20295 20306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( sqlite3_str_length(s.pOut) ){
20296 20307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_result_text(context, sqlite3_str_finish(s.pOut), -1,
20297 20308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_free);
20298 20309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
s.pOut = 0;
20299 20310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
20300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- analysisReset(&s);
20311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ diskusedReset(&s);
20301 20312 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
20302 20313 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
20303 20314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
20304 20315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#ifdef _WIN32
20305 20316 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
20306 20317 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
20307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int sqlite3_analyze_init(
20318 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int sqlite3_diskused_init(
20308 20319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3 *db,
20309 20320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char **pzErrMsg,
20310 20321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const sqlite3_api_routines *pApi
20311 20322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
){
20312 20323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int rc = SQLITE_OK;
20313 20324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_EXTENSION_INIT2(pApi);
20314 20325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
(void)pzErrMsg; /* Unused parameter */
20315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = sqlite3_create_function(db, "analyze", 1,
20326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = sqlite3_create_function(db, "diskused", 1,
20316 20327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
SQLITE_UTF8|SQLITE_INNOCUOUS,
20317 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- 0, analyzeFunc, 0, 0);
20328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ 0, diskusedFunc, 0, 0);
20318 20329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return rc;
20319 20330 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
20320 20331 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
20321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- /************************* End ext/misc/analyze.c ********************/
20332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /************************* End ext/misc/diskused.c ********************/
20322 20333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
20323 20334 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#if !defined(SQLITE_OMIT_VIRTUALTABLE) && defined(SQLITE_ENABLE_DBPAGE_VTAB)
20324 20335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define SQLITE_SHELL_HAVE_RECOVER 1
20325 20336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#else
20326 20337 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#define SQLITE_SHELL_HAVE_RECOVER 0
@@ -26321,10 +26332,47 @@
26321 26332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( *az ){
26322 26333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
memcpy(*az, zNew, n+1 );
26323 26334 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
26324 26335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
26325 26336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
26337 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
26338 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /* Forward reference */
26339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static int pickStr(const char *zArg, char **pzErr, ...);
26340 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
26341 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /*
26342 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Change the limits on the display mode. Return 0 on
26343 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** success. Return non-zero if zArg is mis-formatted.
26344 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
26345 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Valid arguments:
26346 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
26347 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** "on" Default limits
26348 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** "off" All limits turned off
26349 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** L,C Line and Characters limits set
26350 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** L,C,T Line, Character, and Title limits set
26351 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ **
26352 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** Anything else returns non-zero
26353 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */
26354 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ static int modeSetLimit(ShellState *p, const char *zArg){
26355 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int k = zArg==0 ? 1 : pickStr(zArg,0,"on","off","");
26356 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( k==0 ){
26357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->mode.spec.nLineLimit = DFLT_LINE_LIMIT;
26358 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->mode.spec.nCharLimit = DFLT_CHAR_LIMIT;
26359 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->mode.spec.nTitleLimit = DFLT_TITLE_LIMIT;
26360 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else if( k==1 ){
26361 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->mode.spec.nLineLimit = 0;
26362 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->mode.spec.nCharLimit = 0;
26363 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->mode.spec.nTitleLimit = 0;
26364 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
26365 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int L, C, T = 0;
26366 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ int nNum = sscanf(zArg, "%d,%d,%d", &L, &C, &T);
26367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( nNum<2 || L<0 || C<0 || T<0) return 1;
26368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->mode.spec.nLineLimit = L;
26369 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ p->mode.spec.nCharLimit = C;
26370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( nNum==3 ) p->mode.spec.nTitleLimit = T;
26371 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
26372 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return 0;
26373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
26326 26374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
26327 26375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
26328 26376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Change the mode to eMode
26329 26377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
*/
26330 26378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
static void modeChange(ShellState *p, unsigned char eMode){
@@ -26358,10 +26406,11 @@
26358 26406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
modeDup(&p->mode, &p->aSavedModes[eMode-MODE_USER].mode);
26359 26407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( eMode==MODE_BATCH ){
26360 26408 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
u8 mFlags = p->mode.mFlags;
26361 26409 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
modeFree(&p->mode);
26362 26410 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
modeChange(p, MODE_List);
26411 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ modeSetLimit(p, "off");
26363 26412 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
p->mode.mFlags = mFlags;
26364 26413 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( eMode==MODE_TTY ){
26365 26414 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
u8 mFlags = p->mode.mFlags;
26366 26415 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
modeFree(&p->mode);
26367 26416 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
modeChange(p, MODE_QBox);
@@ -28446,12 +28495,12 @@
28446 28495 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
".databases List names and files of attached databases",
28447 28496 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
".dbconfig ?op? ?val? List or change sqlite3_db_config() options",
28448 28497 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#if SQLITE_SHELL_HAVE_RECOVER
28449 28498 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
".dbinfo ?DB? Show status information about the database",
28450 28499 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
28451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ".dbstat ?SCHEMA? Report database space and size stats",
28452 28500 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
".dbtotxt Hex dump of the database file",
28501 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ".diskused ?SCHEMA? Report database space and size stats",
28453 28502 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
".dump ?OBJECTS? Render database content as SQL",
28454 28503 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" Options:",
28455 28504 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" --data-only Output only INSERT statements",
28456 28505 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" --newlines Allow unescaped newline characters in output",
28457 28506 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" --nosys Omit system tables (ex: \"sqlite_stat1\")",
@@ -29461,11 +29510,11 @@
29461 29510 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_base64_init(p->db, 0, 0);
29462 29511 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_base85_init(p->db, 0, 0);
29463 29512 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_regexp_init(p->db, 0, 0);
29464 29513 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_ieee_init(p->db, 0, 0);
29465 29514 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_series_init(p->db, 0, 0);
29466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- sqlite3_analyze_init(p->db, 0, 0);
29515 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ sqlite3_diskused_init(p->db, 0, 0);
29467 29516 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#ifndef SQLITE_SHELL_FIDDLE
29468 29517 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_fileio_init(p->db, 0, 0);
29469 29518 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_completion_init(p->db, 0, 0);
29470 29519 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
29471 29520 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#ifdef SQLITE_HAVE_ZLIB
@@ -33123,30 +33172,14 @@
33123 33172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( optionMatch(z,"limits") ){
33124 33173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( (++i)>=nArg ){
33125 33174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
dotCmdError(p, i-1, "missing argument", 0);
33126 33175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return 1;
33127 33176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
33128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- k = pickStr(azArg[i],0,"on","off","");
33129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( k==0 ){
33130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- p->mode.spec.nLineLimit = DFLT_LINE_LIMIT;
33131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- p->mode.spec.nCharLimit = DFLT_CHAR_LIMIT;
33132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- p->mode.spec.nTitleLimit = DFLT_TITLE_LIMIT;
33133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else if( k==1 ){
33134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- p->mode.spec.nLineLimit = 0;
33135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- p->mode.spec.nCharLimit = 0;
33136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- p->mode.spec.nTitleLimit = 0;
33137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
33138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int L, C, T = 0;
33139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- int nNum = sscanf(azArg[i], "%d,%d,%d", &L, &C, &T);
33140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( nNum<2 || L<0 || C<0 || T<0){
33141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- dotCmdError(p, i, "bad argument", "Should be \"L,C,T\" where L, C"
33142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " and T are unsigned integers");
33143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return 1;
33144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
33145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- p->mode.spec.nLineLimit = L;
33146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- p->mode.spec.nCharLimit = C;
33147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( nNum==3 ) p->mode.spec.nTitleLimit = T;
33177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( modeSetLimit(p, azArg[i]) ){
33178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ dotCmdError(p, i, "bad argument", "Should be \"on\" or \"off\" or "
33179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "\"L,C,T\" where L, C, and T are unsigned integers");
33180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return 1;
33148 33181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
33149 33182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
chng = 1;
33150 33183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( optionMatch(z,"list") ){
33151 33184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int ii;
33152 33185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cli_puts("available modes:", p->out);
@@ -34360,11 +34393,16 @@
34360 34393 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( c=='d' && n>=3 && cli_strncmp(azArg[0], "dbinfo", n)==0 ){
34361 34394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = shell_dbinfo_command(p, nArg, azArg);
34362 34395 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else
34363 34396 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif /* SQLITE_SHELL_HAVE_RECOVER */
34364 34397 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
34365 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( c=='d' && n==6 && cli_strncmp(azArg[0], "dbstat", n)==0 ){
34398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( c=='d' && n>=3 && cli_strncmp(azArg[0], "dbtotxt", n)==0 ){
34399 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ open_db(p, 0);
34400 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ rc = shell_dbtotxt_command(p, nArg, azArg);
34401 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else
34402 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
34403 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( c=='d' && n==8 && cli_strncmp(azArg[0], "diskused", n)==0 ){
34366 34404 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zSchema = 0;
34367 34405 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int ii;
34368 34406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zSql;
34369 34407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
open_db(p, 0);
34370 34408 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(ii=1; ii<nArg; ii++){
@@ -34379,27 +34417,19 @@
34379 34417 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
rc = 1;
34380 34418 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
goto meta_command_exit;
34381 34419 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
34382 34420 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zSchema = z;
34383 34421 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
34384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zSql = sqlite3_mprintf("SELECT analyze(%Q)", zSchema);
34422 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zSql = sqlite3_mprintf("SELECT diskused(%Q)", zSchema);
34385 34423 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
shell_check_oom(zSql);
34386 34424 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
modePush(p);
34387 34425 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
modeChange(p, MODE_BATCH);
34388 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- p->mode.spec.nLineLimit = 0;
34389 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- p->mode.spec.nCharLimit = 0;
34390 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- p->mode.spec.nTitleLimit = 0;
34391 34426 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
shell_exec(p, zSql, 0);
34392 34427 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
modePop(p);
34393 34428 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
sqlite3_free(zSql);
34394 34429 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else
34395 34430 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
34396 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( c=='d' && n>=3 && cli_strncmp(azArg[0], "dbtotxt", n)==0 ){
34397 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- open_db(p, 0);
34398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- rc = shell_dbtotxt_command(p, nArg, azArg);
34399 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else
34400 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
34401 34431 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( c=='d' && cli_strncmp(azArg[0], "dump", n)==0 ){
34402 34432 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zLike = 0;
34403 34433 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
char *zSql;
34404 34434 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int i;
34405 34435 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int savedShellFlags = p->shellFlgs;
@@ -37755,17 +37785,17 @@
37755 37785 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -- treat no subsequent arguments as options\n"
37756 37786 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#if defined(SQLITE_HAVE_ZLIB) && !defined(SQLITE_OMIT_VIRTUALTABLE)
37757 37787 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -A ARGS... run \".archive ARGS\" and exit\n"
37758 37788 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
37759 37789 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -append append the database to the end of the file\n"
37760 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " -ascii set output mode to 'ascii'\n"
37790 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " -ascii set '.mode ascii'\n"
37761 37791 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -bail stop after hitting an error\n"
37762 37792 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -batch force batch I/O\n"
37763 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " -box set output mode to 'box'\n"
37793 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " -box set '.mode box'\n"
37764 37794 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -cmd COMMAND run \"COMMAND\" before reading stdin\n"
37765 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " -column set output mode to 'column'\n"
37766 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " -csv set output mode to 'csv'\n"
37795 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " -column set '.mode column'\n"
37796 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " -csv set '.mode csv -limits off'\n"
37767 37797 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#if !defined(SQLITE_OMIT_DESERIALIZE)
37768 37798 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -deserialize open the database using sqlite3_deserialize()\n"
37769 37799 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
37770 37800 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -echo print inputs before execution\n"
37771 37801 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -escape T ctrl-char escape; T is one of: symbol, ascii, off\n"
@@ -37773,18 +37803,18 @@
37773 37803 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -[no]header turn headers on or off\n"
37774 37804 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#if defined(SQLITE_ENABLE_MEMSYS3) || defined(SQLITE_ENABLE_MEMSYS5)
37775 37805 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -heap SIZE Size of heap for memsys3 or memsys5\n"
37776 37806 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
37777 37807 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -help show this message\n"
37778 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " -html set output mode to HTML\n"
37808 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " -html set '.mode html'\n"
37779 37809 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -ifexists only open if database already exists\n"
37780 37810 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -interactive force interactive I/O\n"
37781 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " -json set output mode to 'json'\n"
37782 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " -line set output mode to 'line'\n"
37783 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " -list set output mode to 'list'\n"
37811 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " -json set '.mode json'\n"
37812 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " -line set '.mode line'\n"
37813 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " -list set '.mode list'\n"
37784 37814 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -lookaside SIZE N use N entries of SZ bytes for lookaside memory\n"
37785 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " -markdown set output mode to 'markdown'\n"
37815 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " -markdown set '.mode markdown'\n"
37786 37816 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#if !defined(SQLITE_OMIT_DESERIALIZE)
37787 37817 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -maxsize N maximum size for a --deserialize database\n"
37788 37818 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
37789 37819 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -memtrace trace all memory allocations and deallocations\n"
37790 37820 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -mmap N default mmap size set to N\n"
@@ -37797,21 +37827,21 @@
37797 37827 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -nonce STRING set the safe-mode escape nonce\n"
37798 37828 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -no-rowid-in-view Disable rowid-in-view using sqlite3_config()\n"
37799 37829 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -nullvalue TEXT set text string for NULL values. Default ''\n"
37800 37830 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -pagecache SIZE N use N slots of SZ bytes each for page cache memory\n"
37801 37831 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -pcachetrace trace all page cache operations\n"
37802 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " -quote set output mode to 'quote'\n"
37832 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " -quote set '.mode quote'\n"
37803 37833 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -readonly open the database read-only\n"
37804 37834 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -safe enable safe-mode\n"
37805 37835 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -screenwidth N use N as the default screenwidth \n"
37806 37836 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -separator SEP set output column separator. Default: '|'\n"
37807 37837 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#ifdef SQLITE_ENABLE_SORTER_REFERENCES
37808 37838 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -sorterref SIZE sorter references threshold size\n"
37809 37839 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
37810 37840 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -stats print memory stats before each finalize\n"
37811 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " -table set output mode to 'table'\n"
37812 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- " -tabs set output mode to 'tabs'\n"
37841 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " -table set '.mode table'\n"
37842 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " -tabs set '.mode tabs'\n"
37813 37843 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -unsafe-testing allow unsafe commands and modes for testing\n"
37814 37844 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -version show SQLite version\n"
37815 37845 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -vfs NAME use NAME as the default VFS\n"
37816 37846 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
" -vfstrace enable tracing of all VFS calls\n"
37817 37847 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#ifdef SQLITE_HAVE_ZLIB
@@ -38409,10 +38439,11 @@
38409 38439 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
modeChange(&data, MODE_Psql);
38410 38440 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( cli_strcmp(z,"-box")==0 ){
38411 38441 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
modeChange(&data, MODE_Box);
38412 38442 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( cli_strcmp(z,"-csv")==0 ){
38413 38443 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
modeChange(&data, MODE_Csv);
38444 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ modeSetLimit(&data, "off");
38414 38445 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}else if( cli_strcmp(z,"-escape")==0 && i+1<argc ){
38415 38446 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* See similar code at tag-20250224-1 */
38416 38447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zEsc = argv[++i];
38417 38448 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int k;
38418 38449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
for(k=0; k<ArraySize(qrfEscNames); k++){
38419 38450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!