diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/sqliteInt.h | 8 | ||||
-rw-r--r-- | src/vdbe.c | 6 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/sqliteInt.h b/src/sqliteInt.h index bcf6a591a..c97499b30 100644 --- a/src/sqliteInt.h +++ b/src/sqliteInt.h @@ -367,6 +367,14 @@ #endif /* +** If all temporary storage is in-memory, then omit the external merge-sort +** logic since it is superfluous. +*/ +#if SQLITE_TEMP_STORE==3 && !defined(SQLITE_OMIT_MERGE_SORT) +# define SQLITE_OMIT_MERGE_SORT +#endif + +/* ** GCC does not define the offsetof() macro so we'll have to do it ** ourselves. */ diff --git a/src/vdbe.c b/src/vdbe.c index 3cab3b3fd..be07f6087 100644 --- a/src/vdbe.c +++ b/src/vdbe.c @@ -3156,6 +3156,12 @@ case OP_OpenWrite: { ** by this opcode will be used for automatically created transient ** indices in joins. */ +/* Opcode: OpenSorter P1 P2 * P4 * +** +** This opcode works like OP_OpenEphemeral except that it opens +** a transient index that is specifically designed to sort large +** tables using an external merge-sort algorithm. +*/ case OP_OpenSorter: case OP_OpenAutoindex: case OP_OpenEphemeral: { |