Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Fix up a couple of little things in the vdbe. select1.test passes now. (CVS 1351) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
9ba0df4d7792dccb67782113751c0e58 |
User & Date: | danielk1977 2004-05-11 04:54:49.000 |
Context
2004-05-11
| ||
06:17 | Minor changes to the vdbe so that more tests pass. (CVS 1352) (check-in: 16078fe0ea user: danielk1977 tags: trunk) | |
04:54 | Fix up a couple of little things in the vdbe. select1.test passes now. (CVS 1351) (check-in: 9ba0df4d77 user: danielk1977 tags: trunk) | |
03:11 | Internal symbols MEM_Dyn and MEM_AggCtx were defined as the same bit pattern. Change MEM_AggCtx to 0x1000. (CVS 1350) (check-in: 2fffd133a5 user: danielk1977 tags: trunk) | |
Changes
Changes to src/vdbe.c.
︙ | ︙ | |||
39 40 41 42 43 44 45 | ** ** Various scripts scan this source file in order to generate HTML ** documentation, headers files, or other derived files. The formatting ** of the code in this file is, therefore, important. See other comments ** in this file for details. If in doubt, do not deviate from existing ** commenting and indentation practices when changing or adding code. ** | | | 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | ** ** Various scripts scan this source file in order to generate HTML ** documentation, headers files, or other derived files. The formatting ** of the code in this file is, therefore, important. See other comments ** in this file for details. If in doubt, do not deviate from existing ** commenting and indentation practices when changing or adding code. ** ** $Id: vdbe.c,v 1.277 2004/05/11 04:54:49 danielk1977 Exp $ */ #include "sqliteInt.h" #include "os.h" #include <ctype.h> #include "vdbeInt.h" /* |
︙ | ︙ | |||
2730 2731 2732 2733 2734 2735 2736 | if( rc==SQLITE_OK ){ rc = sqlite3BtreeBeginTrans(pCx->pBt); } if( rc==SQLITE_OK ){ /* If a transient index is required, create it by calling ** sqlite3BtreeCreateTable() with the BTREE_ZERODATA flag before ** opening it. If a transient table is required, just use the | | > | 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 | if( rc==SQLITE_OK ){ rc = sqlite3BtreeBeginTrans(pCx->pBt); } if( rc==SQLITE_OK ){ /* If a transient index is required, create it by calling ** sqlite3BtreeCreateTable() with the BTREE_ZERODATA flag before ** opening it. If a transient table is required, just use the ** automatically created table with root-page 1 (an INTKEY table). */ if( pOp->p2 ){ int pgno; rc = sqlite3BtreeCreateTable(pCx->pBt, &pgno, BTREE_ZERODATA); if( rc==SQLITE_OK ){ assert( pgno==MASTER_ROOT+1 ); rc = sqlite3BtreeCursor(pCx->pBt, pgno, 1, 0, 0, &pCx->pCursor); } }else{ rc = sqlite3BtreeCursor(pCx->pBt, MASTER_ROOT, 1, 0, 0, &pCx->pCursor); pCx->intKey = 1; } } break; } /* Opcode: OpenPseudo P1 * * ** |
︙ | ︙ | |||
3204 3205 3206 3207 3208 3209 3210 | Stringify(pNos); nKey = pNos->n; zKey = pNos->z; }else{ assert( pNos->flags & MEM_Int ); /* If the table is an INTKEY table, set nKey to the value of | | > > > < < < < | 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 | Stringify(pNos); nKey = pNos->n; zKey = pNos->z; }else{ assert( pNos->flags & MEM_Int ); /* If the table is an INTKEY table, set nKey to the value of ** the integer key, and zKey to NULL. Otherwise, set nKey to ** sizeof(i64) and point zKey at iKey. iKey contains the integer ** key in the on-disk byte order. */ iKey = intToKey(pNos->i); if( pC->intKey ){ nKey = intToKey(pNos->i); zKey = 0; }else{ nKey = sizeof(i64); zKey = (char*)&iKey; } if( pOp->p2 & OPFLAG_NCHANGE ) db->nChange++; if( pOp->p2 & OPFLAG_LASTROWID ) db->lastRowid = pNos->i; if( pOp->p2 & OPFLAG_CSCHANGE ) db->csChange++; if( pC->nextRowidValid && pTos->i>=pC->nextRowid ){ pC->nextRowidValid = 0; } |
︙ | ︙ | |||
3423 3424 3425 3426 3427 3428 3429 | }else if( (pC = &p->aCsr[i])->pCursor!=0 ){ sqlite3VdbeCursorMoveto(pC); zRec = 0; pCrsr = pC->pCursor; if( pC->nullRow ){ payloadSize = 0; }else if( pC->keyAsData ){ | > > | > | 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 | }else if( (pC = &p->aCsr[i])->pCursor!=0 ){ sqlite3VdbeCursorMoveto(pC); zRec = 0; pCrsr = pC->pCursor; if( pC->nullRow ){ payloadSize = 0; }else if( pC->keyAsData ){ assert( !pC->intKey ); u64 pl64; sqlite3BtreeKeySize(pCrsr, &pl64); payloadSize = pl64; }else{ sqlite3BtreeDataSize(pCrsr, &payloadSize); } }else if( pC->pseudoTable ){ payloadSize = pC->nData; zRec = pC->pData; assert( payloadSize==0 || zRec!=0 ); |
︙ | ︙ |