Aleksey Midenkov
7eff2080fd
MDEV-14687 DELETE HISTORY in prepared stmt crash [ fixes #421 ]
...
Also fixes broken truncate after 617e108fb6
2017-12-20 16:12:32 +03:00
Aleksey Midenkov
c5d0c38efc
MDEV-14676 Redundancy in error codes
...
ER_VERS_NOT_VERSIONED vs ER_VERSIONING_REQUIRED
2017-12-19 22:05:25 +03:00
Aleksey Midenkov
fc21529f14
MDEV-14683 Possible redundancy in error codes
...
ER_VERS_GENERATED_ALWAYS_NOT_EMPTY vs ER_VERS_ALTER_SYSTEM_FIELD
Related to #310 (91ba4f04be
).
2017-12-19 21:55:40 +03:00
Sergei Golubchik
617e108fb6
s/TRUNCATE ... TO/DELETE HISTORY FROM ... BEFORE/
2017-12-19 16:35:38 +03:00
Aleksey Midenkov
ee68d019d1
SQL: removed VERS_HIDDEN_FLAG [ closes #409 ]
2017-12-19 16:12:56 +03:00
Eugene Kosov
8ba06032ae
MDEV-14684 Assertion `table' failed in mysql_delete
...
SQL: disable TRUNCATE table_name TO statement for VIEWs
2017-12-19 15:12:11 +03:00
Aleksey Midenkov
04bed58acf
SQL: partitioning CREATE, ALTER fixes
...
MDEV-14688 Assertion `tab_part_info->part_type == LIST_PARTITION' failed in prep_alter_part_table
MDEV-14673 Assertion `part_elem->type() == partition_element::AS_OF_NOW' failed in check_partition_info
2017-12-18 22:17:53 +03:00
Aleksey Midenkov
b0d9dc43ca
SQL: system_versioning_transaction_registry default OFF
2017-12-18 22:17:52 +03:00
Aleksey Midenkov
b55a149194
Timestamp-based versioning for InnoDB [ closes #209 ]
...
* Removed integer_fields check
* Reworked Vers_parse_info::check_sys_fields()
* Misc renames
* versioned as vers_sys_type_t
* Removed versioned_by_sql(), versioned_by_engine()
versioned() works as before;
versioned(VERS_TIMESTAMP) is versioned_by_sql();
versioned(VERS_TRX_ID) is versioned_by_engine().
* create_tmp_table() fix
* Foreign constraints for timestamp-based
* Range auto-specifier fix
* SQL: 1-row partition rotation fix [fixes #260 ]
* Fix 'drop system versioning, algorithm=inplace'
2017-12-18 19:03:51 +03:00
Eugene Kosov
9b55cc73f1
SQL, IB: unversioned fields with ALTER TABLE [ fixes #401 ]
2017-12-15 20:37:36 +03:00
Aleksey Midenkov
4624e565f3
System Versioning 1.0 pre6
...
Merge remote-tracking branch 'mariadb/bb-10.3-temporal-serg' into trunk
2017-12-15 18:12:18 +03:00
Aleksey Midenkov
70d7672377
SQL: MDEV-14633 Assertion on TRT read [ fixes #406 ]
2017-12-15 16:42:25 +03:00
Eugene Kosov
0e0f1126e6
MDEV-14649 Assertion `t->mysql_col_len == 8' failed in row_insert_for_mysql
...
SQL: add check for internal partition table type
Also fixes MDEV-14654
2017-12-15 16:35:53 +03:00
Sergei Golubchik
84e14bff4a
privilege: s/delete versioning rows/delete history/
2017-12-14 20:19:20 +01:00
Sergei Golubchik
18405e5fd9
Partitioning syntax for versioning
...
partition by system_time (
partition p0 history,
partition pn current
)
2017-12-14 20:19:14 +01:00
Aleksey Midenkov
2ae2876a6c
MDEV-14652 NATURAL JOIN crash in mark_common_columns() [ fixes #405 ]
...
SQL: reverted NATURAL JOIN fix #161 (deprecated by #383 )
2017-12-14 21:31:38 +03:00
Aleksey Midenkov
27187443ef
MDEV-14650 Assertion 0 failed in TABLE::vers_update_fields [ fixes #402 ]
...
SQL: fixed selecion of handlerton by respecting partitioning
2017-12-14 19:45:11 +03:00
Aleksey Midenkov
ab5ec0f346
SQL: disable truncate history on partitioned [ fixes #399 ]
2017-12-14 19:11:02 +03:00
Aleksey Midenkov
f96815fe97
SQL: unit resolution Item_field not yet accessible [ fixes #398 ]
2017-12-14 18:42:53 +03:00
Aleksey Midenkov
1668efb722
MDEV-14645: AS OF TIMESTAMP is misused as TRX_ID [ fixes #396 ]
2017-12-14 18:14:21 +03:00
Aleksey Midenkov
2e3b580ba4
SQL: inner/outer system_time consistency [ fixes #384 ]
2017-12-14 13:43:37 +03:00
Sergei Golubchik
f149013393
rename versioning_* variables
2017-12-14 11:31:44 +01:00
Aleksey Midenkov
eab471260b
Paritioning: better error for disabled IB engine
2017-12-13 23:51:30 +03:00
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
Sergei Golubchik
a1141e226d
fix nullable autoinc test w/o versioning
2017-12-13 21:44:31 +01:00
Sergei Golubchik
e77080c7d5
if a table is partitioned by system_time, its partitions are not versioned
...
they store history and the history does not have history
2017-12-13 21:44:30 +01:00
Aleksey Midenkov
8e8363bb75
SQL: VIEW system fields propagation removed [ fixes #393 ]
2017-12-13 18:23:32 +03:00
Aleksey Midenkov
bc4a86699d
SQL: recursive CTE inner derived vers_conditions [ fix #385 ]
2017-12-13 15:31:46 +03:00
Eugene Kosov
717f274b87
MDEV-14631 Assertion `!sys_trx_start && !sys_trx_end' failed in crete_tmp_table
...
SQL: remove unneeded assertion
SQL: disallow set sys_trx fields in INSERT ... SELECT
Fixes by @midenok.
2017-12-12 22:33:49 +03:00
Eugene Kosov
c66a20b494
SQL: better check for partition engine [ #366 ]
...
Cleaned up by @midenok.
2017-12-12 22:01:39 +03:00
Aleksey Midenkov
459f40a232
SQL: create..select revisited [ closes #370 ]
2017-12-12 21:30:49 +03:00
Aleksey Midenkov
a0e137c4a9
SQL: RIGHT JOIN in derived [ fix #383 ]
2017-12-12 20:39:44 +03:00
Eugene Kosov
cb4657e3b4
MDEV-14627 SQL: disallow ADD SYSTEM VERSIONING for system-versioned tables
...
SQL: disallow ADD SYSTEM VERSIONING for system-versioned tables
2017-12-12 14:56:28 +03:00
Eugene Kosov
9c718de2ed
Tests: versioning.derived fix for buildbot
2017-12-12 01:04:07 +03:00
Aleksey Midenkov
b7cd182896
SQL: DEFAULT value for system fields [ closes #376 ]
2017-12-10 23:52:51 +03:00
Eugene Kosov
2968543f8d
IB: NULL instead of autodecrement [ closes #373 ]
2017-12-08 19:37:24 +03: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
Eugene Kosov
8c9c302016
SQL: fix implicit sys fields for implicit engine of partitioned table [ #366 ]
2017-12-08 16:26:18 +03:00
Eugene Kosov
03b54a6b8a
SQL: table with duplicate ROW START/END columns [ fixes #369 ]
2017-12-08 16:26:17 +03:00
Aleksey Midenkov
84b718ae70
SQL: derived SYSTEM_TIME clash detection [ closes #371 ]
2017-12-08 16:26:17 +03:00
Sergei Golubchik
b3fe45bcd4
rephrase error messages, fix quoting
2017-12-08 16:26:17 +03:00
Sergei Golubchik
903be4e6be
remove my_error_as and one unnecessary error message
2017-12-08 16:26:16 +03:00
Sergei Golubchik
ea1ccfa500
SQL: regression fix: make NOW a valid identifier again [ #363 ]
...
* again, as in 10.2, NOW is a keyword only if followed by parentheses
* use AS OF CURRENT_TIMESTAMP or AS OF NOW()
* AS OF CURRENT_TIMESTAMP and AS OF NOW() mean AS OF NOW(6),
not AS OF NOW(0), (same behavior as in a DEFAULT clause)
2017-12-08 16:24:56 +03:00
Sergei Golubchik
d3845132fc
remove 'vers_auto_decrement'
...
Do not generate fake values when adding an auto-inc column to a versioned
table. This is not a auto-inc issue, but a more general case of adding
a not nullalble unique column to a table with history. We don't support
it yet, not even with a special auto-inc hack. As a workaround, one
can use a nullable unique column, that works.
2017-12-05 18:01:43 +03:00
Sergei Golubchik
e60da371d1
fix versioning tests not to fail w/o innodb
2017-12-05 17:46:01 +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
56adced376
SQL,IB: REPLACE semantics [ #365 bug 8]
2017-12-04 13:19:37 +03:00