diff options
author | drh <drh@noemail.net> | 2019-10-19 15:01:52 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2019-10-19 15:01:52 +0000 |
commit | c5f808d85ef130717aee1bc7e7ffcd934c84ab66 (patch) | |
tree | e420bd08cfe2d9b34ecf4defd751363792da041c /src/expr.c | |
parent | b9bcf7ca600ab8a94018adc2eac4115441a09d89 (diff) | |
download | sqlite-c5f808d85ef130717aee1bc7e7ffcd934c84ab66.tar.gz sqlite-c5f808d85ef130717aee1bc7e7ffcd934c84ab66.zip |
Add testcase macros.
FossilOrigin-Name: fb9c9bb284d441bd7aa34c87b6fd8ce57d036c17623d82354154fc6286bdd134
Diffstat (limited to 'src/expr.c')
-rw-r--r-- | src/expr.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/expr.c b/src/expr.c index c57a0000d..01e99428f 100644 --- a/src/expr.c +++ b/src/expr.c @@ -3410,10 +3410,12 @@ void sqlite3ExprCodeGetColumnOfTable( return; #endif }else if( !HasRowid(pTab) ){ + testcase( iCol!=sqlite3TableColumnToStorage(pTab, iCol) ); x = sqlite3TableColumnToIndex(sqlite3PrimaryKeyIndex(pTab), iCol); op = OP_Column; }else{ x = sqlite3TableColumnToStorage(pTab,iCol); + testcase( x!=iCol ); op = OP_Column; } sqlite3VdbeAddOp3(v, op, iTabCur, x, regOut); @@ -3584,15 +3586,16 @@ expr_code_doover: Column *pCol; Table *pTab = pExpr->y.pTab; int iSrc; + int iCol = pExpr->iColumn; assert( pTab!=0 ); - assert( pExpr->iColumn>=XN_ROWID ); - assert( pExpr->iColumn<pExpr->y.pTab->nCol ); - if( pExpr->iColumn<0 ){ + assert( iCol>=XN_ROWID ); + assert( iCol<pExpr->y.pTab->nCol ); + if( iCol<0 ){ return -1-pParse->iSelfTab; } - pCol = pTab->aCol + pExpr->iColumn; - iSrc = sqlite3TableColumnToStorage(pTab, pExpr->iColumn) - - pParse->iSelfTab; + pCol = pTab->aCol + iCol; + testcase( iCol!=sqlite3TableColumnToStorage(pTab,iCol) ); + iSrc = sqlite3TableColumnToStorage(pTab, iCol) - pParse->iSelfTab; #ifndef SQLITE_OMIT_GENERATED_COLUMNS if( pCol->colFlags & COLFLAG_GENERATED ){ if( pCol->colFlags & COLFLAG_BUSY ){ |