1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-12 13:01:09 +03:00

Code simplifications. New test cases.

FossilOrigin-Name: 57508518ef9d003d259ba98dcc32e5104aca26731a7161808741fe10bc0830d0
This commit is contained in:
drh
2018-02-26 21:26:27 +00:00
parent 171d16bb21
commit 43c4ac8bfe
8 changed files with 84 additions and 44 deletions

View File

@@ -293,7 +293,8 @@ void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 moreToFollow){
break;
}
case TK_TRUEFALSE: {
sqlite3TreeViewLine(pView, pExpr->iTable ? "TRUE":"FALSE");
sqlite3TreeViewLine(pView,
sqlite3ExprTruthOperand(pExpr) ? "TRUE" : "FALSE");
break;
}
#ifndef SQLITE_OMIT_BLOB_LITERAL
@@ -353,16 +354,15 @@ void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 moreToFollow){
case TK_NOTNULL: zUniOp = "NOTNULL"; break;
case TK_TRUTH: {
int x;
const char *azOp[] = {
"IS-FALSE", "IS-TRUE", "IS-NOT-FALSE", "IS-NOT-TRUE"
};
assert( pExpr->op2==TK_IS || pExpr->op2==TK_ISNOT );
assert( pExpr->pRight );
assert( pExpr->pRight->op==TK_TRUEFALSE );
assert( pExpr->pRight->iTable==0 || pExpr->pRight->iTable==1 );
switch( (pExpr->op2==TK_ISNOT)*2 + pExpr->pRight->iTable ){
case 0: zUniOp = "IS-FALSE"; break;
case 1: zUniOp = "IS-TRUE"; break;
case 2: zUniOp = "IS-NOT-FALSE"; break;
case 3: zUniOp = "IS-NOT-TRUE"; break;
}
x = (pExpr->op2==TK_ISNOT)*2 + sqlite3ExprTruthOperand(pExpr->pRight);
zUniOp = azOp[x];
break;
}