Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Remove a conditional made unreachable by the previous ExprList enhancement. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
a1cf44763277b6c745b5b5509ca9129b |
User & Date: | drh 2017-04-05 11:49:06.526 |
References
2017-05-06
| ||
18:09 | Fix an obscure assertion fault that can follow an OOM. The problem was introduced by check-in [a1cf44763277b6c7]. (check-in: 04e7e5650e user: drh tags: trunk) | |
Context
2017-04-05
| ||
11:57 | Save a few bytes and a few CPU cycles in sqlite3ExprListDelete() routine. (check-in: 9e6c939144 user: drh tags: trunk) | |
11:49 | Remove a conditional made unreachable by the previous ExprList enhancement. (check-in: a1cf447632 user: drh tags: trunk) | |
11:32 | Combine the ExprList_item objects and the ExprList wrapper into a single memory allocation, for improved performance and reduced footprint. (check-in: 2b6560ad88 user: drh tags: trunk) | |
Changes
Changes to src/expr.c.
︙ | ︙ | |||
1546 1547 1548 1549 1550 1551 1552 | if( pList ){ assert( pList->nExpr==iFirst+i+1 ); pList->a[pList->nExpr-1].zName = pColumns->a[i].zName; pColumns->a[i].zName = 0; } } | | < | > | | | | | | | | < | 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 | if( pList ){ assert( pList->nExpr==iFirst+i+1 ); pList->a[pList->nExpr-1].zName = pColumns->a[i].zName; pColumns->a[i].zName = 0; } } if( pExpr->op==TK_SELECT && pList ){ Expr *pFirst = pList->a[iFirst].pExpr; assert( pFirst!=0 ); assert( pFirst->op==TK_SELECT_COLUMN ); /* Store the SELECT statement in pRight so it will be deleted when ** sqlite3ExprListDelete() is called */ pFirst->pRight = pExpr; pExpr = 0; /* Remember the size of the LHS in iTable so that we can check that ** the RHS and LHS sizes match during code generation. */ pFirst->iTable = pColumns->nId; } vector_append_error: sqlite3ExprDelete(db, pExpr); sqlite3IdListDelete(db, pColumns); return pList; } |
︙ | ︙ |