Lines Matching refs:nKeyCol
19159 u16 nKeyCol; /* Number of columns forming the key */ member
100318 int nKeyCol;
100324 nKeyCol = pOp->p4.i;
100326 rc = sqlite3VdbeSorterCompare(pC, pIn3, nKeyCol, &res);
103811 for(j=0; j<pIdx->nKeyCol; j++){
106844 int nKeyCol, /* Compare this many columns */
106860 r2->nField = nKeyCol;
106862 assert( r2->nField==nKeyCol );
106866 for(i=0; i<nKeyCol; i++){
113595 if( pIdx->nKeyCol>nExpr
120031 for(i=0; i<pPk->nKeyCol; i++){
120034 nField = pPk->nKeyCol;
120043 if( iPos<pPk->nKeyCol ) continue;
120069 sqlite3VdbeAddOp4Int(v, OP_IdxInsert, iCur, regRec, reg+1, pPk->nKeyCol);
120388 int nKeyCol; /* Number of index columns w/o the pk/rowid */
120508 int nKeyCol; /* Number of key columns */
120522 nKeyCol = sqlite3_value_int(argv[1]);
120523 assert( nKeyCol<=nCol );
120524 assert( nKeyCol>0 );
120548 p->nKeyCol = nKeyCol;
120967 sqlite3StrAccumInit(&sStat, 0, 0, 0, (p->nKeyCol+1)*100);
120970 for(i=0; i<p->nKeyCol; i++){
121169 nCol = pIdx->nKeyCol;
121175 nColTest = pIdx->uniqNotNull ? pIdx->nKeyCol-1 : nCol-1;
121253 sqlite3VdbeAddOp2(v, OP_Integer, pIdx->nKeyCol, regRowid);
121282 if( nColTest==1 && pIdx->nKeyCol==1 && IsUniqueIndex(pIdx) ){
121335 regKey = sqlite3GetTempRange(pParse, pPk->nKeyCol);
121336 for(j=0; j<pPk->nKeyCol; j++){
121342 sqlite3VdbeAddOp3(v, OP_MakeRecord, regKey, pPk->nKeyCol, regRowid);
121343 sqlite3ReleaseTempRange(pParse, regKey, pPk->nKeyCol);
121411 nColX = pX->nKeyCol;
121720 int nCol = pIndex->nKeyCol+1;
121806 if( !pIdx->aiRowEst || iCol>=pIdx->nKeyCol || pIdx->aiRowEst[iCol+1]==0 ){
121909 assert( !HasRowid(pIdx->pTable) || pIdx->nColumn==pIdx->nKeyCol+1 );
121911 nIdxCol = pIdx->nKeyCol;
124607 assert( pIdx->nKeyCol==1 && pIdx->onError!=OE_None );
124948 assert( pIdx->nKeyCol==1 );
125195 memcpy(zExtra, pIdx->aiRowLogEst, sizeof(LogEst)*(pIdx->nKeyCol+1));
125266 assert( iCol<MAX(pPk->nColumn,pPk->nKeyCol) );
125401 assert( pPk->nKeyCol==1 );
125411 for(i=j=1; i<pPk->nKeyCol; i++){
125421 pPk->nKeyCol = j;
125426 nPk = pPk->nColumn = pPk->nKeyCol;
125447 if( !isDupColumn(pIdx, pIdx->nKeyCol, pPk, i) ){
125448 testcase( hasColumn(pIdx->aiColumn, pIdx->nKeyCol, pPk->aiColumn[i]) );
125454 pIdx->nColumn = pIdx->nKeyCol;
125457 if( resizeIndexObject(pParse, pIdx, pIdx->nKeyCol+n) ) return;
125458 for(i=0, j=pIdx->nKeyCol; i<nPk; i++){
125459 if( !isDupColumn(pIdx, pIdx->nKeyCol, pPk, i) ){
125460 testcase( hasColumn(pIdx->aiColumn, pIdx->nKeyCol, pPk->aiColumn[i]) );
125470 assert( pIdx->nColumn>=pIdx->nKeyCol+n );
126794 sqlite3VdbeAddOp4(v, OP_SorterOpen, iSorter, 0, pIndex->nKeyCol, (char*)
126820 pIndex->nKeyCol); VdbeCoverage(v);
126887 p->nKeyCol = (u16)(nCol - 1);
127150 nExtraCol = pPk ? pPk->nKeyCol : 1;
127167 pIndex->nKeyCol = pList->nExpr;
127197 for(i=0; i<pIndex->nKeyCol; i++, pListItem++){
127264 for(j=0; j<pPk->nKeyCol; j++){
127267 if( isDupColumn(pIndex, pIndex->nKeyCol, pPk, j) ){
127270 testcase( hasColumn(pIndex->aiColumn,pIndex->nKeyCol,x) );
127329 if( pIdx->nKeyCol!=pIndex->nKeyCol ) continue;
127330 for(k=0; k<pIdx->nKeyCol; k++){
127339 if( k==pIdx->nKeyCol ){
127541 int nCopy = MIN(ArraySize(aVal), pIdx->nKeyCol);
127568 for(i=nCopy+1; i<=pIdx->nKeyCol; i++){
127573 if( IsUniqueIndex(pIdx) ) a[pIdx->nKeyCol] = 0;
128463 for(j=0; j<pIdx->nKeyCol; j++){
128644 int nKey = pIdx->nKeyCol;
129578 assert( pPk->nKeyCol>=1 );
129579 if( pPk->nKeyCol==1 ){
129587 for(i=0; i<pPk->nKeyCol; i++){
129856 nPk = pPk->nKeyCol;
130272 pIdx->uniqNotNull ? pIdx->nKeyCol : pIdx->nColumn);
130338 nCol = (prefixOnly && pIdx->uniqNotNull) ? pIdx->nKeyCol : pIdx->nColumn;
133557 if( pIdx->nKeyCol==nCol && IsUniqueIndex(pIdx) && pIdx->pPartIdxWhere==0 ){
133893 assert( pIdx==0 || pIdx->nKeyCol==pFKey->nCol );
133952 for(i=0; i<pIdx->nKeyCol; i++){
134435 for(i=0; i<pIdx->nKeyCol; i++){
136763 nPkField = pPk->nKeyCol;
137326 regIdx, pIdx->nKeyCol); VdbeCoverage(v);
137345 for(i=0; i<pPk->nKeyCol; i++){
137361 int addrJump = sqlite3VdbeCurrentAddr(v)+pPk->nKeyCol;
137365 for(i=0; i<pPk->nKeyCol; i++){
137369 if( i==(pPk->nKeyCol-1) ){
137637 pIdx->uniqNotNull ? pIdx->nKeyCol: pIdx->nColumn);
137766 if( pDest->nKeyCol!=pSrc->nKeyCol || pDest->nColumn!=pSrc->nColumn ){
137772 for(i=0; i<pSrc->nKeyCol; i++){
142044 mx = pIdx->nKeyCol;
142058 i<pIdx->nKeyCol);
142494 r2 = sqlite3GetTempRange(pParse, pPk->nKeyCol);
142495 sqlite3VdbeAddOp3(v, OP_Null, 1, r2, r2+pPk->nKeyCol-1);
142539 a1 = sqlite3VdbeAddOp4Int(v, OP_IdxGT, iDataCur, 0,r2,pPk->nKeyCol);
142549 for(j=0; j<pPk->nKeyCol; j++){
142753 for(kk=0; kk<pIdx->nKeyCol; kk++){
142775 for(kk=0; kk<pIdx->nKeyCol; kk++){
142786 pIdx->nKeyCol); VdbeCoverage(v);
142799 sqlite3ReleaseTempRange(pParse, r2, pPk->nKeyCol);
145940 nKey = pPk->nKeyCol;
146648 assert( sqlite3PrimaryKeyIndex(pTab)->nKeyCol==nKey );
155668 for(i=0; i<pPk->nKeyCol; i++){
155706 dest.iSDParm2 = (pPk ? pPk->nKeyCol : -1);
156011 for(i=0; i<pIdx->nKeyCol; i++){
156111 nPk = pPk ? pPk->nKeyCol : 0;
156678 assert( pPk->nKeyCol==1 );
156735 assert( pPk->nKeyCol==1 );
156955 if( pTarget->nExpr!=pIdx->nKeyCol ) continue;
156963 nn = pIdx->nKeyCol;
157095 int nPk = pPk->nKeyCol;
158436 && sqlite3PrimaryKeyIndex(pNew)->nKeyCol!=1
161047 && pLoop->u.btree.nEq==pLoop->u.btree.pIndex->nKeyCol
161786 iRowidReg = sqlite3GetTempRange(pParse, pPk->nKeyCol);
161787 for(j=0; j<pPk->nKeyCol; j++){
161792 iRowidReg, pPk->nKeyCol); VdbeCoverage(v);
161943 sqlite3VdbeAddOp2(v, OP_OpenEphemeral, regRowset, pPk->nKeyCol);
162055 int nPk = pPk->nKeyCol;
162359 nPk = pPk->nKeyCol;
162521 nPk = pPk->nKeyCol;
163574 for(i=0; i<pIdx->nKeyCol; i++){
165149 for(i=0; i<pIdx->nKeyCol; i++){
165155 if( i==pIdx->nKeyCol ){
165349 for(j=0; j<pIdx->nKeyCol; j++){
165460 int nKeyCol; /* Number of columns in the constructed index */
165497 nKeyCol = 0;
165530 if( whereLoopResize(pParse->db, pLoop, nKeyCol+1) ){
165533 pLoop->aLTerm[nKeyCol++] = pTerm;
165538 assert( nKeyCol>0 || pParse->db->mallocFailed );
165539 pLoop->u.btree.nEq = pLoop->nLTerm = nKeyCol;
165573 if( extraCols & MASKBIT(i) ) nKeyCol++;
165576 nKeyCol += pTable->nCol - BMS + 1;
165580 assert( nKeyCol <= pTable->nCol + MAX(0, pTable->nCol - BMS + 1) );
165582 pIdx = sqlite3AllocateIndexObject(pParse->db, nKeyCol+HasRowid(pTable),
165638 assert( n==nKeyCol );
165648 sqlite3VdbeAddOp2(v, OP_OpenAutoindex, pLevel->iIdxCur, nKeyCol+1);
166012 for(i=0; i<pPk->nKeyCol; i++){
166248 nField = pIdx->nKeyCol;
167635 assert( pNew->u.btree.nEq<pProbe->nKeyCol
167675 if( IsUniqueIndex(pProbe) && saved_nEq==pProbe->nKeyCol-1 ){
167783 || (iCol>=0 && nInMul==0 && saved_nEq==pProbe->nKeyCol-1)
167786 || (pProbe->nKeyCol==1 && pProbe->onError && (eOp & WO_EQ))
167957 && (pNew->u.btree.nEq<pProbe->nKeyCol ||
167991 && saved_nEq+1<pProbe->nKeyCol
168047 for(jj=0; jj<pIndex->nKeyCol; jj++){
168051 for(jj=0; jj<pIndex->nKeyCol; jj++){
168409 sPk.nKeyCol = 1;
169501 u16 nKeyCol; /* Number of key columns in pIndex */
169622 nKeyCol = 0;
169626 nKeyCol = pIndex->nKeyCol;
169628 assert( nColumn==nKeyCol+1 || !HasRowid(pIndex->pTable) );
169777 if( j==0 || j<nKeyCol ){
170697 || pIdx->nKeyCol>ArraySize(pLoop->aLTermSpace)
170700 for(j=0; j<pIdx->nKeyCol; j++){
170707 if( j!=pIdx->nKeyCol ) continue;
171700 sqlite3VdbeAddOp2(v, OP_OpenEphemeral, pRJ->iMatch, pPk->nKeyCol);