aboutsummaryrefslogtreecommitdiff
path: root/src/resolve.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2019-06-14 21:25:25 +0000
committerdrh <drh@noemail.net>2019-06-14 21:25:25 +0000
commit0a6873bfd65233d242fd17ec818ac57593f25540 (patch)
treea4eed1c72e09488836989455289d059437a4d658 /src/resolve.c
parentc164cc992f48ff70b569ca3acd143cbb41f7c03c (diff)
downloadsqlite-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.c10
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;