diff options
author | drh <drh@noemail.net> | 2011-08-25 18:01:28 +0000 |
---|---|---|
committer | drh <drh@noemail.net> | 2011-08-25 18:01:28 +0000 |
commit | d7f6e906db4e97accd60d5e3dd829d64d66202dd (patch) | |
tree | 69fdad8ddb4376bbde75b795142e54c95c82a573 /src | |
parent | ee140c4d711e88de0d20350403f20bc248f451c9 (diff) | |
download | sqlite-d7f6e906db4e97accd60d5e3dd829d64d66202dd.tar.gz sqlite-d7f6e906db4e97accd60d5e3dd829d64d66202dd.zip |
Disable external merge source when SQLITE_TEMP_STORE==3. Add documentation
to the OP_OpenSorter opcode.
FossilOrigin-Name: 5a690486811379cea40c6ed48b2902f421234832
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: { |