Lines Matching refs:nKeyCol

18747   u16 nKeyCol;             /* Number of columns forming the key */  member
99054 int nKeyCol;
99060 nKeyCol = pOp->p4.i;
99062 rc = sqlite3VdbeSorterCompare(pC, pIn3, nKeyCol, &res);
102512 for(j=0; j<pIdx->nKeyCol; j++){
105536 int nKeyCol, /* Compare this many columns */
105552 r2->nField = nKeyCol;
105554 assert( r2->nField==nKeyCol );
105558 for(i=0; i<nKeyCol; i++){
112231 if( pIdx->nKeyCol>nExpr
118387 for(i=0; i<pPk->nKeyCol; i++){
118390 nField = pPk->nKeyCol;
118399 if( iPos<pPk->nKeyCol ) continue;
118425 sqlite3VdbeAddOp4Int(v, OP_IdxInsert, iCur, regRec, reg+1, pPk->nKeyCol);
118743 int nKeyCol; /* Number of index columns w/o the pk/rowid */
118863 int nKeyCol; /* Number of key columns */
118877 nKeyCol = sqlite3_value_int(argv[1]);
118878 assert( nKeyCol<=nCol );
118879 assert( nKeyCol>0 );
118903 p->nKeyCol = nKeyCol;
119322 sqlite3StrAccumInit(&sStat, 0, 0, 0, (p->nKeyCol+1)*100);
119325 for(i=0; i<p->nKeyCol; i++){
119524 nCol = pIdx->nKeyCol;
119530 nColTest = pIdx->uniqNotNull ? pIdx->nKeyCol-1 : nCol-1;
119608 sqlite3VdbeAddOp2(v, OP_Integer, pIdx->nKeyCol, regRowid);
119637 if( nColTest==1 && pIdx->nKeyCol==1 && IsUniqueIndex(pIdx) ){
119690 regKey = sqlite3GetTempRange(pParse, pPk->nKeyCol);
119691 for(j=0; j<pPk->nKeyCol; j++){
119697 sqlite3VdbeAddOp3(v, OP_MakeRecord, regKey, pPk->nKeyCol, regRowid);
119698 sqlite3ReleaseTempRange(pParse, regKey, pPk->nKeyCol);
119766 nColX = pX->nKeyCol;
120085 int nCol = pIndex->nKeyCol+1;
120171 if( !pIdx->aiRowEst || iCol>=pIdx->nKeyCol || pIdx->aiRowEst[iCol+1]==0 ){
120273 assert( !HasRowid(pIdx->pTable) || pIdx->nColumn==pIdx->nKeyCol+1 );
120275 nIdxCol = pIdx->nKeyCol;
122985 assert( pIdx->nKeyCol==1 && pIdx->onError!=OE_None );
123328 assert( pIdx->nKeyCol==1 );
123563 memcpy(zExtra, pIdx->aiRowLogEst, sizeof(LogEst)*(pIdx->nKeyCol+1));
123634 assert( iCol<MAX(pPk->nColumn,pPk->nKeyCol) );
123769 assert( pPk->nKeyCol==1 );
123779 for(i=j=1; i<pPk->nKeyCol; i++){
123789 pPk->nKeyCol = j;
123794 nPk = pPk->nColumn = pPk->nKeyCol;
123815 if( !isDupColumn(pIdx, pIdx->nKeyCol, pPk, i) ){
123816 testcase( hasColumn(pIdx->aiColumn, pIdx->nKeyCol, pPk->aiColumn[i]) );
123822 pIdx->nColumn = pIdx->nKeyCol;
123825 if( resizeIndexObject(db, pIdx, pIdx->nKeyCol+n) ) return;
123826 for(i=0, j=pIdx->nKeyCol; i<nPk; i++){
123827 if( !isDupColumn(pIdx, pIdx->nKeyCol, pPk, i) ){
123828 testcase( hasColumn(pIdx->aiColumn, pIdx->nKeyCol, pPk->aiColumn[i]) );
123838 assert( pIdx->nColumn>=pIdx->nKeyCol+n );
125158 sqlite3VdbeAddOp4(v, OP_SorterOpen, iSorter, 0, pIndex->nKeyCol, (char*)
125184 pIndex->nKeyCol); VdbeCoverage(v);
125249 p->nKeyCol = nCol - 1;
125515 nExtraCol = pPk ? pPk->nKeyCol : 1;
125532 pIndex->nKeyCol = pList->nExpr;
125562 for(i=0; i<pIndex->nKeyCol; i++, pListItem++){
125629 for(j=0; j<pPk->nKeyCol; j++){
125632 if( isDupColumn(pIndex, pIndex->nKeyCol, pPk, j) ){
125635 testcase( hasColumn(pIndex->aiColumn,pIndex->nKeyCol,x) );
125694 if( pIdx->nKeyCol!=pIndex->nKeyCol ) continue;
125695 for(k=0; k<pIdx->nKeyCol; k++){
125704 if( k==pIdx->nKeyCol ){
125906 int nCopy = MIN(ArraySize(aVal), pIdx->nKeyCol);
125933 for(i=nCopy+1; i<=pIdx->nKeyCol; i++){
125938 if( IsUniqueIndex(pIdx) ) a[pIdx->nKeyCol] = 0;
126739 for(j=0; j<pIdx->nKeyCol; j++){
126920 int nKey = pIdx->nKeyCol;
127847 assert( pPk->nKeyCol>=1 );
127848 if( pPk->nKeyCol==1 ){
127856 for(i=0; i<pPk->nKeyCol; i++){
128125 nPk = pPk->nKeyCol;
128541 pIdx->uniqNotNull ? pIdx->nKeyCol : pIdx->nColumn);
128607 nCol = (prefixOnly && pIdx->uniqNotNull) ? pIdx->nKeyCol : pIdx->nColumn;
131638 if( pIdx->nKeyCol==nCol && IsUniqueIndex(pIdx) && pIdx->pPartIdxWhere==0 ){
131974 assert( pIdx==0 || pIdx->nKeyCol==pFKey->nCol );
132033 for(i=0; i<pIdx->nKeyCol; i++){
132516 for(i=0; i<pIdx->nKeyCol; i++){
134825 nPkField = pPk->nKeyCol;
135388 regIdx, pIdx->nKeyCol); VdbeCoverage(v);
135407 for(i=0; i<pPk->nKeyCol; i++){
135423 int addrJump = sqlite3VdbeCurrentAddr(v)+pPk->nKeyCol;
135427 for(i=0; i<pPk->nKeyCol; i++){
135431 if( i==(pPk->nKeyCol-1) ){
135699 pIdx->uniqNotNull ? pIdx->nKeyCol: pIdx->nColumn);
135828 if( pDest->nKeyCol!=pSrc->nKeyCol || pDest->nColumn!=pSrc->nColumn ){
135834 for(i=0; i<pSrc->nKeyCol; i++){
140102 mx = pIdx->nKeyCol;
140116 i<pIdx->nKeyCol);
140551 r2 = sqlite3GetTempRange(pParse, pPk->nKeyCol);
140552 sqlite3VdbeAddOp3(v, OP_Null, 1, r2, r2+pPk->nKeyCol-1);
140596 a1 = sqlite3VdbeAddOp4Int(v, OP_IdxGT, iDataCur, 0,r2,pPk->nKeyCol);
140606 for(j=0; j<pPk->nKeyCol; j++){
140810 for(kk=0; kk<pIdx->nKeyCol; kk++){
140832 for(kk=0; kk<pIdx->nKeyCol; kk++){
140843 pIdx->nKeyCol); VdbeCoverage(v);
140856 sqlite3ReleaseTempRange(pParse, r2, pPk->nKeyCol);
143959 nKey = pPk->nKeyCol;
144661 assert( sqlite3PrimaryKeyIndex(pTab)->nKeyCol==nKey );
153506 for(i=0; i<pPk->nKeyCol; i++){
153544 dest.iSDParm2 = (pPk ? pPk->nKeyCol : -1);
153855 for(i=0; i<pIdx->nKeyCol; i++){
153955 nPk = pPk ? pPk->nKeyCol : 0;
154522 assert( pPk->nKeyCol==1 );
154579 assert( pPk->nKeyCol==1 );
154799 if( pTarget->nExpr!=pIdx->nKeyCol ) continue;
154807 nn = pIdx->nKeyCol;
154939 int nPk = pPk->nKeyCol;
156271 && sqlite3PrimaryKeyIndex(pNew)->nKeyCol!=1
158759 && pLoop->u.btree.nEq==pLoop->u.btree.pIndex->nKeyCol
159490 iRowidReg = sqlite3GetTempRange(pParse, pPk->nKeyCol);
159491 for(j=0; j<pPk->nKeyCol; j++){
159496 iRowidReg, pPk->nKeyCol); VdbeCoverage(v);
159647 sqlite3VdbeAddOp2(v, OP_OpenEphemeral, regRowset, pPk->nKeyCol);
159759 int nPk = pPk->nKeyCol;
160063 nPk = pPk->nKeyCol;
160219 nPk = pPk->nKeyCol;
161229 for(i=0; i<pIdx->nKeyCol; i++){
162793 for(i=0; i<pIdx->nKeyCol; i++){
162799 if( i==pIdx->nKeyCol ){
163056 int nKeyCol; /* Number of columns in the constructed index */
163093 nKeyCol = 0;
163126 if( whereLoopResize(pParse->db, pLoop, nKeyCol+1) ){
163129 pLoop->aLTerm[nKeyCol++] = pTerm;
163134 assert( nKeyCol>0 || pParse->db->mallocFailed );
163135 pLoop->u.btree.nEq = pLoop->nLTerm = nKeyCol;
163156 if( extraCols & MASKBIT(i) ) nKeyCol++;
163159 nKeyCol += pTable->nCol - BMS + 1;
163163 pIdx = sqlite3AllocateIndexObject(pParse->db, nKeyCol+1, 0, &zNotUsed);
163218 assert( n==nKeyCol );
163226 sqlite3VdbeAddOp2(v, OP_OpenAutoindex, pLevel->iIdxCur, nKeyCol+1);
163773 nField = pIdx->nKeyCol;
165153 assert( pNew->u.btree.nEq<pProbe->nKeyCol
165193 if( IsUniqueIndex(pProbe) && saved_nEq==pProbe->nKeyCol-1 ){
165287 || (iCol>=0 && nInMul==0 && saved_nEq==pProbe->nKeyCol-1)
165290 || (pProbe->nKeyCol==1 && pProbe->onError && eOp==WO_EQ)
165461 && (pNew->u.btree.nEq<pProbe->nKeyCol ||
165495 && saved_nEq+1<pProbe->nKeyCol
165551 for(jj=0; jj<pIndex->nKeyCol; jj++){
165555 for(jj=0; jj<pIndex->nKeyCol; jj++){
165913 sPk.nKeyCol = 1;
166913 u16 nKeyCol; /* Number of key columns in pIndex */
167026 nKeyCol = 0;
167031 nKeyCol = pIndex->nKeyCol;
167033 assert( nColumn==nKeyCol+1 || !HasRowid(pIndex->pTable) );
167182 if( j==0 || j<nKeyCol ){
167857 || pIdx->nKeyCol>ArraySize(pLoop->aLTermSpace)
167860 for(j=0; j<pIdx->nKeyCol; j++){
167867 if( j!=pIdx->nKeyCol ) continue;
168915 sqlite3VdbeAddOp2(v, OP_OpenEphemeral, pRJ->iMatch, pPk->nKeyCol);