Lines Matching refs:pTab

22   Table *pTab,         /* The virtual table */
61 void sqlite3ColumnDefault(Vdbe *v, Table *pTab, int i, int iReg){ in sqlite3ColumnDefault() argument
63 assert( pTab!=0 ); in sqlite3ColumnDefault()
64 assert( pTab->nCol>i ); in sqlite3ColumnDefault()
65 pCol = &pTab->aCol[i]; in sqlite3ColumnDefault()
69 assert( !IsView(pTab) ); in sqlite3ColumnDefault()
70 VdbeComment((v, "%s.%s", pTab->zName, pCol->zCnName)); in sqlite3ColumnDefault()
71 assert( i<pTab->nCol ); in sqlite3ColumnDefault()
73 sqlite3ColumnExpr(pTab,pCol), enc, in sqlite3ColumnDefault()
80 if( pCol->affinity==SQLITE_AFF_REAL && !IsVirtual(pTab) ){ in sqlite3ColumnDefault()
205 Table *pTab = pTabList->a[0].pTab; in updateFromSelect() local
229 pSrc->a[0].pTab->nTabRef--; in updateFromSelect()
230 pSrc->a[0].pTab = 0; in updateFromSelect()
242 eDest = IsVirtual(pTab) ? SRT_Table : SRT_Upfrom; in updateFromSelect()
243 }else if( IsView(pTab) ){ in updateFromSelect()
244 for(i=0; i<pTab->nCol; i++){ in updateFromSelect()
249 eDest = IsVirtual(pTab) ? SRT_Table : SRT_Upfrom; in updateFromSelect()
295 Table *pTab; /* The table to be updated */ in sqlite3Update() local
361 pTab = sqlite3SrcListLookup(pParse, pTabList); in sqlite3Update()
362 if( pTab==0 ) goto update_cleanup; in sqlite3Update()
363 iDb = sqlite3SchemaToIndex(pParse->db, pTab->pSchema); in sqlite3Update()
369 pTrigger = sqlite3TriggersExist(pParse, pTab, TK_UPDATE, pChanges, &tmask); in sqlite3Update()
370 isView = IsView(pTab); in sqlite3Update()
407 if( sqlite3ViewGetColumnNames(pParse, pTab) ){ in sqlite3Update()
410 if( sqlite3IsReadOnly(pParse, pTab, tmask) ){ in sqlite3Update()
421 pPk = HasRowid(pTab) ? 0 : sqlite3PrimaryKeyIndex(pTab); in sqlite3Update()
422 testcase( pPk!=0 && pPk!=pTab->pIndex ); in sqlite3Update()
423 for(nIdx=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, nIdx++){ in sqlite3Update()
440 aXRef = sqlite3DbMallocRawNN(db, sizeof(int) * (pTab->nCol+nIdx+1) + nIdx+2 ); in sqlite3Update()
442 aRegIdx = aXRef+pTab->nCol; in sqlite3Update()
446 for(i=0; i<pTab->nCol; i++) aXRef[i] = -1; in sqlite3Update()
473 for(j=0; j<pTab->nCol; j++){ in sqlite3Update()
474 if( pTab->aCol[j].hName==hCol in sqlite3Update()
475 && sqlite3StrICmp(pTab->aCol[j].zCnName, pChanges->a[i].zEName)==0 in sqlite3Update()
477 if( j==pTab->iPKey ){ in sqlite3Update()
481 }else if( pPk && (pTab->aCol[j].colFlags & COLFLAG_PRIMKEY)!=0 ){ in sqlite3Update()
485 else if( pTab->aCol[j].colFlags & COLFLAG_GENERATED ){ in sqlite3Update()
486 testcase( pTab->aCol[j].colFlags & COLFLAG_VIRTUAL ); in sqlite3Update()
487 testcase( pTab->aCol[j].colFlags & COLFLAG_STORED ); in sqlite3Update()
490 pTab->aCol[j].zCnName); in sqlite3Update()
498 if( j>=pTab->nCol ){ in sqlite3Update()
513 rc = sqlite3AuthCheck(pParse, SQLITE_UPDATE, pTab->zName, in sqlite3Update()
514 j<0 ? "ROWID" : pTab->aCol[j].zCnName, in sqlite3Update()
537 if( pTab->tabFlags & TF_HasGenerated ){ in sqlite3Update()
539 testcase( pTab->tabFlags & TF_HasVirtual ); in sqlite3Update()
540 testcase( pTab->tabFlags & TF_HasStored ); in sqlite3Update()
543 for(i=0; i<pTab->nCol; i++){ in sqlite3Update()
545 if( (pTab->aCol[i].colFlags & COLFLAG_GENERATED)==0 ) continue; in sqlite3Update()
547 sqlite3ColumnExpr(pTab, &pTab->aCol[i]), in sqlite3Update()
563 pTabList->a[0].colUsed = IsVirtual(pTab) ? ALLBITS : 0; in sqlite3Update()
565 hasFK = sqlite3FkRequired(pParse, pTab, aXRef, chngKey); in sqlite3Update()
572 for(nAllIdx=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, nAllIdx++){ in sqlite3Update()
606 if( !IsVirtual(pTab) ){ in sqlite3Update()
617 pParse->nMem += pTab->nCol; in sqlite3Update()
623 pParse->nMem += pTab->nCol; in sqlite3Update()
628 sqlite3AuthContextPush(pParse, &sContext, pTab->zName); in sqlite3Update()
636 sqlite3MaterializeView(pParse, pTab, in sqlite3Update()
653 if( IsVirtual(pTab) ){ in sqlite3Update()
654 updateVirtualTable(pParse, pTabList, pTab, pChanges, pRowidExpr, aXRef, in sqlite3Update()
675 if( nChangeFrom==0 && HasRowid(pTab) ){ in sqlite3Update()
680 assert( pPk!=0 || HasRowid(pTab) ); in sqlite3Update()
687 int nEphCol = nPk + nChangeFrom + (isView ? pTab->nCol : 0); in sqlite3Update()
759 assert( iCur!=iDataCur || !HasRowid(pTab) ); in sqlite3Update()
764 if( HasRowid(pTab) ){ in sqlite3Update()
783 sqlite3ExprCodeGetColumnOfTable(v, pTab, iDataCur, in sqlite3Update()
815 sqlite3OpenTableAndIndices(pParse, pTab, OP_OpenWrite, 0, iBaseCur, in sqlite3Update()
893 u32 oldmask = (hasFK ? sqlite3FkOldmask(pParse, pTab) : 0); in sqlite3Update()
895 pTrigger, pChanges, 0, TRIGGER_BEFORE|TRIGGER_AFTER, pTab, onError in sqlite3Update()
897 for(i=0; i<pTab->nCol; i++){ in sqlite3Update()
898 u32 colFlags = pTab->aCol[i].colFlags; in sqlite3Update()
899 k = sqlite3TableColumnToStorage(pTab, i) + regOld; in sqlite3Update()
905 sqlite3ExprCodeGetColumnOfTable(v, pTab, iDataCur, i, k); in sqlite3Update()
929 pParse, pTrigger, pChanges, 1, TRIGGER_BEFORE, pTab, onError in sqlite3Update()
931 for(i=0, k=regNew; i<pTab->nCol; i++, k++){ in sqlite3Update()
932 if( i==pTab->iPKey ){ in sqlite3Update()
934 }else if( (pTab->aCol[i].colFlags & COLFLAG_GENERATED)!=0 ){ in sqlite3Update()
935 if( pTab->aCol[i].colFlags & COLFLAG_VIRTUAL ) k--; in sqlite3Update()
940 int nOff = (isView ? pTab->nCol : nPk); in sqlite3Update()
954 sqlite3ExprCodeGetColumnOfTable(v, pTab, iDataCur, i, k); in sqlite3Update()
962 if( pTab->tabFlags & TF_HasGenerated ){ in sqlite3Update()
963 testcase( pTab->tabFlags & TF_HasVirtual ); in sqlite3Update()
964 testcase( pTab->tabFlags & TF_HasStored ); in sqlite3Update()
965 sqlite3ComputeGeneratedColumns(pParse, regNew, pTab); in sqlite3Update()
973 sqlite3TableAffinity(v, pTab, regNew); in sqlite3Update()
975 TRIGGER_BEFORE, pTab, regOldRowid, onError, labelContinue); in sqlite3Update()
1001 for(i=0, k=regNew; i<pTab->nCol; i++, k++){ in sqlite3Update()
1002 if( pTab->aCol[i].colFlags & COLFLAG_GENERATED ){ in sqlite3Update()
1003 if( pTab->aCol[i].colFlags & COLFLAG_VIRTUAL ) k--; in sqlite3Update()
1004 }else if( aXRef[i]<0 && i!=pTab->iPKey ){ in sqlite3Update()
1005 sqlite3ExprCodeGetColumnOfTable(v, pTab, iDataCur, i, k); in sqlite3Update()
1009 if( pTab->tabFlags & TF_HasGenerated ){ in sqlite3Update()
1010 testcase( pTab->tabFlags & TF_HasVirtual ); in sqlite3Update()
1011 testcase( pTab->tabFlags & TF_HasStored ); in sqlite3Update()
1012 sqlite3ComputeGeneratedColumns(pParse, regNew, pTab); in sqlite3Update()
1021 sqlite3GenerateConstraintChecks(pParse, pTab, aRegIdx, iDataCur, iIdxCur, in sqlite3Update()
1039 sqlite3FkCheck(pParse, pTab, regOldRowid, 0, aXRef, chngKey); in sqlite3Update()
1043 sqlite3GenerateRowIndexDelete(pParse, pTab, iDataCur, iIdxCur, aRegIdx, -1); in sqlite3Update()
1074 sqlite3VdbeAppendP4(v, pTab, P4_TABLE); in sqlite3Update()
1083 sqlite3FkCheck(pParse, pTab, 0, regNewRowid, aXRef, chngKey); in sqlite3Update()
1088 pParse, pTab, iDataCur, iIdxCur, regNewRowid, aRegIdx, in sqlite3Update()
1097 sqlite3FkActions(pParse, pTab, pChanges, regOldRowid, aXRef, chngKey); in sqlite3Update()
1108 TRIGGER_AFTER, pTab, regOldRowid, onError, labelContinue); in sqlite3Update()
1187 Table *pTab, /* The virtual table */ in updateVirtualTable() argument
1198 const char *pVTab = (const char*)sqlite3GetVTable(db, pTab); in updateVirtualTable()
1200 int nArg = 2 + pTab->nCol; /* Number of arguments to VUpdate */ in updateVirtualTable()
1221 if( HasRowid(pTab) ){ in updateVirtualTable()
1229 pPk = sqlite3PrimaryKeyIndex(pTab); in updateVirtualTable()
1241 for(i=0; i<pTab->nCol; i++){ in updateVirtualTable()
1265 for(i=0; i<pTab->nCol; i++){ in updateVirtualTable()
1266 assert( (pTab->aCol[i].colFlags & COLFLAG_GENERATED)==0 ); in updateVirtualTable()
1274 if( HasRowid(pTab) ){ in updateVirtualTable()
1284 pPk = sqlite3PrimaryKeyIndex(pTab); in updateVirtualTable()
1333 sqlite3VtabMakeWritable(pParse, pTab); in updateVirtualTable()