Lines Matching defs:pParse

31 Table *sqlite3SrcListLookup(Parse *pParse, SrcList *pSrc){
35 pTab = sqlite3LocateTable(pParse, 0, pItem->zName, pItem->zDatabase);
36 sqlite3DeleteTable(pParse->db, pItem->pTab);
41 if( sqlite3IndexedByLookup(pParse, pItem) ){
52 int sqlite3IsReadOnly(Parse *pParse, Table *pTab, int viewOk){
61 ** In either case leave an error message in pParse and return non-zero.
64 && sqlite3GetVTable(pParse->db, pTab)->pMod->pModule->xUpdate==0 )
66 && (pParse->db->flags & SQLITE_WriteSchema)==0
67 && pParse->nested==0 )
69 sqlite3ErrorMsg(pParse, "table %s may not be modified", pTab->zName);
75 sqlite3ErrorMsg(pParse,"cannot modify %s because it is a view",pTab->zName);
90 Parse *pParse, /* Parsing context */
97 sqlite3 *db = pParse->db;
114 pDup = sqlite3SelectNew(pParse, 0, pFrom, pWhere, 0, 0, 0, 0, 0, 0);
117 sqlite3Select(pParse, pDup, &dest);
132 Parse *pParse, /* The parser context */
150 sqlite3ErrorMsg(pParse, "ORDER BY without LIMIT on %s", zStmtType);
151 pParse->parseError = 1;
173 pSelectRowid = sqlite3PExpr(pParse, TK_ROW, 0, 0, 0);
175 pEList = sqlite3ExprListAppend(pParse, 0, pSelectRowid);
180 pSelectSrc = sqlite3SrcListDup(pParse->db, pSrc, 0);
182 sqlite3ExprListDelete(pParse->db, pEList);
187 pSelect = sqlite3SelectNew(pParse,pEList,pSelectSrc,pWhere,0,0,
192 pWhereRowid = sqlite3PExpr(pParse, TK_ROW, 0, 0, 0);
194 pInClause = sqlite3PExpr(pParse, TK_IN, pWhereRowid, 0, 0);
199 sqlite3ExprSetHeight(pParse, pInClause);
204 sqlite3SelectDelete(pParse->db, pSelect);
208 sqlite3ExprDelete(pParse->db, pWhere);
209 sqlite3ExprListDelete(pParse->db, pOrderBy);
210 sqlite3ExprDelete(pParse->db, pLimit);
211 sqlite3ExprDelete(pParse->db, pOffset);
224 Parse *pParse, /* The parser context */
249 db = pParse->db;
250 if( pParse->nErr || db->mallocFailed ){
260 pTab = sqlite3SrcListLookup(pParse, pTabList);
267 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_DELETE, 0, 0);
280 if( sqlite3ViewGetColumnNames(pParse, pTab) ){
284 if( sqlite3IsReadOnly(pParse, pTab, (pTrigger?1:0)) ){
290 rcauth = sqlite3AuthCheck(pParse, SQLITE_DELETE, pTab->zName, 0, zDb);
300 iCur = pTabList->a[0].iCursor = pParse->nTab++;
302 pParse->nTab++;
308 sqlite3AuthContextPush(pParse, &sContext, pTab->zName);
313 v = sqlite3GetVdbe(pParse);
317 if( pParse->nested==0 ) sqlite3VdbeCountChanges(v);
318 sqlite3BeginWriteOperation(pParse, 1, iDb);
325 sqlite3MaterializeView(pParse, pTab, pWhere, iCur);
332 sNC.pParse = pParse;
342 memCnt = ++pParse->nMem;
352 && 0==sqlite3FkRequired(pParse, pTab, 0, 0)
367 int iRowSet = ++pParse->nMem; /* Register for rowset of rows to delete */
368 int iRowid = ++pParse->nMem; /* Used for storing rowid values. */
374 pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere,0,WHERE_DUPLICATES_OK);
376 regRowid = sqlite3ExprCodeGetColumn(pParse, pTab, -1, iCur, iRowid);
393 sqlite3OpenTableAndIndices(pParse, pTab, iCur, OP_OpenWrite);
402 sqlite3VtabMakeWritable(pParse, pTab);
404 sqlite3MayAbort(pParse);
408 int count = (pParse->nested==0); /* True to count changes */
409 sqlite3GenerateRowDelete(pParse, pTab, iCur, iRowid, count, pTrigger, OE_Default);
429 if( pParse->nested==0 && pParse->pTriggerTab==0 ){
430 sqlite3AutoincrementEnd(pParse);
437 if( (db->flags&SQLITE_CountRows) && !pParse->nested && !pParse->pTriggerTab ){
479 Parse *pParse, /* Parsing context */
487 Vdbe *v = pParse->pVdbe; /* Vdbe */
502 if( sqlite3FkRequired(pParse, pTab, 0, 0) || pTrigger ){
509 pParse, pTrigger, 0, 0, TRIGGER_BEFORE|TRIGGER_AFTER, pTab, onconf
511 mask |= sqlite3FkOldmask(pParse, pTab);
512 iOld = pParse->nMem+1;
513 pParse->nMem += (1 + pTab->nCol);
525 sqlite3CodeRowTrigger(pParse, pTrigger,
538 sqlite3FkCheck(pParse, pTab, iOld, 0);
545 sqlite3GenerateRowIndexDelete(pParse, pTab, iCur, 0);
555 sqlite3FkActions(pParse, pTab, 0, iOld);
558 sqlite3CodeRowTrigger(pParse, pTrigger,
585 Parse *pParse, /* Parsing and code generating context */
596 r1 = sqlite3GenerateIndexKey(pParse, pIdx, iCur, 0, 0);
597 sqlite3VdbeAddOp3(pParse->pVdbe, OP_IdxDelete, iCur+i, r1,pIdx->nColumn+1);
613 Parse *pParse, /* Parsing context */
619 Vdbe *v = pParse->pVdbe;
626 regBase = sqlite3GetTempRange(pParse, nCol+1);
641 sqlite3ReleaseTempRange(pParse, regBase, nCol+1);