sql: replace all usages of OP_OpenEphemeral
- Autoindexes are temporary disabled since they rely on ephemeral tables with ROWID. WITHOUT ROWID (in SQLite meaning) tables are known to be unable to support autoindex optimization. - ORDER BY optimization is also temporary disabled: transient ephemeral table contains all columns from SELECT statement plus columns from ORDER BY statement without excluding their intersection. - Replaced all generated occurrences of OP_OpenEphemeral including those which used ROWID with OP_OpenTEphemeral opcode. - Fixed tests which rely on mnemonic of opcode creating epehemral table. Part of #2680
Showing
- src/box/sql/CMakeLists.txt 1 addition, 0 deletionssrc/box/sql/CMakeLists.txt
- src/box/sql/opcodes.c 2 additions, 2 deletionssrc/box/sql/opcodes.c
- src/box/sql/opcodes.h 2 additions, 2 deletionssrc/box/sql/opcodes.h
- src/box/sql/select.c 70 additions, 31 deletionssrc/box/sql/select.c
- src/box/sql/where.c 3 additions, 4 deletionssrc/box/sql/where.c
- test/sql-tap/distinct.test.lua 1 addition, 1 deletiontest/sql-tap/distinct.test.lua
Loading
Please register or sign in to comment