Lines Matching refs:pParse

27   Parse *pParse,  /* Generate code into this VDBE */  in sqlite3OpenTable()  argument
35 assert( pParse->pVdbe!=0 ); in sqlite3OpenTable()
36 v = pParse->pVdbe; in sqlite3OpenTable()
38 sqlite3TableLock(pParse, iDb, pTab->tnum, in sqlite3OpenTable()
48 sqlite3VdbeSetP4KeyInfo(pParse, pPk); in sqlite3OpenTable()
279 Parse *pParse, /* Parsing context */ in sqlite3ComputeGeneratedColumns() argument
296 sqlite3TableAffinity(pParse->pVdbe, pTab, iRegStore); in sqlite3ComputeGeneratedColumns()
298 pOp = sqlite3VdbeGetLastOp(pParse->pVdbe); in sqlite3ComputeGeneratedColumns()
346 pParse->iSelfTab = -iRegStore; in sqlite3ComputeGeneratedColumns()
365 sqlite3ExprCodeGeneratedColumn(pParse, pTab, pCol, x); in sqlite3ComputeGeneratedColumns()
371 sqlite3ErrorMsg(pParse, "generated column loop on \"%s\"", pRedo->zCnName); in sqlite3ComputeGeneratedColumns()
373 pParse->iSelfTab = 0; in sqlite3ComputeGeneratedColumns()
403 Parse *pParse, /* Parsing context */ in autoIncBegin() argument
408 assert( pParse->db->aDb[iDb].pSchema!=0 ); in autoIncBegin()
410 && (pParse->db->mDbFlags & DBFLAG_Vacuum)==0 in autoIncBegin()
412 Parse *pToplevel = sqlite3ParseToplevel(pParse); in autoIncBegin()
414 Table *pSeqTab = pParse->db->aDb[iDb].pSchema->pSeqTab; in autoIncBegin()
424 pParse->nErr++; in autoIncBegin()
425 pParse->rc = SQLITE_CORRUPT_SEQUENCE; in autoIncBegin()
432 pInfo = sqlite3DbMallocRawNN(pParse->db, sizeof(*pInfo)); in autoIncBegin()
434 testcase( pParse->earlyCleanup ); in autoIncBegin()
435 if( pParse->db->mallocFailed ) return 0; in autoIncBegin()
453 void sqlite3AutoincrementBegin(Parse *pParse){ in sqlite3AutoincrementBegin() argument
455 sqlite3 *db = pParse->db; /* The database connection */ in sqlite3AutoincrementBegin()
458 Vdbe *v = pParse->pVdbe; /* VDBE under construction */ in sqlite3AutoincrementBegin()
462 assert( pParse->pTriggerTab==0 ); in sqlite3AutoincrementBegin()
463 assert( sqlite3IsToplevel(pParse) ); in sqlite3AutoincrementBegin()
466 for(p = pParse->pAinc; p; p = p->pNext){ in sqlite3AutoincrementBegin()
486 sqlite3OpenTable(pParse, 0, p->iDb, pDb->pSchema->pSeqTab, OP_OpenRead); in sqlite3AutoincrementBegin()
502 if( pParse->nTab==0 ) pParse->nTab = 1; in sqlite3AutoincrementBegin()
514 static void autoIncStep(Parse *pParse, int memId, int regRowid){ in autoIncStep() argument
516 sqlite3VdbeAddOp2(pParse->pVdbe, OP_MemMax, memId, regRowid); in autoIncStep()
527 static SQLITE_NOINLINE void autoIncrementEnd(Parse *pParse){ in autoIncrementEnd() argument
529 Vdbe *v = pParse->pVdbe; in autoIncrementEnd()
530 sqlite3 *db = pParse->db; in autoIncrementEnd()
533 for(p = pParse->pAinc; p; p = p->pNext){ in autoIncrementEnd()
547 iRec = sqlite3GetTempReg(pParse); in autoIncrementEnd()
551 sqlite3OpenTable(pParse, 0, p->iDb, pDb->pSchema->pSeqTab, OP_OpenWrite); in autoIncrementEnd()
561 sqlite3ReleaseTempReg(pParse, iRec); in autoIncrementEnd()
564 void sqlite3AutoincrementEnd(Parse *pParse){ in sqlite3AutoincrementEnd() argument
565 if( pParse->pAinc ) autoIncrementEnd(pParse); in sqlite3AutoincrementEnd()
579 Parse *pParse, /* Parser context */
684 Parse *pParse, /* Parser context */ in sqlite3Insert() argument
729 db = pParse->db; in sqlite3Insert()
730 assert( db->pParse==pParse ); in sqlite3Insert()
731 if( pParse->nErr ){ in sqlite3Insert()
751 pTab = sqlite3SrcListLookup(pParse, pTabList); in sqlite3Insert()
757 if( sqlite3AuthCheck(pParse, SQLITE_INSERT, pTab->zName, 0, in sqlite3Insert()
767 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_INSERT, 0, &tmask); in sqlite3Insert()
783 sqlite3TreeViewInsert(pParse->pWith, pTabList, pColumn, pSelect, pList, in sqlite3Insert()
791 if( sqlite3ViewGetColumnNames(pParse, pTab) ){ in sqlite3Insert()
797 if( sqlite3IsReadOnly(pParse, pTab, tmask) ){ in sqlite3Insert()
803 v = sqlite3GetVdbe(pParse); in sqlite3Insert()
805 if( pParse->nested==0 ) sqlite3VdbeCountChanges(v); in sqlite3Insert()
806 sqlite3BeginWriteOperation(pParse, pSelect || pTrigger, iDb); in sqlite3Insert()
821 && xferOptimization(pParse, pTab, pSelect, onError, iDb) in sqlite3Insert()
832 regAutoinc = autoIncBegin(pParse, iDb, pTab); in sqlite3Insert()
837 regRowid = regIns = pParse->nMem+1; in sqlite3Insert()
838 pParse->nMem += pTab->nCol + 1; in sqlite3Insert()
841 pParse->nMem++; in sqlite3Insert()
881 sqlite3ErrorMsg(pParse, in sqlite3Insert()
895 sqlite3ErrorMsg(pParse, "table %S has no column named %s", in sqlite3Insert()
897 pParse->checkSchema = 1; in sqlite3Insert()
916 regYield = ++pParse->nMem; in sqlite3Insert()
922 rc = sqlite3Select(pParse, pSelect, &dest); in sqlite3Insert()
924 assert( db->pParse==pParse ); in sqlite3Insert()
925 if( rc || pParse->nErr ) goto insert_cleanup; in sqlite3Insert()
941 if( pTrigger || readsTable(pParse, iDb, pTab) ){ in sqlite3Insert()
960 srcTab = pParse->nTab++; in sqlite3Insert()
961 regRec = sqlite3GetTempReg(pParse); in sqlite3Insert()
962 regTempRowid = sqlite3GetTempReg(pParse); in sqlite3Insert()
970 sqlite3ReleaseTempReg(pParse, regRec); in sqlite3Insert()
971 sqlite3ReleaseTempReg(pParse, regTempRowid); in sqlite3Insert()
979 sNC.pParse = pParse; in sqlite3Insert()
1024 sqlite3ErrorMsg(pParse, in sqlite3Insert()
1031 sqlite3ErrorMsg(pParse, "%d values for %d columns", nColumn, pColumn->nId); in sqlite3Insert()
1038 && !pParse->nested in sqlite3Insert()
1039 && !pParse->pTriggerTab in sqlite3Insert()
1040 && !pParse->bReturning in sqlite3Insert()
1042 regRowCount = ++pParse->nMem; in sqlite3Insert()
1049 nIdx = sqlite3OpenTableAndIndices(pParse, pTab, OP_OpenWrite, 0, -1, 0, in sqlite3Insert()
1057 aRegIdx[i] = ++pParse->nMem; in sqlite3Insert()
1058 pParse->nMem += pIdx->nColumn; in sqlite3Insert()
1060 aRegIdx[i] = ++pParse->nMem; /* Register to store the table record */ in sqlite3Insert()
1066 sqlite3ErrorMsg(pParse, "UPSERT not implemented for virtual table \"%s\"", in sqlite3Insert()
1071 sqlite3ErrorMsg(pParse, "cannot UPSERT a view"); in sqlite3Insert()
1074 if( sqlite3HasExplicitNulls(pParse, pUpsert->pUpsertTarget) ){ in sqlite3Insert()
1085 if( sqlite3UpsertAnalyzeTarget(pParse, pTabList, pNx) ){ in sqlite3Insert()
1117 sqlite3VdbeReleaseRegisters(pParse, regData, pTab->nCol, 0, 0); in sqlite3Insert()
1169 sqlite3ExprCodeFactorable(pParse, in sqlite3Insert()
1181 sqlite3ExprCodeFactorable(pParse, in sqlite3Insert()
1189 sqlite3ExprCodeFactorable(pParse, in sqlite3Insert()
1205 int y = sqlite3ExprCodeTarget(pParse, pX, iRegStore); in sqlite3Insert()
1216 endOfLoop = sqlite3VdbeMakeLabel(pParse); in sqlite3Insert()
1218 int regCols = sqlite3GetTempRange(pParse, pTab->nCol+1); in sqlite3Insert()
1235 sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regCols); in sqlite3Insert()
1255 sqlite3ComputeGeneratedColumns(pParse, regCols+1, pTab); in sqlite3Insert()
1269 sqlite3CodeRowTrigger(pParse, pTrigger, TK_INSERT, 0, TRIGGER_BEFORE, in sqlite3Insert()
1272 sqlite3ReleaseTempRange(pParse, regCols, pTab->nCol+1); in sqlite3Insert()
1292 sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regRowid); in sqlite3Insert()
1316 autoIncStep(pParse, regAutoinc, regRowid); in sqlite3Insert()
1324 sqlite3ComputeGeneratedColumns(pParse, regRowid+1, pTab); in sqlite3Insert()
1334 sqlite3VtabMakeWritable(pParse, pTab); in sqlite3Insert()
1337 sqlite3MayAbort(pParse); in sqlite3Insert()
1343 sqlite3GenerateConstraintChecks(pParse, pTab, aRegIdx, iDataCur, iIdxCur, in sqlite3Insert()
1347 sqlite3FkCheck(pParse, pTab, 0, regIns, 0, 0); in sqlite3Insert()
1359 sqlite3CompleteInsertion(pParse, pTab, iDataCur, iIdxCur, in sqlite3Insert()
1364 }else if( pParse->bReturning ){ in sqlite3Insert()
1380 sqlite3CodeRowTrigger(pParse, pTrigger, TK_INSERT, 0, TRIGGER_AFTER, in sqlite3Insert()
1413 if( pParse->nested==0 && pParse->pTriggerTab==0 ){ in sqlite3Insert()
1414 sqlite3AutoincrementEnd(pParse); in sqlite3Insert()
1667 Parse *pParse, /* The parser context */ in sqlite3GenerateConstraintChecks() argument
1708 db = pParse->db; in sqlite3GenerateConstraintChecks()
1709 v = pParse->pVdbe; in sqlite3GenerateConstraintChecks()
1784 sqlite3ExprCodeCopy(pParse, in sqlite3GenerateConstraintChecks()
1790 sqlite3MayAbort(pParse); in sqlite3GenerateConstraintChecks()
1825 sqlite3ComputeGeneratedColumns(pParse, regNewData+1, pTab); in sqlite3GenerateConstraintChecks()
1836 pParse->iSelfTab = -(regNewData+1); in sqlite3GenerateConstraintChecks()
1853 allOk = sqlite3VdbeMakeLabel(pParse); in sqlite3GenerateConstraintChecks()
1857 sqlite3ExprIfTrue(pParse, pCopy, allOk, SQLITE_JUMPIFNULL); in sqlite3GenerateConstraintChecks()
1864 assert( zName!=0 || pParse->db->mallocFailed ); in sqlite3GenerateConstraintChecks()
1866 sqlite3HaltConstraint(pParse, SQLITE_CONSTRAINT_CHECK, in sqlite3GenerateConstraintChecks()
1872 pParse->iSelfTab = 0; in sqlite3GenerateConstraintChecks()
1991 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_DELETE, 0, 0); in sqlite3GenerateConstraintChecks()
1992 regTrigCnt = pTrigger!=0 || sqlite3FkRequired(pParse, pTab, 0, 0); in sqlite3GenerateConstraintChecks()
1995 regTrigCnt = sqlite3FkRequired(pParse, pTab, 0, 0); in sqlite3GenerateConstraintChecks()
2000 regTrigCnt = ++pParse->nMem; in sqlite3GenerateConstraintChecks()
2003 lblRecheckOk = sqlite3VdbeMakeLabel(pParse); in sqlite3GenerateConstraintChecks()
2012 int addrRowidOk = sqlite3VdbeMakeLabel(pParse); in sqlite3GenerateConstraintChecks()
2081 sqlite3RowidConstraint(pParse, onError, pTab); in sqlite3GenerateConstraintChecks()
2108 sqlite3MultiWrite(pParse); in sqlite3GenerateConstraintChecks()
2109 sqlite3GenerateRowDelete(pParse, pTab, pTrigger, iDataCur, iIdxCur, in sqlite3GenerateConstraintChecks()
2124 sqlite3MultiWrite(pParse); in sqlite3GenerateConstraintChecks()
2125 sqlite3GenerateRowIndexDelete(pParse, pTab, iDataCur, iIdxCur,0,-1); in sqlite3GenerateConstraintChecks()
2133 sqlite3UpsertDoUpdate(pParse, pUpsert, pTab, 0, iDataCur); in sqlite3GenerateConstraintChecks()
2176 addrUniqueOk = sqlite3VdbeMakeLabel(pParse); in sqlite3GenerateConstraintChecks()
2188 pParse->iSelfTab = -(regNewData+1); in sqlite3GenerateConstraintChecks()
2189 sqlite3ExprIfFalseDup(pParse, pIdx->pPartIdxWhere, addrUniqueOk, in sqlite3GenerateConstraintChecks()
2191 pParse->iSelfTab = 0; in sqlite3GenerateConstraintChecks()
2202 pParse->iSelfTab = -(regNewData+1); in sqlite3GenerateConstraintChecks()
2203 sqlite3ExprCodeCopy(pParse, pIdx->aColExpr->a[i].pExpr, regIdx+i); in sqlite3GenerateConstraintChecks()
2204 pParse->iSelfTab = 0; in sqlite3GenerateConstraintChecks()
2224 sqlite3VdbeReleaseRegisters(pParse, regIdx, pIdx->nColumn, 0, 0); in sqlite3GenerateConstraintChecks()
2272 0==sqlite3TriggersExist(pParse, pTab, TK_DELETE, 0, 0)) in sqlite3GenerateConstraintChecks()
2288 regR = pIdx==pPk ? regIdx : sqlite3GetTempRange(pParse, nPkField); in sqlite3GenerateConstraintChecks()
2325 char *p4 = (char*)sqlite3LocateCollSeq(pParse, pPk->azColl[i]); in sqlite3GenerateConstraintChecks()
2354 sqlite3UniqueConstraint(pParse, onError, pIdx); in sqlite3GenerateConstraintChecks()
2359 sqlite3UpsertDoUpdate(pParse, pUpsert, pTab, pIdx, iIdxCur+ix); in sqlite3GenerateConstraintChecks()
2377 sqlite3MultiWrite(pParse); in sqlite3GenerateConstraintChecks()
2383 sqlite3GenerateRowDelete(pParse, pTab, pTrigger, iDataCur, iIdxCur, in sqlite3GenerateConstraintChecks()
2400 lblRecheckOk = sqlite3VdbeMakeLabel(pParse); in sqlite3GenerateConstraintChecks()
2433 sqlite3UniqueConstraint(pParse, OE_Abort, pIdx); in sqlite3GenerateConstraintChecks()
2442 if( regR!=regIdx ) sqlite3ReleaseTempRange(pParse, regR, nPkField); in sqlite3GenerateConstraintChecks()
2474 sqlite3RowidConstraint(pParse, OE_Abort, pTab); in sqlite3GenerateConstraintChecks()
2525 Parse *pParse, /* Parse context */ in codeWithoutRowidPreupdate() argument
2530 Vdbe *v = pParse->pVdbe; in codeWithoutRowidPreupdate()
2531 int r = sqlite3GetTempReg(pParse); in codeWithoutRowidPreupdate()
2533 assert( 0==(pParse->db->mDbFlags & DBFLAG_Vacuum) || CORRUPT_DB ); in codeWithoutRowidPreupdate()
2537 sqlite3ReleaseTempReg(pParse, r); in codeWithoutRowidPreupdate()
2553 Parse *pParse, /* The parser context */ in sqlite3CompleteInsertion() argument
2573 v = pParse->pVdbe; in sqlite3CompleteInsertion()
2591 codeWithoutRowidPreupdate(pParse, pTab, iIdxCur+i, aRegIdx[i]); in sqlite3CompleteInsertion()
2600 if( pParse->nested ){ in sqlite3CompleteInsertion()
2613 if( !pParse->nested ){ in sqlite3CompleteInsertion()
2641 Parse *pParse, /* Parsing context */ in sqlite3OpenTableAndIndices() argument
2665 iDb = sqlite3SchemaToIndex(pParse->db, pTab->pSchema); in sqlite3OpenTableAndIndices()
2666 v = pParse->pVdbe; in sqlite3OpenTableAndIndices()
2668 if( iBase<0 ) iBase = pParse->nTab; in sqlite3OpenTableAndIndices()
2672 sqlite3OpenTable(pParse, iDataCur, iDb, pTab, op); in sqlite3OpenTableAndIndices()
2674 sqlite3TableLock(pParse, iDb, pTab->tnum, op==OP_OpenWrite, pTab->zName); in sqlite3OpenTableAndIndices()
2686 sqlite3VdbeSetP4KeyInfo(pParse, pIdx); in sqlite3OpenTableAndIndices()
2691 if( iBase>pParse->nTab ) pParse->nTab = iBase; in sqlite3OpenTableAndIndices()
2781 Parse *pParse, /* Parser context */ in xferOptimization() argument
2787 sqlite3 *db = pParse->db; in xferOptimization()
2804 if( pParse->pWith || pSelect->pWith ){ in xferOptimization()
2861 pSrc = sqlite3LocateTableItem(pParse, 0, pItem); in xferOptimization()
3003 v = sqlite3GetVdbe(pParse); in xferOptimization()
3004 sqlite3CodeVerifySchema(pParse, iDbSrc); in xferOptimization()
3005 iSrc = pParse->nTab++; in xferOptimization()
3006 iDest = pParse->nTab++; in xferOptimization()
3007 regAutoinc = autoIncBegin(pParse, iDbDest, pDest); in xferOptimization()
3008 regData = sqlite3GetTempReg(pParse); in xferOptimization()
3010 regRowid = sqlite3GetTempReg(pParse); in xferOptimization()
3011 sqlite3OpenTable(pParse, iDest, iDbDest, pDest, OP_OpenWrite); in xferOptimization()
3041 sqlite3OpenTable(pParse, iSrc, iDbSrc, pSrc, OP_OpenRead); in xferOptimization()
3049 sqlite3RowidConstraint(pParse, onError, pDest); in xferOptimization()
3052 autoIncStep(pParse, regAutoinc, regRowid); in xferOptimization()
3085 sqlite3TableLock(pParse, iDbDest, pDest->tnum, 1, pDest->zName); in xferOptimization()
3086 sqlite3TableLock(pParse, iDbSrc, pSrc->tnum, 0, pSrc->zName); in xferOptimization()
3095 sqlite3VdbeSetP4KeyInfo(pParse, pSrcIdx); in xferOptimization()
3098 sqlite3VdbeSetP4KeyInfo(pParse, pDestIdx); in xferOptimization()
3135 codeWithoutRowidPreupdate(pParse, pDest, iDest, regData); in xferOptimization()
3146 sqlite3ReleaseTempReg(pParse, regRowid); in xferOptimization()
3147 sqlite3ReleaseTempReg(pParse, regData); in xferOptimization()
3149 sqlite3AutoincrementEnd(pParse); in xferOptimization()