Vicențiu Ciorbaru
339a290d22
Merge remote-tracking branch 'origin/5.5' into 10.0
2017-05-17 15:42:36 +03:00
Igor Babaev
934b831281
Fixed the bug mdev-7791.
...
When an IN subquery predicate was converted to a semi-join that were
materialized and the result of the materialization happened to be
the last in the execution plan then any conjunctive condition with RAND()
turned out to be lost.
Fixed by attaching this condition to the last top base table.
2017-05-16 08:25:32 -07:00
Sergei Golubchik
c91ecf9e9b
Merge branch '10.1' into 10.2
...
Revert commit db0917f68f, because the fix for MDEV-12696
is coming from 5.5 and 10.1 in this merge.
2017-05-09 13:24:52 +02:00
Sergei Golubchik
d738722eee
Merge branch '10.0' into 10.1
2017-05-08 14:58:49 +02:00
Sergei Golubchik
1c418df722
Merge branch '5.5' into 10.0
2017-05-08 12:12:48 +02:00
Sergei Golubchik
d53eb85997
MDEV-12580 Wrong query result in join when using an index (Version > "10.2.3")
...
JOIN_TAB::remove_redundant_bnl_scan_conds() removes select_cond
from a JOIN_TAB if join cache is enabled, and tab->cache_select->cond
is the equal to tab->select_cond.
But after 8d99166c69 the code to initialize join cache was moved
to happen much later than JOIN_TAB::remove_redundant_bnl_scan_conds(),
and that code might, under certain conditions, revert to *not* using
join cache (set_join_cache_denial()).
If JOIN_TAB::remove_redundant_bnl_scan_conds() removes the WHERE
condition from the JOIN_TAB and later set_join_cache_denial() disables
join cache, we end up with no WHERE condition at all.
Fix: move JOIN_TAB::remove_redundant_bnl_scan_conds() to happen
after all possible set_join_cache_denial() calls.
2017-05-08 11:08:18 +02:00
Alexander Barkov
314350a722
Merge remote-tracking branch 'origin/bb-10.2-ext' into 10.3
2017-05-07 23:51:18 +04:00
Alexander Barkov
cc694792c9
MDEV-12717 Change Item_equal to operate Type_handler rather than Item_result
2017-05-07 01:02:37 +04:00
Alexander Barkov
aea54a11a6
MDEV-12716 Change Value_source::Context to operate Type_handler rather than Item_result
2017-05-06 23:06:18 +04:00
Aleksey Midenkov
7e0ff13d7a
SQL: derived fixes [related to #185 ]
2017-05-05 20:36:39 +03:00
Aleksey Midenkov
8a11f9b243
SQL: VIEW fix [related to #185 ]
2017-05-05 20:36:39 +03:00
Aleksey Midenkov
7153ff85a1
SQL: derived tables improvements [ closes #185 ]
2017-05-05 20:36:38 +03:00
Aleksey Midenkov
122ffa2211
SQL(misc): Query_arena_stmt RAII
2017-05-05 20:36:37 +03:00
Aleksey Midenkov
1e8a81dea6
SQL: CREATE VIEW and misc improvements [ fixes #183 ]
2017-05-05 20:36:37 +03:00
kevg
7d2ed77e31
SQL: SIGSEGV in create_tmp_table() [ fixes #179 ]
...
tests are in main,rpl suites
2017-05-05 20:36:37 +03:00
kevg
ecc6cd95c4
SQL: Default 'simple' algorithm for InnoDB 'AS OF' [ closes #175 ]
2017-05-05 20:36:36 +03:00
kevg
d64702d43a
SQL: different results when querying a VIEW from PREPARED STATEMENT and without it [ fixes #176 ]
2017-05-05 20:36:35 +03:00
kevg
ecd18bc099
SQL: allow FOR SYSTEM_TIME BEFORE for SELECT queries [ closes #170 ]
2017-05-05 20:36:35 +03:00
Aleksey Midenkov
9e9af76eaf
SQL: vers_current_time refactoring [ closes #117 ]
...
* session sysvars;
* moved value parsing to set variable phase;
* renamed 'temporal_current_timestamp' to 'vers_current_time'.
2017-05-05 20:36:34 +03:00
Aleksey Midenkov
67cd92b6f4
SQL, IB: Copy history via CREATE .. SELECT [ closes #157 , #152 ]
2017-05-05 20:36:33 +03:00
kevg
14f007f907
SQL: versioning in embedded JOINs [ fixes #160 ]
2017-05-05 20:36:33 +03:00
kevg
21e8b22f53
Misc: vers_select_conds_t::init_from_sysvar()
2017-05-05 20:36:32 +03:00
kevg
352d83569b
SQL: versioning for tmp HEAP tables created from IB tables [ closes #158 ]
2017-05-05 20:36:32 +03:00
kevg
92c7a87119
Misc: vers_setup_select() Item_field ctor fix
...
Related to #150
2017-05-05 20:36:31 +03:00
kevg
9ea02899f8
SQL: nested equi-join for versioned table [ fixes #150 ]
2017-05-05 20:36:31 +03:00
kevg
d85e7a5e01
SQL: NATUAL JOIN on view + table [ fixes #148 ]
2017-05-05 20:36:30 +03:00
kevg
b8bfc06b26
SQL, Tests: temporal_current_timestamp for setting default AS OF timestamp [ closes #117 ]
2017-05-05 20:36:28 +03:00
kevg
bcc8ba78bc
SQL, Tests: versioning for nested queries and CTE [ closes #74 ]
2017-05-05 20:36:27 +03:00
kevg
7aa3ebdd18
SQL, Tests: FOR SYSTEM_TIME for VIEWs [ closes #98 ]
2017-05-05 20:36:27 +03:00
kevg
e069de7d9d
SQL: TRUNCATE FOR SYSTEM_TIME BEFORE [ closes #111 ]
2017-05-05 20:36:25 +03:00
Aleksey Midenkov
3a64d55aed
Parser, SQL: table-specific FOR SYSTEM_TIME [ closes #116 ]
...
* Syntax sugar: query-global QUERY FOR SYSTEM_TIME
2017-05-05 20:36:25 +03:00
kevg
c9e4ac4b72
0.6: truncate history feature [ closes #96 ]
2017-05-05 20:36:24 +03:00
Aleksey Midenkov
ea60760e47
SQL: missed FOR SYSTEM_TIME ALL for FOR_SYSTEM_TIME_UNSPECIFIED
...
[fixes #105 ]
2017-05-05 20:36:23 +03:00
Aleksey Midenkov
27d9e762a9
SQL: prohibit write-locking of historic rows [ fixes #102 ]
2017-05-05 20:36:23 +03:00
Aleksey Midenkov
412dd1e1f3
SQL: FOR SYSTEM_TIME support in VIEW expression [ fixes #99 ]
2017-05-05 20:36:23 +03:00
kevg
dc4ef66fee
SQL: optimize FOR SYSTEM_TIME ALL queries [ closes #85 ]
2017-05-05 20:36:21 +03:00
Aleksey Midenkov
695c5aabad
SQL: error on FOR SYSTEM_TIME without any versioned tables
...
[fixes #88 ]
2017-05-05 20:36:20 +03:00
Aleksey Midenkov
dd3099a00d
SQL: unsupported engine fix for VTQ funcs
2017-05-05 20:36:19 +03:00
Aleksey Midenkov
d54d36c45e
IB, SQL: (0.4) COMMIT_ID-based ordering of transactions
...
IB:
* removed CONCURR_TRX from VTQ;
* new fields in VTQ: COMMIT_ID, ISO_LEVEL.
SQL:
* renamed BEGIN_TS, COMMIT_TS to VTQ_BEGIN_TS, VTQ_COMMIT_TS;
* new functions: VTQ_COMMIT_ID, VTQ_ISO_LEVEL, VTQ_TRX_ID, VTQ_TRX_SEES, VTQ_TRX_SEES_EQ;
* versioned SELECT for IB uses VTQ_TRX_SEES, VTQ_TRX_SEES_EQ.
Closes #71
2017-05-05 20:36:17 +03:00
Aleksey Midenkov
6d89a4a49b
Parser, SQL: (0.4) TRANSACTION support in queries
...
Syntax extension: TIMESTAMP/TRANSACTION keyword can be used before FROM ... TO, BETWEEN ... AND.
Example:
SELECT * FROM t1 FOR SYSTEM_TIME TIMESTAMP FROM '1-1-1' TO NOW();
Closes #27
2017-05-05 20:36:15 +03:00
Aleksey Midenkov
01c9d1c97f
SQL: SP idempotency fix
...
Fixes #52
2017-05-05 20:36:13 +03:00
Aleksey Midenkov
5cf3dd79fa
SQL: JOIN + WHERE in SP
2017-05-05 20:36:13 +03:00
Aleksey Midenkov
6ccae7369b
SQL: fixed LEFT JOIN, RIGHT JOIN
2017-05-05 20:36:11 +03:00
Aleksey Midenkov
2db17e6624
Parser: versioned JOIN fix
...
Moved opt_for_system_time_clause from table identifier (which binds
it to single table) to table expression.
2017-05-05 20:36:10 +03:00
Aleksey Midenkov
53a892fcfd
IB: 0.2 part IV
...
* BEGIN_TS(), COMMIT_TS() SQL functions;
* VTQ instead of packed stores secs + usecs like my_timestamp_to_binary() does;
* versioned SELECT to IB is translated with COMMIT_TS();
* SQL fixes:
- FOR_SYSTEM_TIME_UNSPECIFIED condition compares to TIMESTAMP_MAX_VALUE;
- segfault fix #36 : multiple execute of prepared stmt;
- different tables to same stored procedure fix (#39 )
* Fixes of previous parts: ON DUPLICATE KEY, other misc fixes.
2017-05-05 20:36:10 +03:00
Aleksey Midenkov
a72259353a
Cleanup: garbage hunk
2017-05-05 20:36:09 +03:00
Aleksey Midenkov
1ec7dbe176
IB: 0.2 part III
...
* versioned DML: INSERT, UPDATE, DELETE;
* general refactoring and fixes.
Warning: breaks 'insert' and 'update' tests since they require part IV.
2017-05-05 20:36:08 +03:00
Daniel Fiala
be6f2d302c
0.1: SQL-level System Versioning
2017-05-05 20:35:08 +03:00
Alexander Barkov
ac53b49b1b
Merge remote-tracking branch 'origin/10.2' into bb-10.2-ext
2017-05-05 16:12:54 +04:00
Igor Babaev
15f9931f6d
Fixed the bug mdev-12673.
...
This patch corrects the fix for the bug mdev-10693.
It is critical for the function get_best_combination() not to call
create_ref_for_key() for constant tables.
This bug could manifest itself only in multi-table subqueries where
one of the tables is accessed by a constant primary key.
2017-05-04 22:45:32 -07:00