Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Comment improvements. No changes to code. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | tkt9b78184b-alt |
Files: | files | file ages | folders |
SHA3-256: |
b0629132bc346f7a9025c0edf52114fc |
User & Date: | drh 2019-07-08 12:44:47.815 |
Context
2019-07-08
| ||
12:44 | Comment improvements. No changes to code. (Leaf check-in: b0629132bc user: drh tags: tkt9b78184b-alt) | |
2019-07-02
| ||
20:10 | Have ALTER TABLE detect and error out for the case where renaming a column changes a the interpretation of a double-quoted identifier in the database schema from an SQL literal to a column reference. (check-in: 5dbb0734af user: dan tags: tkt9b78184b-alt) | |
Changes
Changes to src/alter.c.
︙ | ︙ | |||
1267 1268 1269 1270 1271 1272 1273 | renameTokenFree(db, pParse->pRename); sqlite3ParserReset(pParse); } /* ** SQL function: ** | | > > | > > | 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 | renameTokenFree(db, pParse->pRename); sqlite3ParserReset(pParse); } /* ** SQL function: ** ** sqlite_rename_column(...) ** ** The function requires exactly 10 arguments: ** ** 0. zSql: SQL statement to rewrite ** 1. type: Type of object ("table", "view" etc.) ** 2. object: Name of object ** 3. Database: Database name (e.g. "main") ** 4. Table: Table name ** 5. iCol: Index of column to rename ** 6. zNew: New column name ** 7. bQuote: Non-zero if the new column name should be quoted. ** 8. bTemp: True if zSql comes from temp schema ** 9. iReg: Register to increment for each rewritten column ref. Or, ** if this parameter is negative, -1 times the id of a register ** to decrement for each rewritten column ref. ** ** Do a column rename operation on the CREATE statement given in zSql. ** The iCol-th column (left-most is 0) of table zTable is renamed from zCol ** into zNew. The name should be quoted if bQuote is true. ** ** This function is used internally by the ALTER TABLE RENAME COLUMN command. ** It is only accessible to SQL created using sqlite3NestedParse(). It is ** not reachable from ordinary SQL passed into sqlite3_prepare(). Except, ** this function is reachable for testing purposes if the ** SQLITE_TESTCTRL_INTERNAL_FUNCTIONS test-control is engaged. */ static void renameColumnFunc( sqlite3_context *context, int NotUsed, sqlite3_value **argv ){ sqlite3 *db = sqlite3_context_db_handle(context); |
︙ | ︙ |
Changes to src/resolve.c.
︙ | ︙ | |||
814 815 816 817 818 819 820 | NC_IdxExpr|NC_PartIdx); } if( (pDef->funcFlags & SQLITE_FUNC_INTERNAL)!=0 && pParse->nested==0 && sqlite3Config.bInternalFunctions==0 ){ /* Internal-use-only functions are disallowed unless the | | > > | 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 | NC_IdxExpr|NC_PartIdx); } if( (pDef->funcFlags & SQLITE_FUNC_INTERNAL)!=0 && pParse->nested==0 && sqlite3Config.bInternalFunctions==0 ){ /* Internal-use-only functions are disallowed unless the ** SQL is being compiled using sqlite3NestedParse(). The ** SQLITE_TESTCTRL_INTERNAL_FUNCTIONS test-control will override ** this restriction for testing purposes. */ no_such_func = 1; pDef = 0; } } if( 0==IN_RENAME_OBJECT ){ #ifndef SQLITE_OMIT_WINDOWFUNC |
︙ | ︙ |