-C Bug\sfix\sin\ssqlite3SelectDup().\s\sMake\ssure\sthe\spNext\spointer\sis\svalid.
-D 2011-12-07T01:47:27.299
+C More\scompact\snotation\sfor\sthe\sparse-tree\sview.
+D 2011-12-07T15:33:14.109
F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
F Makefile.in 5b4a3e12a850b021547e43daf886b25133b44c07
F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
F src/ctime.c a9c26822515f81ec21588cbb482ca6724be02e33
F src/date.c 067a81c9942c497aafd2c260e13add8a7d0c7dd4
F src/delete.c 51d32f0a9c880663e54ce309f52e40c325d5e112
-F src/expr.c 3d800a2280d1ea4eab33ab500af59ebb7b878e64
+F src/expr.c 59a530af612b95d4d29c066bf81f12def813d16d
F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
F src/fkey.c 657212460bf5cfd3ae607d12ea62092844c227b5
F src/func.c 6261ce00aad9c63cd5b4219249b05683979060e9
F src/random.c cd4a67b3953b88019f8cd4ccd81394a8ddfaba50
F src/resolve.c 365ab1c870e38596d6869e76fb544fe6e4ffc809
F src/rowset.c 69afa95a97c524ba6faf3805e717b5b7ae85a697
-F src/select.c 352ac58d6070f9a5564e9648bc2202b9d6339747
+F src/select.c 984ff4d2865fbf13a0ddeedbf892a93094f2b9dd
F src/shell.c a1eadb2fdbfa45e54307263f0c8da8ee8cd61b8b
F src/sqlite.h.in 1dc07194eb1a2c69c8ef75f88022b170be08024a
F src/sqlite3ext.h 6904f4aadf976f95241311fbffb00823075d9477
F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
F tool/warnings-clang.sh 9f406d66e750e8ac031c63a9ef3248aaa347ef2a
F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
-P 0aa7d3d2346bdddcc4e1e25ee26d13c8594885e5
-R 8f6a328e6230a075adb0590e80910ddf
+P 7e5b56b1c602d4adfd4496a9c877f3b685b2d360
+R 7004d54e96eda502d15d7553ec65e84c
U drh
-Z 657cde2c7390fad792d576ed9952c864
+Z 6c7ae5dd374ffa9280bde6b5186b14b5
-7e5b56b1c602d4adfd4496a9c877f3b685b2d360
\ No newline at end of file
+0eb3f8b1e3a196811fb54a5e2645debe6119610a
\ No newline at end of file
}
switch( op ){
case TK_AGG_COLUMN: {
- sqlite3ExplainPrintf(pOut, "AGG_COLUMN(%s:%d:%d)",
- pExpr->pTab->zName, pExpr->iTable, pExpr->iColumn);
+ sqlite3ExplainPrintf(pOut, "AGG{%d:%d}",
+ pExpr->iTable, pExpr->iColumn);
break;
}
case TK_COLUMN: {
/* This only happens when coding check constraints */
sqlite3ExplainPrintf(pOut, "COLUMN(%d)", pExpr->iColumn);
}else{
- sqlite3ExplainPrintf(pOut, "COLUMN(%s:%d:%d)",
- pExpr->pTab->zName, pExpr->iTable, pExpr->iColumn);
+ sqlite3ExplainPrintf(pOut, "{%d:%d}",
+ pExpr->iTable, pExpr->iColumn);
}
break;
}
case TK_INTEGER: {
if( pExpr->flags & EP_IntValue ){
- sqlite3ExplainPrintf(pOut, "INTEGER(%d)", pExpr->u.iValue);
+ sqlite3ExplainPrintf(pOut, "%d", pExpr->u.iValue);
}else{
- sqlite3ExplainPrintf(pOut, "INTEGER(%s)", pExpr->u.zToken);
+ sqlite3ExplainPrintf(pOut, "%s", pExpr->u.zToken);
}
break;
}
#ifndef SQLITE_OMIT_FLOATING_POINT
case TK_FLOAT: {
- sqlite3ExplainPrintf(pOut,"REAL(%s)", pExpr->u.zToken);
+ sqlite3ExplainPrintf(pOut,"%s", pExpr->u.zToken);
break;
}
#endif
case TK_STRING: {
- sqlite3ExplainPrintf(pOut,"STRING(%s)", pExpr->u.zToken);
+ sqlite3ExplainPrintf(pOut,"%Q", pExpr->u.zToken);
break;
}
case TK_NULL: {
}
#ifndef SQLITE_OMIT_BLOB_LITERAL
case TK_BLOB: {
- int n;
- const char *z;
- assert( !ExprHasProperty(pExpr, EP_IntValue) );
- assert( pExpr->u.zToken[0]=='x' || pExpr->u.zToken[0]=='X' );
- assert( pExpr->u.zToken[1]=='\'' );
- z = &pExpr->u.zToken[2];
- n = sqlite3Strlen30(z) - 1;
- assert( z[n]=='\'' );
- sqlite3ExplainPrintf(pOut,"BLOB(%.*s)", n, z);
+ sqlite3ExplainPrintf(pOut,"%s", pExpr->u.zToken);
break;
}
#endif
sqlite3ExplainPush(pVdbe);
for(i=0; i<p->pSrc->nSrc; i++){
struct SrcList_item *pItem = &p->pSrc->a[i];
- sqlite3ExplainPrintf(pVdbe, "src[%d] = ", i);
+ sqlite3ExplainPrintf(pVdbe, "{%d,*} = ", pItem->iCursor);
if( pItem->pSelect ){
sqlite3ExplainSelect(pVdbe, pItem->pSelect);
+ if( pItem->pTab ){
+ sqlite3ExplainPrintf(pVdbe, " (tabname=%s)", pItem->pTab->zName);
+ }
}else if( pItem->zName ){
sqlite3ExplainPrintf(pVdbe, "%s", pItem->zName);
}
- if( pItem->pTab ){
- sqlite3ExplainPrintf(pVdbe, " (name=%s:%d)",
- pItem->pTab->zName, pItem->iCursor);
+ if( pItem->zAlias ){
+ sqlite3ExplainPrintf(pVdbe, " (AS %s)", pItem->zAlias);
}
if( pItem->jointype & JT_LEFT ){
sqlite3ExplainPrintf(pVdbe, " LEFT-JOIN");
}
- if( pItem->zAlias ){
- sqlite3ExplainPrintf(pVdbe, " (AS %s)", pItem->zAlias);
- }
sqlite3ExplainNL(pVdbe);
}
sqlite3ExplainPop(pVdbe);