aboutsummaryrefslogtreecommitdiff
path: root/src/resolve.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/resolve.c')
-rw-r--r--src/resolve.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/resolve.c b/src/resolve.c
index d5e639abc..9677f9de9 100644
--- a/src/resolve.c
+++ b/src/resolve.c
@@ -211,20 +211,19 @@ static SQLITE_NOINLINE int isValidSchemaTableName(
Schema *pSchema /* non-NULL if a database qualifier is present */
){
const char *zLegacy;
- const char *zPreferred;
assert( pTab!=0 );
assert( pTab->tnum==1 );
if( sqlite3StrNICmp(zTab, "sqlite_", 7)!=0 ) return 0;
zLegacy = pTab->zName;
- zPreferred = sqlite3PreferredTableName(zLegacy);
- if( sqlite3StrICmp(zTab, zPreferred)==0 ) return 1;
- if( pSchema && strcmp(zLegacy+7, &LEGACY_TEMP_SCHEMA_TABLE[7])==0){
- if( sqlite3StrICmp(zTab+7, &PREFERRED_TEMP_SCHEMA_TABLE[7])==0
- || sqlite3StrICmp(zTab+7, &PREFERRED_SCHEMA_TABLE[7])==0
- || sqlite3StrICmp(zTab+7, &LEGACY_SCHEMA_TABLE[7])==0
- ){
+ if( strcmp(zLegacy+7, &LEGACY_TEMP_SCHEMA_TABLE[7])==0 ){
+ if( sqlite3StrICmp(zTab+7, &PREFERRED_TEMP_SCHEMA_TABLE[7])==0 ){
return 1;
}
+ if( pSchema==0 ) return 0;
+ if( sqlite3StrICmp(zTab+7, &LEGACY_SCHEMA_TABLE[7])==0 ) return 1;
+ if( sqlite3StrICmp(zTab+7, &PREFERRED_SCHEMA_TABLE[7])==0 ) return 1;
+ }else{
+ if( sqlite3StrICmp(zTab+7, &PREFERRED_SCHEMA_TABLE[7])==0 ) return 1;
}
return 0;
}