1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-08 14:02:16 +03:00

Experimental implementation of IS TRUE and IS FALSE operators. All TRUE and

FALSE to act like constants if the names do not resolve to a column name.

FossilOrigin-Name: 40314bc999af08ab10e654241208842b4bb95b19858d11249444372250ea4160
This commit is contained in:
drh
2018-02-26 03:20:18 +00:00
parent 5facffbc70
commit 007c843b0f
6 changed files with 76 additions and 19 deletions

View File

@@ -2211,10 +2211,10 @@ case OP_Or: { /* same as TK_OR, in1, in2, out3 */
case OP_Not: { /* same as TK_NOT, in1, out2 */
pIn1 = &aMem[pOp->p1];
pOut = &aMem[pOp->p2];
sqlite3VdbeMemSetNull(pOut);
if( (pIn1->flags & MEM_Null)==0 ){
pOut->flags = MEM_Int;
pOut->u.i = !sqlite3VdbeIntValue(pIn1);
sqlite3VdbeMemSetInt64(pOut, !sqlite3VdbeIntValue(pIn1));
}else{
sqlite3VdbeMemSetNull(pOut);
}
break;
}