Lines Matching defs:pParse

40 void sqliteBeginParse(Parse *pParse, int explainFlag){
41 sqlite *db = pParse->db;
43 pParse->explain = explainFlag;
45 int rc = sqliteInit(db, &pParse->zErrMsg);
47 pParse->rc = rc;
48 pParse->nErr++;
57 pParse->nVar = 0;
70 void sqliteExec(Parse *pParse){
71 sqlite *db = pParse->db;
72 Vdbe *v = pParse->pVdbe;
74 if( v==0 && (v = sqliteGetVdbe(pParse))!=0 ){
78 if( v && pParse->nErr==0 ){
81 sqliteVdbeMakeReady(v, pParse->nVar, pParse->explain);
82 pParse->rc = pParse->nErr ? SQLITE_ERROR : SQLITE_DONE;
83 pParse->colNamesSet = 0;
84 }else if( pParse->rc==SQLITE_OK ){
85 pParse->rc = SQLITE_ERROR;
87 pParse->nTab = 0;
88 pParse->nMem = 0;
89 pParse->nSet = 0;
90 pParse->nAgg = 0;
91 pParse->nVar = 0;
125 ** Also leave an error message in pParse->zErrMsg.
128 ** is that this routine leaves an error message in pParse->zErrMsg
131 Table *sqliteLocateTable(Parse *pParse, const char *zName, const char *zDbase){
134 p = sqliteFindTable(pParse->db, zName, zDbase);
137 sqliteErrorMsg(pParse, "no such table: %s.%s", zDbase, zName);
138 }else if( sqliteFindTable(pParse->db, zName, 0)!=0 ){
139 sqliteErrorMsg(pParse, "table \"%s\" is not in database \"%s\"",
142 sqliteErrorMsg(pParse, "no such table: %s", zName);
420 ** The new table record is initialized and put in pParse->pNewTable.
427 Parse *pParse, /* Parser context */
436 sqlite *db = pParse->db;
440 pParse->sFirstToken = *pStart;
449 if( sqliteAuthCheck(pParse, SQLITE_INSERT, SCHEMA_TABLE(isTemp), 0, zDb) ){
466 if( sqliteAuthCheck(pParse, code, zName, 0, zDb) ){
477 if( isTemp && db->aDb[1].pBt==0 && !pParse->explain ){
480 sqliteErrorMsg(pParse, "unable to open a temporary database "
482 pParse->nErr++;
488 sqliteErrorMsg(pParse, "unable to get a write lock on "
505 sqliteErrorMsg(pParse, "table %T already exists", pName);
511 sqliteErrorMsg(pParse, "there is already an index named %s", zName);
526 if( pParse->pNewTable ) sqliteDeleteTable(db, pParse->pNewTable);
527 pParse->pNewTable = pTable;
537 if( !db->init.busy && (v = sqliteGetVdbe(pParse))!=0 ){
538 sqliteBeginWriteOperation(pParse, 0, isTemp);
559 void sqliteAddColumn(Parse *pParse, Token *pName){
564 if( (p = pParse->pNewTable)==0 ) return;
570 sqliteErrorMsg(pParse, "duplicate column name: %s", z);
594 void sqliteAddNotNull(Parse *pParse, int onError){
597 if( (p = pParse->pNewTable)==0 ) return;
611 void sqliteAddColumnType(Parse *pParse, Token *pFirst, Token *pLast){
617 if( (p = pParse->pNewTable)==0 ) return;
632 if( pParse->db->file_format>=4 ){
647 void sqliteAddDefaultValue(Parse *pParse, Token *pVal, int minusFlag){
651 if( (p = pParse->pNewTable)==0 ) return;
683 void sqliteAddPrimaryKey(Parse *pParse, IdList *pList, int onError){
684 Table *pTab = pParse->pNewTable;
689 sqliteErrorMsg(pParse,
709 if( pParse->db->file_format>=1 &&
714 sqliteCreateIndex(pParse, 0, 0, pList, onError, 0, 0);
754 void sqliteAddCollateType(Parse *pParse, int collType){
757 if( (p = pParse->pNewTable)==0 ) return;
886 void sqliteEndTable(Parse *pParse, Token *pEnd, Select *pSelect){
888 sqlite *db = pParse->db;
890 if( (pEnd==0 && pSelect==0) || pParse->nErr || sqlite_malloc_failed ) return;
891 p = pParse->pNewTable;
898 Table *pSelTab = sqliteResultSetOfSelect(pParse, 0, pSelect);
929 v = sqliteGetVdbe(pParse);
952 n = Addr(pEnd->z) - Addr(pParse->sFirstToken.z) + 1;
953 sqliteVdbeChangeP3(v, -1, pParse->sFirstToken.z, n);
964 pParse->nTab = 2;
965 sqliteSelect(pParse, pSelect, SRT_Table, 1, 0, 0, 0);
967 sqliteEndWriteOperation(pParse);
972 if( pParse->explain==0 && pParse->nErr==0 ){
986 pParse->pNewTable = 0;
996 Parse *pParse, /* The parsing context */
1008 sqliteStartTable(pParse, pBegin, pName, isTemp, 1);
1009 p = pParse->pNewTable;
1010 if( p==0 || pParse->nErr ){
1014 if( sqliteFixInit(&sFix, pParse, p->iDb, "view", pName)
1028 if( !pParse->db->init.busy ){
1029 sqliteViewGetColumnNames(pParse, p);
1035 sEnd = pParse->sLastToken;
1047 sqliteEndTable(pParse, &sEnd, 0);
1054 ** of errors. If an error is seen leave an error message in pParse->zErrMsg.
1056 int sqliteViewGetColumnNames(Parse *pParse, Table *pTable){
1080 sqliteErrorMsg(pParse, "view %s is circularly defined", pTable->zName);
1101 pSelTab = sqliteResultSetOfSelect(pParse, 0, pSel);
1109 DbSetProperty(pParse->db, pTable->iDb, DB_UnresetViews);
1161 Table *sqliteTableFromToken(Parse *pParse, Token *pTok){
1166 pTab = sqliteFindTable(pParse->db, zName, 0);
1169 sqliteErrorMsg(pParse, "no such table: %T", pTok);
1178 void sqliteDropTable(Parse *pParse, Token *pName, int isView){
1182 sqlite *db = pParse->db;
1185 if( pParse->nErr || sqlite_malloc_failed ) return;
1186 pTable = sqliteTableFromToken(pParse, pName);
1195 if( sqliteAuthCheck(pParse, SQLITE_DELETE, zTab, 0, zDb)){
1211 if( sqliteAuthCheck(pParse, code, pTable->zName, 0, zDb) ){
1214 if( sqliteAuthCheck(pParse, SQLITE_DELETE, pTable->zName, 0, zDb) ){
1220 sqliteErrorMsg(pParse, "table %s may not be dropped", pTable->zName);
1221 pParse->nErr++;
1225 sqliteErrorMsg(pParse, "use DROP TABLE to delete table %s", pTable->zName);
1229 sqliteErrorMsg(pParse, "use DROP VIEW to delete view %s", pTable->zName);
1236 v = sqliteGetVdbe(pParse);
1250 sqliteBeginWriteOperation(pParse, 0, pTable->iDb);
1256 sqliteDropTriggerPtr(pParse, pTrigger, 1);
1257 if( pParse->explain ){
1286 sqliteEndWriteOperation(pParse);
1294 if( !pParse->explain ){
1345 ** under construction in the pParse->pNewTable field. The new FKey
1353 Parse *pParse, /* Parsing context */
1359 Table *p = pParse->pNewTable;
1367 if( p==0 || pParse->nErr ) goto fk_end;
1372 sqliteErrorMsg(pParse, "foreign key on %s"
1379 sqliteErrorMsg(pParse,
1417 sqliteErrorMsg(pParse,
1456 void sqliteDeferForeignKey(Parse *pParse, int isDeferred){
1459 if( (pTab = pParse->pNewTable)==0 || (pFKey = pTab->pFKey)==0 ) return;
1467 ** UNIQUE constraint. If pTable and pIndex are NULL, use pParse->pNewTable
1468 ** as the table to be indexed. pParse->pNewTable is a table that is
1476 Parse *pParse, /* All information about this parse */
1478 SrcList *pTable, /* Name of the table to index. Use pParse->pNewTable if 0 */
1491 sqlite *db = pParse->db;
1493 if( pParse->nErr || sqlite_malloc_failed ) goto exit_create_index;
1495 && sqliteFixInit(&sFix, pParse, db->init.iDb, "index", pName)
1507 pTab = sqliteSrcListLookup(pParse, pTable);
1510 pTab = pParse->pNewTable;
1512 if( pTab==0 || pParse->nErr ) goto exit_create_index;
1514 sqliteErrorMsg(pParse, "table %s may not be indexed", pTab->zName);
1518 sqliteErrorMsg(pParse, "table %s may not have indices added", pTab->zName);
1522 sqliteErrorMsg(pParse, "views may not be indexed");
1546 sqliteErrorMsg(pParse, "index %s already exists", zName);
1550 sqliteErrorMsg(pParse, "there is already a table named %s", zName);
1573 if( sqliteAuthCheck(pParse, SQLITE_INSERT, SCHEMA_TABLE(isTemp), 0, zDb) ){
1578 if( sqliteAuthCheck(pParse, i, zName, pTab->zName, zDb) ){
1619 sqliteErrorMsg(pParse, "table %s has no column named %s",
1630 if( !pParse->explain ){
1690 v = sqliteGetVdbe(pParse);
1693 sqliteBeginWriteOperation(pParse, 0, isTemp);
1744 sqliteEndWriteOperation(pParse);
1760 void sqliteDropIndex(Parse *pParse, SrcList *pName){
1763 sqlite *db = pParse->db;
1765 if( pParse->nErr || sqlite_malloc_failed ) return;
1769 sqliteErrorMsg(pParse, "no such index: %S", pName, 0);
1773 sqliteErrorMsg(pParse, "index associated with UNIQUE "
1778 sqliteErrorMsg(pParse, "cannot alter schema of attached "
1788 if( sqliteAuthCheck(pParse, SQLITE_DELETE, zTab, 0, zDb) ){
1792 if( sqliteAuthCheck(pParse, code, pIndex->zName, pTab->zName, zDb) ){
1799 v = sqliteGetVdbe(pParse);
1814 sqliteBeginWriteOperation(pParse, 0, pIndex->iDb);
1823 sqliteEndWriteOperation(pParse);
1828 if( !pParse->explain ){
1953 void sqliteSrcListAssignCursors(Parse *pParse, SrcList *pList){
1957 pList->a[i].iCursor = pParse->nTab++;
2022 void sqliteBeginTransaction(Parse *pParse, int onError){
2025 if( pParse==0 || (db=pParse->db)==0 || db->aDb[0].pBt==0 ) return;
2026 if( pParse->nErr || sqlite_malloc_failed ) return;
2027 if( sqliteAuthCheck(pParse, SQLITE_TRANSACTION, "BEGIN", 0, 0) ) return;
2029 sqliteErrorMsg(pParse, "cannot start a transaction within a transaction");
2032 sqliteBeginWriteOperation(pParse, 0, 0);
2033 if( !pParse->explain ){
2042 void sqliteCommitTransaction(Parse *pParse){
2045 if( pParse==0 || (db=pParse->db)==0 || db->aDb[0].pBt==0 ) return;
2046 if( pParse->nErr || sqlite_malloc_failed ) return;
2047 if( sqliteAuthCheck(pParse, SQLITE_TRANSACTION, "COMMIT", 0, 0) ) return;
2049 sqliteErrorMsg(pParse, "cannot commit - no transaction is active");
2052 if( !pParse->explain ){
2055 sqliteEndWriteOperation(pParse);
2056 if( !pParse->explain ){
2064 void sqliteRollbackTransaction(Parse *pParse){
2068 if( pParse==0 || (db=pParse->db)==0 || db->aDb[0].pBt==0 ) return;
2069 if( pParse->nErr || sqlite_malloc_failed ) return;
2070 if( sqliteAuthCheck(pParse, SQLITE_TRANSACTION, "ROLLBACK", 0, 0) ) return;
2072 sqliteErrorMsg(pParse, "cannot rollback - no transaction is active");
2075 v = sqliteGetVdbe(pParse);
2079 if( !pParse->explain ){
2089 void sqliteCodeVerifySchema(Parse *pParse, int iDb){
2090 sqlite *db = pParse->db;
2091 Vdbe *v = sqliteGetVdbe(pParse);
2118 void sqliteBeginWriteOperation(Parse *pParse, int setCheckpoint, int iDb){
2120 sqlite *db = pParse->db;
2122 v = sqliteGetVdbe(pParse);
2127 sqliteCodeVerifySchema(pParse, iDb);
2129 sqliteBeginWriteOperation(pParse, setCheckpoint, 1);
2147 void sqliteEndWriteOperation(Parse *pParse){
2149 sqlite *db = pParse->db;
2150 if( pParse->trigStack ) return; /* if this is in a trigger */
2151 v = sqliteGetVdbe(pParse);