diff options
-rw-r--r-- | manifest | 24 | ||||
-rw-r--r-- | manifest.uuid | 2 | ||||
-rw-r--r-- | src/expr.c | 6 | ||||
-rw-r--r-- | src/main.c | 8 | ||||
-rw-r--r-- | src/select.c | 2 | ||||
-rw-r--r-- | src/sqliteInt.h | 10 | ||||
-rw-r--r-- | src/vdbeInt.h | 2 | ||||
-rw-r--r-- | src/vdbeaux.c | 6 | ||||
-rw-r--r-- | src/vdbetrace.c | 4 |
9 files changed, 34 insertions, 30 deletions
@@ -1,5 +1,5 @@ -C Merge\sthe\slatest\strunk\schanges\sinto\stree-explain\sbranch. -D 2011-12-10T14:44:31.699 +C Import\sthe\sexperimental\sparse-tree\sexplainer,\swith\sfixes,\sfrom\sthe\ntree-explain\sbranch. +D 2011-12-10T15:55:01.825 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f F Makefile.in 5b4a3e12a850b021547e43daf886b25133b44c07 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23 @@ -134,7 +134,7 @@ F src/complete.c dc1d136c0feee03c2f7550bafc0d29075e36deac F src/ctime.c a9c26822515f81ec21588cbb482ca6724be02e33 F src/date.c 067a81c9942c497aafd2c260e13add8a7d0c7dd4 F src/delete.c 51d32f0a9c880663e54ce309f52e40c325d5e112 -F src/expr.c d3a969a22368077b0efcb6028faa1c48ba7d2598 +F src/expr.c a68c194c7709388302266e9a5bd9de2243486835 F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb F src/fkey.c 657212460bf5cfd3ae607d12ea62092844c227b5 F src/func.c 6261ce00aad9c63cd5b4219249b05683979060e9 @@ -147,7 +147,7 @@ F src/journal.c 552839e54d1bf76fb8f7abe51868b66acacf6a0e F src/legacy.c a199d7683d60cef73089e892409113e69c23a99f F src/lempar.c 0ee69fca0be54cd93939df98d2aca4ca46f44416 F src/loadext.c d0d2022a5a07274d408820b978b9e549189d314f -F src/main.c 0e0b9dd5b054ed1aa3861b257035910aff9e1842 +F src/main.c e10d5ad24ae1964d1dc53fbc283557c1c5cd29f3 F src/malloc.c 591aedb20ae40813f1045f2ef253438a334775d9 F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645 F src/mem1.c 7998e7003a3047e323c849a26dda004debc04d03 @@ -180,11 +180,11 @@ F src/printf.c 7ffb4ebb8b341f67e049695ba031da717b3d2699 F src/random.c cd4a67b3953b88019f8cd4ccd81394a8ddfaba50 F src/resolve.c 365ab1c870e38596d6869e76fb544fe6e4ffc809 F src/rowset.c 69afa95a97c524ba6faf3805e717b5b7ae85a697 -F src/select.c 97275df6f40f1df1c389e275c2185a4edf202ad2 +F src/select.c 4d64e3ccccfd2b46e60e7a4cfd21175c3341e859 F src/shell.c a1eadb2fdbfa45e54307263f0c8da8ee8cd61b8b F src/sqlite.h.in 1dc07194eb1a2c69c8ef75f88022b170be08024a F src/sqlite3ext.h 6904f4aadf976f95241311fbffb00823075d9477 -F src/sqliteInt.h d781d89415ada4815794fc2587601cd44272f94d +F src/sqliteInt.h 7a64e24659e067f3882eeb75f31d59e7b3723b8b F src/sqliteLimit.h 164b0e6749d31e0daa1a4589a169d31c0dec7b3d F src/status.c 4568e72dfd36b6a5911f93457364deb072e0b03a F src/table.c 2cd62736f845d82200acfa1287e33feb3c15d62e @@ -241,13 +241,13 @@ F src/util.c 01238e2b0f24a14779181dbf991fe02620a80e31 F src/vacuum.c 0c0ba2242355c6048d65e2b333abe0f7c06348fa F src/vdbe.c 029add0c5197a61db588824a58570547330b9d8f F src/vdbe.h 18f581cac1f4339ec3299f3e0cc6e11aec654cdb -F src/vdbeInt.h 72222af1a52bcdfa94e1165e083734484fc0863f +F src/vdbeInt.h 48c158b2fceca9682d1577e61c62da3c58cf0748 F src/vdbeapi.c 86189ebba2c49791d75eaa12929f3ce6527596bd -F src/vdbeaux.c 1b99a1f6c56aecfebc172ff6985ba9818f6c8caa +F src/vdbeaux.c 61a3cc2b3a713aa244598a13035471cc30b307e1 F src/vdbeblob.c 32f2a4899d67f69634ea4dd93e3f651936d732cb F src/vdbemem.c 2fc78b3e0fabcc1eaa23cd79dd2e30e6dcfe1e56 F src/vdbesort.c 468d43c057063e54da4f1988b38b4f46d60e7790 -F src/vdbetrace.c 7e5946109138ff6f7f94e79fc702755bf79373a8 +F src/vdbetrace.c d6e50e04e1ec498150e519058f617d91b8f5c843 F src/vtab.c e9318d88feac85be8e27ee783ac8f5397933fc8a F src/wal.c 7e6e7fe68ee649505dca38c8ab83eda0d0d96ae5 F src/wal.h 66b40bd91bc29a5be1c88ddd1f5ade8f3f48728a @@ -978,7 +978,7 @@ F tool/tostr.awk e75472c2f98dd76e06b8c9c1367f4ab07e122d06 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f F tool/warnings-clang.sh 9f406d66e750e8ac031c63a9ef3248aaa347ef2a F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381 -P 7b457ea4551ba411a4747d74fb78b795cc8d9ee6 256e27bd118ed3ab6ecb19ad6a6494b71ac9bdd5 -R aa2b80b8c93dd58f9be82d377cb63c4d +P 256e27bd118ed3ab6ecb19ad6a6494b71ac9bdd5 1a360da0f8314f232c224c71829646bc7558892b +R 3dfa94d97a11ee2a078f9f1b12bd877f U drh -Z 940f9f8f15ab9108dec876188e59d100 +Z 7f30df8f1f79a1cfbb2b882f754d8454 diff --git a/manifest.uuid b/manifest.uuid index 253949ba5..a0c27bc5c 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -1a360da0f8314f232c224c71829646bc7558892b
\ No newline at end of file +bcbc7152d49107afa926c8950360c61a6cf3d244
\ No newline at end of file diff --git a/src/expr.c b/src/expr.c index 8e51bee2f..ede9c9d39 100644 --- a/src/expr.c +++ b/src/expr.c @@ -2949,7 +2949,7 @@ int sqlite3ExprCodeAndCache(Parse *pParse, Expr *pExpr, int target){ return inReg; } -#if defined(SQLITE_DEBUG) +#if defined(SQLITE_ENABLE_TREE_EXPLAIN) /* ** Generate a human-readable explanation of an expression tree. */ @@ -3178,9 +3178,9 @@ void sqlite3ExplainExpr(Vdbe *pOut, Expr *pExpr){ sqlite3ExplainPrintf(pOut,")"); } } -#endif /* defined(SQLITE_DEBUG) */ +#endif /* defined(SQLITE_ENABLE_TREE_EXPLAIN) */ -#if defined(SQLITE_DEBUG) +#if defined(SQLITE_ENABLE_TREE_EXPLAIN) /* ** Generate a human-readable explanation of an expression list. */ diff --git a/src/main.c b/src/main.c index ca98d3140..d6dc0c79e 100644 --- a/src/main.c +++ b/src/main.c @@ -2936,12 +2936,13 @@ int sqlite3_test_control(int op, ...){ break; } +#if defined(SQLITE_ENABLE_TREE_EXPLAIN) /* sqlite3_test_control(SQLITE_TESTCTRL_EXPLAIN_STMT, ** sqlite3_stmt*,const char**); ** - ** If compiled with SQLITE_DEBUG, each sqlite3_stmt holds a string that - ** describes the optimized parse tree. This test-control returns a - ** pointer to that string. + ** If compiled with SQLITE_ENABLE_TREE_EXPLAIN, each sqlite3_stmt holds + ** a string that describes the optimized parse tree. This test-control + ** returns a pointer to that string. */ case SQLITE_TESTCTRL_EXPLAIN_STMT: { sqlite3_stmt *pStmt = va_arg(ap, sqlite3_stmt*); @@ -2949,6 +2950,7 @@ int sqlite3_test_control(int op, ...){ *pzRet = sqlite3VdbeExplanation((Vdbe*)pStmt); break; } +#endif } va_end(ap); diff --git a/src/select.c b/src/select.c index 15b34e2b4..c41dc07f9 100644 --- a/src/select.c +++ b/src/select.c @@ -4494,7 +4494,7 @@ select_end: return rc; } -#if defined(SQLITE_DEBUG) +#if defined(SQLITE_ENABLE_TREE_EXPLAIN) /* ** Generate a human-readable description of a the Select object. */ diff --git a/src/sqliteInt.h b/src/sqliteInt.h index 7c57558ef..6266a9cb7 100644 --- a/src/sqliteInt.h +++ b/src/sqliteInt.h @@ -1707,10 +1707,10 @@ struct Expr { #define EP_FixedDest 0x0200 /* Result needed in a specific register */ #define EP_IntValue 0x0400 /* Integer value contained in u.iValue */ #define EP_xIsSelect 0x0800 /* x.pSelect is valid (otherwise x.pList is) */ - -#define EP_Reduced 0x1000 /* Expr struct is EXPR_REDUCEDSIZE bytes only */ -#define EP_TokenOnly 0x2000 /* Expr struct is EXPR_TOKENONLYSIZE bytes only */ -#define EP_Static 0x4000 /* Held in memory not obtained from malloc() */ +#define EP_Hint 0x1000 /* Optimizer hint. Not required for correctness */ +#define EP_Reduced 0x2000 /* Expr struct is EXPR_REDUCEDSIZE bytes only */ +#define EP_TokenOnly 0x4000 /* Expr struct is EXPR_TOKENONLYSIZE bytes only */ +#define EP_Static 0x8000 /* Held in memory not obtained from malloc() */ /* ** The following are the meanings of bits in the Expr.flags2 field. @@ -2653,7 +2653,7 @@ char *sqlite3MAppendf(sqlite3*,char*,const char*,...); #endif /* Output formatting for SQLITE_TESTCTRL_EXPLAIN */ -#if defined(SQLITE_DEBUG) +#if defined(SQLITE_ENABLE_TREE_EXPLAIN) void sqlite3ExplainBegin(Vdbe*); void sqlite3ExplainPrintf(Vdbe*, const char*, ...); void sqlite3ExplainNL(Vdbe*); diff --git a/src/vdbeInt.h b/src/vdbeInt.h index fb49898a1..a56dedf6a 100644 --- a/src/vdbeInt.h +++ b/src/vdbeInt.h @@ -337,6 +337,8 @@ struct Vdbe { void *pFree; /* Free this when deleting the vdbe */ #ifdef SQLITE_DEBUG FILE *trace; /* Write an execution trace here, if not NULL */ +#endif +#ifdef SQLITE_ENABLE_TREE_EXPLAIN Explain *pExplain; /* The explainer */ char *zExplain; /* Explanation of data structures */ #endif diff --git a/src/vdbeaux.c b/src/vdbeaux.c index 1c67902f1..747c846d0 100644 --- a/src/vdbeaux.c +++ b/src/vdbeaux.c @@ -2474,9 +2474,9 @@ void sqlite3VdbeDeleteObject(sqlite3 *db, Vdbe *p){ sqlite3DbFree(db, p->aColName); sqlite3DbFree(db, p->zSql); sqlite3DbFree(db, p->pFree); -#if defined(SQLITE_DEBUG) - sqlite3_free(p->zExplain); - sqlite3_free(p->pExplain); +#if defined(SQLITE_ENABLE_TREE_EXPLAIN) + sqlite3DbFree(db, p->zExplain); + sqlite3DbFree(db, p->pExplain); #endif sqlite3DbFree(db, p); } diff --git a/src/vdbetrace.c b/src/vdbetrace.c index bc05e5897..4c4be1373 100644 --- a/src/vdbetrace.c +++ b/src/vdbetrace.c @@ -13,7 +13,7 @@ ** This file contains code used to insert the values of host parameters ** (aka "wildcards") into the SQL text output by sqlite3_trace(). ** -** The Vdbe explainer is also found here. +** The Vdbe parse-tree explainer is also found here. */ #include "sqliteInt.h" #include "vdbeInt.h" @@ -160,7 +160,7 @@ char *sqlite3VdbeExpandSql( ** for the Vdbe. */ -#if defined(SQLITE_DEBUG) +#if defined(SQLITE_ENABLE_TREE_EXPLAIN) /* ** Allocate a new Explain object |