1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00
Commit Graph

84 Commits

Author SHA1 Message Date
Sergei Golubchik
ca6454bcfe for now, remove FOR SYSTEM_TIME at the end of the query
non-standard, redundant, potentially risky in the future,
hides bugs. See #383, #384, #385

Fixed a parser bug where
SELECT * FROM (t1 join t2) FOR SYSTEM_TIME ...
was not an error.
2017-12-13 21:51:20 +01:00
Aleksey Midenkov
947aa0bab9 SQL: vers_setup_select() misc refactoring
Renamed to SELECT_LEX::vers_setup_conds().
Moved optimized fields check to JOIN::vers_check_items().
2017-12-08 19:37:24 +03:00
Aleksey Midenkov
ad51d77f79 SQL: WHERE top level item [#365 bug 11]
Tests affected (forced mode):

main.range main.range_mrr_icp
2017-12-08 16:26:18 +03:00
Sergei Golubchik
3198bc839d Parser: unreserve keywords
SELECT * FROM t1 FOR SYSTEM_TIME AS OF ...

becomes ambiguous, but it's the same as with

SELECT ... UNION SELECT ... ORDER BY ...
2017-12-05 15:09:09 +03:00
Aleksey Midenkov
6ac773421f SQL: WHERE cond freed prematurely for PS [#365 bug 10]
Applicable to vanilla version.
Applies to Item_cond_and, etc.: items with allocating copy_andor_structure().

Tests affected (forced mode):

main.subselect_sj
main.subselect_sj_jcl6
2017-12-05 14:32:34 +03:00
Aleksey Midenkov
3d88a72f76 SQL: fix subquery not a derived table [#365 bug 9]
Tests affected (forced mode):

main.ps \
main.user_var \
main.myisam_explain_non_select_all \
main.opt_tvc \
main.subselect \
main.subselect_no_exists_to_in \
main.derived \
main.derived_opt \
main.update
2017-12-05 14:32:33 +03:00
Aleksey Midenkov
5bf14f93a4 Tests: fix combinations 2017-12-04 00:49:44 +03:00
Aleksey Midenkov
b9225bb52c SQL: outdated select_lex->where fix [#365 bug 5]
Affected tests (forced mode):

main.index_merge_myisam

After optimization versioning AND takes operands from WHERE AND
leaving `select_lex->where` as empty dangling AND.
2017-11-30 23:23:21 +03:00
Aleksey Midenkov
e4b86780ae SQL: optimized transformer fix [#365 bug 4]
Affected tests (forced mode):

main.win
main.selectivity_innodb
main.subselect_cache
main.analyze_stmt_orderby

Related to #226 (909867d014).
2017-11-30 08:31:38 +03:00
Eugene Kosov
99baeaa951 SQL: MAX microseconds for current system rows [fixes #245] 2017-08-18 14:29:22 +03:00
Aleksey Midenkov
d3d2ea9fd5 SQL, Parser: system_time logic and syntax fixes [closes #237] 2017-08-08 17:12:16 +03:00
Aleksey Midenkov
c2c8808a16 SQL: compare TRX_ID fields against timestamps [closes #231] 2017-08-03 16:01:16 +03:00
Aleksey Midenkov
91c8b43e77 Parser: syntax for query system_time [closes #230]
Eliminated `QUERY FOR`.
2017-07-12 12:10:13 +03:00
Aleksey Midenkov
4b0f1284ee SQL: revisit error messages [closes #217] 2017-07-03 14:04:34 +03:00
Aleksey Midenkov
1e8a81dea6 SQL: CREATE VIEW and misc improvements [fixes #183] 2017-05-05 20:36:37 +03:00
kevg
f77a4135bf SQL: parsing of QUERY FOR [fixes #159]
Reverts 46e36bbffa7cd8d9eb861a22755025ffe8751449 - SQL: fix assertion failure in parser
2017-05-05 20:36:34 +03:00
kevg
14f007f907 SQL: versioning in embedded JOINs [fixes #160] 2017-05-05 20:36:33 +03:00
kevg
e8ae9f1ae9 SQL: VIEW NATURAL JOIN TABLE [fixes #161] 2017-05-05 20:36:33 +03:00
Aleksey Midenkov
1894fab11a Tests: split versioning.select into combinations 2017-05-05 20:36:32 +03:00
kevg
fb0b3e5902 SQL: NATURAL LEFT JOIN for versioned tables [fixes #156] 2017-05-05 20:36:32 +03:00
kevg
5a08bd3515 Tests: subqueries with JOINed tables with different FOR SYSTEM_TIME clauses [closes #154] 2017-05-05 20:36:32 +03:00
kevg
7fd549095f IB: return correct sys_trx_end in TRIGGER after UPDATE [fixes #100] 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
7a22dd3716 SQL: INNER JOIN USING with versioned tables [fixes #147] 2017-05-05 20:36:29 +03:00
kevg
17745222a1 SQL: incorrect check on specific JOIN query [fixes #145] 2017-05-05 20:36:29 +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
Aleksey Midenkov
27d9e762a9 SQL: prohibit write-locking of historic rows [fixes #102] 2017-05-05 20:36:23 +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
eff649eba4 Parser: syntax extension FOR SYSTEM_TIME ALL 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
d65bc82909 Tests: (0.4) TRANSACTION support in queries (#27) 2017-05-05 20:36:16 +03:00
Kosov Eugene
e094228631 SQL: hide implicitly added columns from SELECT * 2017-05-05 20:36:14 +03:00
Aleksey Midenkov
d3b737d910 Tests: moved to dedicated versioning suite
Run `mtr --suite=versioning` or `mtr versioning.<test-name>`
2017-05-05 20:36:13 +03:00