diff options
author | drh <drh@noemail.net> | 2019-11-06 22:19:07 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2019-11-06 22:19:07 +0000 |
commit | dfa15270c4108fedd817a99751fc73d43d7fb29d (patch) | |
tree | 4af010f447a0616bdb822a84834455516cd9f956 /src/expr.c | |
parent | bde3a4f680b7c99ae918aa0477e81541ebdafbe5 (diff) | |
download | sqlite-dfa15270c4108fedd817a99751fc73d43d7fb29d.tar.gz sqlite-dfa15270c4108fedd817a99751fc73d43d7fb29d.zip |
Change the way generated columns are computed so that no column is computed
inside branch code that might not be taken. Ticket [4fc08501f4e56692]
FossilOrigin-Name: 9e07b48934e9a972dcf62e3538b3b21ffa044c553feba0441675ac0bbe13bcb2
Diffstat (limited to 'src/expr.c')
-rw-r--r-- | src/expr.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/src/expr.c b/src/expr.c index 093736f39..330e057a0 100644 --- a/src/expr.c +++ b/src/expr.c @@ -3645,16 +3645,7 @@ expr_code_doover: iSrc = sqlite3TableColumnToStorage(pTab, iCol) - pParse->iSelfTab; #ifndef SQLITE_OMIT_GENERATED_COLUMNS if( pCol->colFlags & COLFLAG_GENERATED ){ - if( pCol->colFlags & COLFLAG_BUSY ){ - sqlite3ErrorMsg(pParse, "generated column loop on \"%s\"", - pCol->zName); - return 0; - } - pCol->colFlags |= COLFLAG_BUSY; - if( pCol->colFlags & COLFLAG_NOTAVAIL ){ - sqlite3ExprCodeGeneratedColumn(pParse, pCol, iSrc); - } - pCol->colFlags &= ~(COLFLAG_BUSY|COLFLAG_NOTAVAIL); + sqlite3ExprCodeGeneratedColumn(pParse, pCol, iSrc); return iSrc; }else #endif /* SQLITE_OMIT_GENERATED_COLUMNS */ |