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
Igor Babaev
ce8ee7d90b
Fixed the bug mdev-11990.
...
The usage of windows functions when all tables were optimized away
by min/max optimization were not supported. As result a result,
the queries that used window functions with min/max aggregation
over the whole table returned wrong result sets.
The patch fixed this problem.
2017-05-03 13:50:35 -07:00
Alexander Barkov
280866d38d
Merge remote-tracking branch 'origin/bb-10.2-ext' into 10.3
2017-05-02 13:52:45 +04:00