SQLite
Check-in [b3f5366811]
Not logged in
Overview
SHA1 Hash:b3f53668115f0a12a01167c2a75eecc735416024
Date: 2012-12-08 14:16:47
User: drh
Comment:Make sure WHERE clause constraints A=B and B=A work the same even with COLLATE clauses.
Tags And Properties
Changes
hide diffs unified diffs patch

Changes to src/where.c

1240 pTerm->nChild = 1; 1240 pTerm->nChild = 1; 1241 pTerm->wtFlags |= TERM_COPIED; 1241 pTerm->wtFlags |= TERM_COPIED; 1242 }else{ 1242 }else{ 1243 pDup = pExpr; 1243 pDup = pExpr; 1244 pNew = pTerm; 1244 pNew = pTerm; 1245 } 1245 } 1246 exprCommute(pParse, pDup); 1246 exprCommute(pParse, pDup); 1247 pLeft = pDup->pLeft; | 1247 pLeft = sqlite3ExprSkipCollate(pDup->pLeft); 1248 pNew->leftCursor = pLeft->iTable; 1248 pNew->leftCursor = pLeft->iTable; 1249 pNew->u.leftColumn = pLeft->iColumn; 1249 pNew->u.leftColumn = pLeft->iColumn; 1250 testcase( (prereqLeft | extraRight) != prereqLeft ); 1250 testcase( (prereqLeft | extraRight) != prereqLeft ); 1251 pNew->prereqRight = prereqLeft | extraRight; 1251 pNew->prereqRight = prereqLeft | extraRight; 1252 pNew->prereqAll = prereqAll; 1252 pNew->prereqAll = prereqAll; 1253 pNew->eOperator = operatorMask(pDup->op); 1253 pNew->eOperator = operatorMask(pDup->op); 1254 } 1254 }