diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/shell.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/shell.c b/src/shell.c index d3ddfa953..9ea5ced28 100644 --- a/src/shell.c +++ b/src/shell.c @@ -1287,7 +1287,6 @@ static int dump_callback(void *pArg, int nArg, char **azArg, char **azCol){ char *zTableInfo = 0; char *zTmp = 0; int nRow = 0; - int kk; zTableInfo = appendText(zTableInfo, "PRAGMA table_info(", 0); zTableInfo = appendText(zTableInfo, zTable, '"'); @@ -1300,12 +1299,9 @@ static int dump_callback(void *pArg, int nArg, char **azArg, char **azCol){ } zSelect = appendText(zSelect, "SELECT 'INSERT INTO ' || ", 0); - if( !isalpha(zTable[0]) ){ - kk = 0; - }else{ - for(kk=1; isalnum(zTable[kk]); kk++){} - } - zTmp = appendText(zTmp, zTable, zTable[kk] ? '"' : 0); + /* Always quote the table name, even if it appears to be pure ascii, + ** in case it is a keyword. Ex: INSERT INTO "table" ... */ + zTmp = appendText(zTmp, zTable, '"'); if( zTmp ){ zSelect = appendText(zSelect, zTmp, '\''); } |