diff options
author | drh <drh@noemail.net> | 2019-06-14 21:25:25 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2019-06-14 21:25:25 +0000 |
commit | 0a6873bfd65233d242fd17ec818ac57593f25540 (patch) | |
tree | a4eed1c72e09488836989455289d059437a4d658 /src/resolve.c | |
parent | c164cc992f48ff70b569ca3acd143cbb41f7c03c (diff) | |
download | sqlite-0a6873bfd65233d242fd17ec818ac57593f25540.tar.gz sqlite-0a6873bfd65233d242fd17ec818ac57593f25540.zip |
Add SQLITE_DBCONFIG options LEGACY_ALTER_TABLE, NO_DQS_SCHEMA, and NO_DQS.
FossilOrigin-Name: 1fad20925efa70d0c242e9cba8fa55456fb07a81229c1068da84c6e27d0c0be8
Diffstat (limited to 'src/resolve.c')
-rw-r--r-- | src/resolve.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/resolve.c b/src/resolve.c index 658792354..ddb1bcfcb 100644 --- a/src/resolve.c +++ b/src/resolve.c @@ -477,7 +477,8 @@ static int lookupName( if( cnt==0 && zTab==0 ){ assert( pExpr->op==TK_ID ); if( ExprHasProperty(pExpr,EP_DblQuoted) - && 0==(pTopNC->ncFlags&NC_NoDblQStr) + && 0==(pTopNC->ncFlags&NC_NoDblQStr) + && 0==(db->flags & SQLITE_NoDQS) ){ /* If a double-quoted identifier does not match any known column name, ** then treat it as a string. @@ -1771,7 +1772,12 @@ int sqlite3ResolveSelfReference( sNC.pParse = pParse; sNC.pSrcList = &sSrc; sNC.ncFlags = type; - if( !pParse->db->init.busy && !sqlite3WritableSchema(pParse->db) ){ + if( (pParse->db->flags & SQLITE_NoDQS)!=0 + || (!pParse->db->init.busy + && !sqlite3WritableSchema(pParse->db) + && (pParse->db->flags & SQLITE_NoDQSSchema)!=0 + ) + ){ sNC.ncFlags |= NC_NoDblQStr; } if( (rc = sqlite3ResolveExprNames(&sNC, pExpr))!=SQLITE_OK ) return rc; |