mirror of
https://github.com/sqlite/sqlite.git
synced 2025-08-08 14:02:16 +03:00
The code is in place to replace GDBM with BTree. But I have not yet
attempted to compile it. I am sure the code contains bugs. (CVS 238) FossilOrigin-Name: 6ecc8b20d4f402f45f03d46d8d4fa40dea666e97
This commit is contained in:
199
src/vdbe.h
199
src/vdbe.h
@@ -27,7 +27,7 @@
|
||||
** or VDBE. The VDBE implements an abstract machine that runs a
|
||||
** simple program to access and modify the underlying database.
|
||||
**
|
||||
** $Id: vdbe.h,v 1.18 2001/08/19 18:19:46 drh Exp $
|
||||
** $Id: vdbe.h,v 1.19 2001/09/13 13:46:57 drh Exp $
|
||||
*/
|
||||
#ifndef _SQLITE_VDBE_H_
|
||||
#define _SQLITE_VDBE_H_
|
||||
@@ -71,122 +71,133 @@ typedef struct VdbeOp VdbeOp;
|
||||
** The source tree contains an AWK script named renumberOps.awk that
|
||||
** can be used to renumber these opcodes when new opcodes are inserted.
|
||||
*/
|
||||
#define OP_OpenIdx 1
|
||||
#define OP_OpenTbl 2
|
||||
#define OP_Close 3
|
||||
#define OP_Fetch 4
|
||||
#define OP_Fcnt 5
|
||||
#define OP_New 6
|
||||
#define OP_Put 7
|
||||
#define OP_Distinct 8
|
||||
#define OP_Found 9
|
||||
#define OP_NotFound 10
|
||||
#define OP_Delete 11
|
||||
#define OP_Field 12
|
||||
#define OP_KeyAsData 13
|
||||
#define OP_Key 14
|
||||
#define OP_FullKey 15
|
||||
#define OP_Rewind 16
|
||||
#define OP_Next 17
|
||||
#define OP_Transaction 1
|
||||
#define OP_Commit 2
|
||||
#define OP_Rollback 3
|
||||
|
||||
#define OP_Destroy 18
|
||||
#define OP_Reorganize 19
|
||||
#define OP_Open 4
|
||||
#define OP_OpenTemp 5
|
||||
#define OP_Close 6
|
||||
#define OP_MoveTo 7
|
||||
#define OP_Fcnt 8
|
||||
#define OP_NewRecno 9
|
||||
#define OP_Put 10
|
||||
#define OP_Distinct 11
|
||||
#define OP_Found 12
|
||||
#define OP_NotFound 13
|
||||
#define OP_Delete 14
|
||||
#define OP_Column 15
|
||||
#define OP_KeyAsData 16
|
||||
#define OP_Recno 17
|
||||
#define OP_FullKey 18
|
||||
#define OP_Rewind 19
|
||||
#define OP_Next 20
|
||||
|
||||
#define OP_BeginIdx 20
|
||||
#define OP_NextIdx 21
|
||||
#define OP_PutIdx 22
|
||||
#define OP_DeleteIdx 23
|
||||
#define OP_Destroy 21
|
||||
#define OP_CreateIndex 22
|
||||
#define OP_CreateTable 23
|
||||
#define OP_Reorganize 24
|
||||
|
||||
#define OP_MemLoad 24
|
||||
#define OP_MemStore 25
|
||||
#define OP_BeginIdx 25
|
||||
#define OP_NextIdx 26
|
||||
#define OP_PutIdx 27
|
||||
#define OP_DeleteIdx 28
|
||||
|
||||
#define OP_ListOpen 26
|
||||
#define OP_ListWrite 27
|
||||
#define OP_ListRewind 28
|
||||
#define OP_ListRead 29
|
||||
#define OP_ListClose 30
|
||||
#define OP_MemLoad 29
|
||||
#define OP_MemStore 30
|
||||
|
||||
#define OP_SortOpen 31
|
||||
#define OP_SortPut 32
|
||||
#define OP_SortMakeRec 33
|
||||
#define OP_SortMakeKey 34
|
||||
#define OP_Sort 35
|
||||
#define OP_SortNext 36
|
||||
#define OP_SortKey 37
|
||||
#define OP_SortCallback 38
|
||||
#define OP_SortClose 39
|
||||
#define OP_ListOpen 31
|
||||
#define OP_ListWrite 32
|
||||
#define OP_ListRewind 33
|
||||
#define OP_ListRead 34
|
||||
#define OP_ListClose 35
|
||||
|
||||
#define OP_FileOpen 40
|
||||
#define OP_FileRead 41
|
||||
#define OP_FileField 42
|
||||
#define OP_FileClose 43
|
||||
#define OP_SortOpen 36
|
||||
#define OP_SortPut 37
|
||||
#define OP_SortMakeRec 38
|
||||
#define OP_SortMakeKey 39
|
||||
#define OP_Sort 40
|
||||
#define OP_SortNext 41
|
||||
#define OP_SortKey 42
|
||||
#define OP_SortCallback 43
|
||||
#define OP_SortClose 44
|
||||
|
||||
#define OP_AggReset 44
|
||||
#define OP_AggFocus 45
|
||||
#define OP_AggIncr 46
|
||||
#define OP_AggNext 47
|
||||
#define OP_AggSet 48
|
||||
#define OP_AggGet 49
|
||||
#define OP_FileOpen 45
|
||||
#define OP_FileRead 46
|
||||
#define OP_FileField 47
|
||||
#define OP_FileClose 48
|
||||
|
||||
#define OP_SetInsert 50
|
||||
#define OP_SetFound 51
|
||||
#define OP_SetNotFound 52
|
||||
#define OP_SetClear 53
|
||||
#define OP_AggReset 49
|
||||
#define OP_AggFocus 50
|
||||
#define OP_AggIncr 51
|
||||
#define OP_AggNext 52
|
||||
#define OP_AggSet 53
|
||||
#define OP_AggGet 54
|
||||
|
||||
#define OP_MakeRecord 54
|
||||
#define OP_MakeKey 55
|
||||
#define OP_SetInsert 55
|
||||
#define OP_SetFound 56
|
||||
#define OP_SetNotFound 57
|
||||
#define OP_SetClear 58
|
||||
|
||||
#define OP_Goto 56
|
||||
#define OP_If 57
|
||||
#define OP_Halt 58
|
||||
#define OP_MakeRecord 59
|
||||
#define OP_MakeKey 60
|
||||
#define OP_MakeIdxKey 61
|
||||
|
||||
#define OP_ColumnCount 59
|
||||
#define OP_ColumnName 60
|
||||
#define OP_Callback 61
|
||||
#define OP_Goto 62
|
||||
#define OP_If 63
|
||||
#define OP_Halt 64
|
||||
|
||||
#define OP_Integer 62
|
||||
#define OP_String 63
|
||||
#define OP_Null 64
|
||||
#define OP_Pop 65
|
||||
#define OP_Dup 66
|
||||
#define OP_Pull 67
|
||||
#define OP_ColumnCount 65
|
||||
#define OP_ColumnName 66
|
||||
#define OP_Callback 67
|
||||
|
||||
#define OP_Add 68
|
||||
#define OP_AddImm 69
|
||||
#define OP_Subtract 70
|
||||
#define OP_Multiply 71
|
||||
#define OP_Divide 72
|
||||
#define OP_Min 73
|
||||
#define OP_Max 74
|
||||
#define OP_Like 75
|
||||
#define OP_Glob 76
|
||||
#define OP_Eq 77
|
||||
#define OP_Ne 78
|
||||
#define OP_Lt 79
|
||||
#define OP_Le 80
|
||||
#define OP_Gt 81
|
||||
#define OP_Ge 82
|
||||
#define OP_IsNull 83
|
||||
#define OP_NotNull 84
|
||||
#define OP_Negative 85
|
||||
#define OP_And 86
|
||||
#define OP_Or 87
|
||||
#define OP_Not 88
|
||||
#define OP_Concat 89
|
||||
#define OP_Noop 90
|
||||
#define OP_Integer 68
|
||||
#define OP_String 69
|
||||
#define OP_Null 70
|
||||
#define OP_Pop 71
|
||||
#define OP_Dup 72
|
||||
#define OP_Pull 73
|
||||
|
||||
#define OP_Strlen 91
|
||||
#define OP_Substr 92
|
||||
#define OP_Add 74
|
||||
#define OP_AddImm 75
|
||||
#define OP_Subtract 76
|
||||
#define OP_Multiply 77
|
||||
#define OP_Divide 78
|
||||
#define OP_Min 79
|
||||
#define OP_Max 80
|
||||
#define OP_Like 81
|
||||
#define OP_Glob 82
|
||||
#define OP_Eq 83
|
||||
#define OP_Ne 84
|
||||
#define OP_Lt 85
|
||||
#define OP_Le 86
|
||||
#define OP_Gt 87
|
||||
#define OP_Ge 88
|
||||
#define OP_IsNull 89
|
||||
#define OP_NotNull 90
|
||||
#define OP_Negative 91
|
||||
#define OP_And 92
|
||||
#define OP_Or 93
|
||||
#define OP_Not 94
|
||||
#define OP_Concat 95
|
||||
#define OP_Noop 96
|
||||
|
||||
#define OP_MAX 93
|
||||
#define OP_Strlen 97
|
||||
#define OP_Substr 98
|
||||
|
||||
#define OP_MAX 98
|
||||
|
||||
/*
|
||||
** Prototypes for the VDBE interface. See comments on the implementation
|
||||
** for a description of what each of these routines does.
|
||||
*/
|
||||
Vdbe *sqliteVdbeCreate(sqlite*);
|
||||
void sqliteVdbeCreateCallback(Vdbe*, int*);
|
||||
void sqliteVdbeTableRootAddr(Vdbe*, int*);
|
||||
void sqliteVdbeIndexRootAddr(Vdbe*, int*);
|
||||
int sqliteVdbeAddOp(Vdbe*,int,int,int,const char*,int);
|
||||
int sqliteVdbeAddOpList(Vdbe*, int nOp, VdbeOp const *aOp);
|
||||
void sqliteVdbeChangeP1(Vdbe*, int addr, int P1);
|
||||
void sqliteVdbeChangeP3(Vdbe*, int addr, const char *zP1, int N);
|
||||
void sqliteVdbeDequoteP3(Vdbe*, int addr);
|
||||
int sqliteVdbeMakeLabel(Vdbe*);
|
||||
|
Reference in New Issue
Block a user