1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-09-09 21:09:38 +03:00

Add SQLITE_DBCONFIG options LEGACY_ALTER_TABLE, NO_DQS_SCHEMA, and NO_DQS.

FossilOrigin-Name: 1fad20925efa70d0c242e9cba8fa55456fb07a81229c1068da84c6e27d0c0be8
This commit is contained in:
drh
2019-06-14 21:25:25 +00:00
parent c164cc992f
commit 0a6873bfd6
8 changed files with 84 additions and 33 deletions

View File

@@ -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;