Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Remove unnecessary parser error count increments. Let the sqlite3ErrorMsg() take care of doing that. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
3f3b0f683af2fbee83811536f6bef770 |
User & Date: | drh 2015-04-17 18:22:53.635 |
Context
2015-04-17
| ||
18:52 | Always resolve symbols in all ORDER BY clauses of a compound-SELECT, even illegal ORDER BY clauses. (check-in: 6c39ef73d5 user: drh tags: trunk) | |
18:22 | Remove unnecessary parser error count increments. Let the sqlite3ErrorMsg() take care of doing that. (check-in: 3f3b0f683a user: drh tags: trunk) | |
16:12 | Remove an ALWAYS() that turns out to be false when there is a semantic error on a compound SELECT. (check-in: ad67a67c03 user: drh tags: trunk) | |
Changes
Changes to src/attach.c.
︙ | ︙ | |||
328 329 330 331 332 333 334 | sName.pParse = pParse; if( SQLITE_OK!=(rc = resolveAttachExpr(&sName, pFilename)) || SQLITE_OK!=(rc = resolveAttachExpr(&sName, pDbname)) || SQLITE_OK!=(rc = resolveAttachExpr(&sName, pKey)) ){ | < | 328 329 330 331 332 333 334 335 336 337 338 339 340 341 | sName.pParse = pParse; if( SQLITE_OK!=(rc = resolveAttachExpr(&sName, pFilename)) || SQLITE_OK!=(rc = resolveAttachExpr(&sName, pDbname)) || SQLITE_OK!=(rc = resolveAttachExpr(&sName, pKey)) ){ goto attach_end; } #ifndef SQLITE_OMIT_AUTHORIZATION if( pAuthArg ){ char *zAuthArg; if( pAuthArg->op==TK_STRING ){ |
︙ | ︙ |
Changes to src/build.c.
︙ | ︙ | |||
759 760 761 762 763 764 765 | ){ int iDb; /* Database holding the object */ sqlite3 *db = pParse->db; if( ALWAYS(pName2!=0) && pName2->n>0 ){ if( db->init.busy ) { sqlite3ErrorMsg(pParse, "corrupt database"); | < < | 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 | ){ int iDb; /* Database holding the object */ sqlite3 *db = pParse->db; if( ALWAYS(pName2!=0) && pName2->n>0 ){ if( db->init.busy ) { sqlite3ErrorMsg(pParse, "corrupt database"); return -1; } *pUnqual = pName2; iDb = sqlite3FindDb(db, pName1); if( iDb<0 ){ sqlite3ErrorMsg(pParse, "unknown database %T", pName1); return -1; } }else{ assert( db->init.iDb==0 || db->init.busy ); iDb = db->init.iDb; *pUnqual = pName1; } |
︙ | ︙ |
Changes to src/trigger.c.
︙ | ︙ | |||
189 190 191 192 193 194 195 | } goto trigger_cleanup; } /* Do not create a trigger on a system table */ if( sqlite3StrNICmp(pTab->zName, "sqlite_", 7)==0 ){ sqlite3ErrorMsg(pParse, "cannot create trigger on system table"); | < | 189 190 191 192 193 194 195 196 197 198 199 200 201 202 | } goto trigger_cleanup; } /* Do not create a trigger on a system table */ if( sqlite3StrNICmp(pTab->zName, "sqlite_", 7)==0 ){ sqlite3ErrorMsg(pParse, "cannot create trigger on system table"); goto trigger_cleanup; } /* INSTEAD of triggers are only for views and views only support INSTEAD ** of triggers. */ if( pTab->pSelect && tr_tm!=TK_INSTEAD ){ |
︙ | ︙ |
Changes to test/table.test.
︙ | ︙ | |||
267 268 269 270 271 272 273 274 275 276 277 278 279 280 | DROP TABLE IF EXISTS sqlite_stat1; DROP TABLE IF EXISTS sqlite_stat2; DROP TABLE IF EXISTS sqlite_stat3; DROP TABLE IF EXISTS sqlite_stat4; SELECT name FROM sqlite_master WHERE name GLOB 'sqlite_stat*'; } } {} # Make sure an EXPLAIN does not really create a new table # do_test table-5.3 { ifcapable {explain} { execsql {EXPLAIN CREATE TABLE test1(f1 int)} } | > > > > > > > > > > > > > > > > > > > | 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 | DROP TABLE IF EXISTS sqlite_stat1; DROP TABLE IF EXISTS sqlite_stat2; DROP TABLE IF EXISTS sqlite_stat3; DROP TABLE IF EXISTS sqlite_stat4; SELECT name FROM sqlite_master WHERE name GLOB 'sqlite_stat*'; } } {} do_test table-5.2.2 { db close forcedelete test.db sqlite3 db test.db db eval { CREATE TABLE t0(a,b); CREATE INDEX t ON t0(a); PRAGMA writable_schema=ON; UPDATE sqlite_master SET sql='CREATE TABLE a.b(a UNIQUE'; BEGIN; CREATE TABLE t1(x); ROLLBACK; DROP TABLE IF EXISTS t99; } } {} db close forcedelete test.db sqlite3 db test.db # Make sure an EXPLAIN does not really create a new table # do_test table-5.3 { ifcapable {explain} { execsql {EXPLAIN CREATE TABLE test1(f1 int)} } |
︙ | ︙ |