Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Delete some code no longer in use (CVS 1376) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
f24aedc2b0c401d8b714ba39b604d7ca |
User & Date: | danielk1977 2004-05-14 11:16:56.000 |
Context
2004-05-14
| ||
12:16 | Use B+trees for tables (CVS 1377) (check-in: c6604a94d2 user: danielk1977 tags: trunk) | |
11:16 | Delete some code no longer in use (CVS 1376) (check-in: f24aedc2b0 user: danielk1977 tags: trunk) | |
11:00 | Implement type affinity for table and index records (CVS 1375) (check-in: dbfe6e9316 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.289 2004/05/14 11:16:56 danielk1977 Exp $ */ #include "sqliteInt.h" #include "os.h" #include <ctype.h> #include "vdbeInt.h" /* |
︙ | ︙ | |||
2196 2197 2198 2199 2200 2201 2202 | pTos->n = nBytes; pTos->z = zNewRecord; pTos->flags = MEM_Str | MEM_Dyn; break; } | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 | pTos->n = nBytes; pTos->z = zNewRecord; pTos->flags = MEM_Str | MEM_Dyn; break; } /* Opcode: MakeKey P1 P2 P3 ** ** Convert the top P1 entries of the stack into a single entry suitable ** for use as the key in an index. If P2 is not zero, then the original ** entries are popped off the stack. If P2 is zero, the original entries ** remain on the stack. ** |
︙ | ︙ | |||
2506 2507 2508 2509 2510 2511 2512 | */ if( pOp->p2 && containsNull && addRowid ){ pc = pOp->p2 - 1; } break; } | < < < < < < < < < < < < < < < < < < < < < < < < < < | 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 | */ if( pOp->p2 && containsNull && addRowid ){ pc = pOp->p2 - 1; } break; } /* Opcode: Checkpoint P1 * * ** ** Begin a checkpoint. A checkpoint is the beginning of a operation that ** is part of a larger transaction but which might need to be rolled back ** itself without effecting the containing transaction. A checkpoint will ** be automatically committed or rollback when the VDBE halts. ** |
︙ | ︙ |
Changes to src/where.c.
︙ | ︙ | |||
8 9 10 11 12 13 14 | ** May you find forgiveness for yourself and forgive others. ** May you share freely, never taking more than you give. ** ************************************************************************* ** This module contains C code that generates VDBE code used to process ** the WHERE clause of SQL statements. ** | | | 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | ** May you find forgiveness for yourself and forgive others. ** May you share freely, never taking more than you give. ** ************************************************************************* ** This module contains C code that generates VDBE code used to process ** the WHERE clause of SQL statements. ** ** $Id: where.c,v 1.93 2004/05/14 11:16:56 danielk1977 Exp $ */ #include "sqliteInt.h" /* ** The query generator uses an array of instances of this structure to ** help it analyze the subexpressions of the WHERE clause. Each WHERE ** clause subexpression is separated from the others by an AND operator. |
︙ | ︙ | |||
799 800 801 802 803 804 805 | sqlite3VdbeAddOp(v, OP_Goto, 0, brk); sqlite3VdbeAddOp(v, OP_MakeKey, nColumn, 0); sqlite3AddIdxKeyType(v, pIdx); sqlite3VdbeAddOp(v, OP_MemStore, pLevel->iMem, 0); if( nColumn==pIdx->nColumn || pLevel->bRev ){ testOp = OP_IdxGT; }else{ | < < < < < < | 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 | sqlite3VdbeAddOp(v, OP_Goto, 0, brk); sqlite3VdbeAddOp(v, OP_MakeKey, nColumn, 0); sqlite3AddIdxKeyType(v, pIdx); sqlite3VdbeAddOp(v, OP_MemStore, pLevel->iMem, 0); if( nColumn==pIdx->nColumn || pLevel->bRev ){ testOp = OP_IdxGT; }else{ testOp = OP_IdxGE; } if( pLevel->bRev ){ /* Scan in reverse order */ sqlite3VdbeAddOp(v, OP_MoveLt, pLevel->iCur, brk); sqlite3VdbeChangeP3(v, -1, "+", P3_STATIC); start = sqlite3VdbeAddOp(v, OP_MemLoad, pLevel->iMem, 0); sqlite3VdbeAddOp(v, OP_IdxLT, pLevel->iCur, brk); pLevel->op = OP_Prev; }else{ /* Scan in the forward order */ |
︙ | ︙ | |||
1006 1007 1008 1009 1010 1011 1012 | int nCol = nEqColumn + (score & 1); pLevel->iMem = pParse->nMem++; sqlite3VdbeAddOp(v, OP_NotNull, -nCol, sqlite3VdbeCurrentAddr(v)+3); sqlite3VdbeAddOp(v, OP_Pop, nCol, 0); sqlite3VdbeAddOp(v, OP_Goto, 0, brk); sqlite3VdbeAddOp(v, OP_MakeKey, nCol, 0); sqlite3AddIdxKeyType(v, pIdx); | < < < < < | 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 | int nCol = nEqColumn + (score & 1); pLevel->iMem = pParse->nMem++; sqlite3VdbeAddOp(v, OP_NotNull, -nCol, sqlite3VdbeCurrentAddr(v)+3); sqlite3VdbeAddOp(v, OP_Pop, nCol, 0); sqlite3VdbeAddOp(v, OP_Goto, 0, brk); sqlite3VdbeAddOp(v, OP_MakeKey, nCol, 0); sqlite3AddIdxKeyType(v, pIdx); if( pLevel->bRev ){ sqlite3VdbeAddOp(v, OP_MoveLt, pLevel->iCur, brk); if( !geFlag ){ sqlite3VdbeChangeP3(v, -1, "+", P3_STATIC); } }else{ sqlite3VdbeAddOp(v, OP_MemStore, pLevel->iMem, 1); |
︙ | ︙ | |||
1067 1068 1069 1070 1071 1072 1073 | if( nEqColumn>0 || (score&2)!=0 ){ int nCol = nEqColumn + ((score&2)!=0); sqlite3VdbeAddOp(v, OP_NotNull, -nCol, sqlite3VdbeCurrentAddr(v)+3); sqlite3VdbeAddOp(v, OP_Pop, nCol, 0); sqlite3VdbeAddOp(v, OP_Goto, 0, brk); sqlite3VdbeAddOp(v, OP_MakeKey, nCol, 0); sqlite3AddIdxKeyType(v, pIdx); | < < < < < | 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 | if( nEqColumn>0 || (score&2)!=0 ){ int nCol = nEqColumn + ((score&2)!=0); sqlite3VdbeAddOp(v, OP_NotNull, -nCol, sqlite3VdbeCurrentAddr(v)+3); sqlite3VdbeAddOp(v, OP_Pop, nCol, 0); sqlite3VdbeAddOp(v, OP_Goto, 0, brk); sqlite3VdbeAddOp(v, OP_MakeKey, nCol, 0); sqlite3AddIdxKeyType(v, pIdx); if( pLevel->bRev ){ pLevel->iMem = pParse->nMem++; sqlite3VdbeAddOp(v, OP_MemStore, pLevel->iMem, 1); testOp = OP_IdxLT; }else{ sqlite3VdbeAddOp(v, OP_MoveTo, pLevel->iCur, brk); if( !geFlag ){ |
︙ | ︙ |