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

Remove one unreachable branch and add asserts() to dupedExprStructSize().

New asserts verify that removed branch is unused and that constants that are
ORed together in the output do not overlap.

FossilOrigin-Name: 86ad358b5a7567857f2f998fbb8266b7de9ec87e
This commit is contained in:
drh
2013-09-13 18:15:15 +00:00
parent a496fa7c02
commit aecd80215c
3 changed files with 11 additions and 8 deletions

View File

@@ -739,6 +739,8 @@ static int exprStructSize(Expr *p){
static int dupedExprStructSize(Expr *p, int flags){
int nSize;
assert( flags==EXPRDUP_REDUCE || flags==0 ); /* Only one flag value allowed */
assert( EXPR_FULLSIZE<=0xfff );
assert( (0xfff & (EP_Reduced|EP_TokenOnly))==0 );
if( 0==(flags&EXPRDUP_REDUCE) ){
nSize = EXPR_FULLSIZE;
}else{
@@ -746,9 +748,10 @@ static int dupedExprStructSize(Expr *p, int flags){
assert( !ExprHasProperty(p, EP_FromJoin) );
assert( !ExprHasProperty(p, EP_MemToken) );
assert( !ExprHasProperty(p, EP_NoReduce) );
if( p->pLeft || p->pRight || p->x.pList ){
if( p->pLeft || p->x.pList ){
nSize = EXPR_REDUCEDSIZE | EP_Reduced;
}else{
assert( p->pRight==0 );
nSize = EXPR_TOKENONLYSIZE | EP_TokenOnly;
}
}