1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-08 14:02:16 +03:00

Remove cruft: restrict the number of sorters and lists in the VDBE to one

since no more than one was ever used anyway.  This eliminates several
op-codes and simplifies the implementation of several others. (CVS 297)

FossilOrigin-Name: e1370276c2a0d045b29c981ddcb59f737e19a91c
This commit is contained in:
drh
2001-11-01 14:41:34 +00:00
parent 18b81e5a93
commit a8b38d286e
12 changed files with 230 additions and 349 deletions

View File

@@ -15,7 +15,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.30 2001/10/19 16:44:57 drh Exp $
** $Id: vdbe.h,v 1.31 2001/11/01 14:41:34 drh Exp $
*/
#ifndef _SQLITE_VDBE_H_
#define _SQLITE_VDBE_H_
@@ -111,95 +111,92 @@ typedef struct VdbeOp VdbeOp;
#define OP_MemLoad 36
#define OP_MemStore 37
#define OP_ListOpen 38
#define OP_ListWrite 39
#define OP_ListRewind 40
#define OP_ListRead 41
#define OP_ListClose 42
#define OP_ListWrite 38
#define OP_ListRewind 39
#define OP_ListRead 40
#define OP_ListReset 41
#define OP_SortOpen 43
#define OP_SortPut 44
#define OP_SortMakeRec 45
#define OP_SortMakeKey 46
#define OP_Sort 47
#define OP_SortNext 48
#define OP_SortKey 49
#define OP_SortCallback 50
#define OP_SortClose 51
#define OP_SortPut 42
#define OP_SortMakeRec 43
#define OP_SortMakeKey 44
#define OP_Sort 45
#define OP_SortNext 46
#define OP_SortCallback 47
#define OP_SortReset 48
#define OP_FileOpen 52
#define OP_FileRead 53
#define OP_FileColumn 54
#define OP_FileClose 55
#define OP_FileOpen 49
#define OP_FileRead 50
#define OP_FileColumn 51
#define OP_FileClose 52
#define OP_AggReset 56
#define OP_AggFocus 57
#define OP_AggIncr 58
#define OP_AggNext 59
#define OP_AggSet 60
#define OP_AggGet 61
#define OP_AggReset 53
#define OP_AggFocus 54
#define OP_AggIncr 55
#define OP_AggNext 56
#define OP_AggSet 57
#define OP_AggGet 58
#define OP_SetInsert 62
#define OP_SetFound 63
#define OP_SetNotFound 64
#define OP_SetClear 65
#define OP_SetInsert 59
#define OP_SetFound 60
#define OP_SetNotFound 61
#define OP_SetClear 62
#define OP_MakeRecord 66
#define OP_MakeKey 67
#define OP_MakeIdxKey 68
#define OP_MakeRecord 63
#define OP_MakeKey 64
#define OP_MakeIdxKey 65
#define OP_Goto 69
#define OP_If 70
#define OP_Halt 71
#define OP_Goto 66
#define OP_If 67
#define OP_Halt 68
#define OP_ColumnCount 72
#define OP_ColumnName 73
#define OP_Callback 74
#define OP_NullCallback 75
#define OP_ColumnCount 69
#define OP_ColumnName 70
#define OP_Callback 71
#define OP_NullCallback 72
#define OP_Integer 76
#define OP_String 77
#define OP_Null 78
#define OP_Pop 79
#define OP_Dup 80
#define OP_Pull 81
#define OP_Integer 73
#define OP_String 74
#define OP_Null 75
#define OP_Pop 76
#define OP_Dup 77
#define OP_Pull 78
#define OP_Add 82
#define OP_AddImm 83
#define OP_Subtract 84
#define OP_Multiply 85
#define OP_Divide 86
#define OP_Remainder 87
#define OP_BitAnd 88
#define OP_BitOr 89
#define OP_BitNot 90
#define OP_ShiftLeft 91
#define OP_ShiftRight 92
#define OP_AbsValue 93
#define OP_Precision 94
#define OP_Min 95
#define OP_Max 96
#define OP_Like 97
#define OP_Glob 98
#define OP_Eq 99
#define OP_Ne 100
#define OP_Lt 101
#define OP_Le 102
#define OP_Gt 103
#define OP_Ge 104
#define OP_IsNull 105
#define OP_NotNull 106
#define OP_Negative 107
#define OP_And 108
#define OP_Or 109
#define OP_Not 110
#define OP_Concat 111
#define OP_Noop 112
#define OP_Add 79
#define OP_AddImm 80
#define OP_Subtract 81
#define OP_Multiply 82
#define OP_Divide 83
#define OP_Remainder 84
#define OP_BitAnd 85
#define OP_BitOr 86
#define OP_BitNot 87
#define OP_ShiftLeft 88
#define OP_ShiftRight 89
#define OP_AbsValue 90
#define OP_Precision 91
#define OP_Min 92
#define OP_Max 93
#define OP_Like 94
#define OP_Glob 95
#define OP_Eq 96
#define OP_Ne 97
#define OP_Lt 98
#define OP_Le 99
#define OP_Gt 100
#define OP_Ge 101
#define OP_IsNull 102
#define OP_NotNull 103
#define OP_Negative 104
#define OP_And 105
#define OP_Or 106
#define OP_Not 107
#define OP_Concat 108
#define OP_Noop 109
#define OP_Strlen 113
#define OP_Substr 114
#define OP_Strlen 110
#define OP_Substr 111
#define OP_MAX 114
#define OP_MAX 111
/*
** Prototypes for the VDBE interface. See comments on the implementation