1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-30 05:23:50 +03:00

SQL: derived, hiding, error messages

Many related changes.

Note that AS OF condition must always be pushed down to physical tables,
it cannot be applied to a derived or a view. Thus:

* no versioning for internal temporary tables, they can never store
  historical data.
* remove special versioning code from mysql_derived_prepare and
  remove ER_VERS_DERIVED_PROHIBITED - derived can have no historical
  data and cannot be prohibited for system versioning related reasons.
* do not expand select list for derived/views with sys vers fields,
  derived/views can never have historical data.
* remove special invisiblity rules for sys vers fields, they are no
  longer needed after the previous change
* remove system_versioning_hide, it lost the meaning after the
  previous change.
* remove ER_VERS_SYSTEM_TIME_CLASH, it's no "clash", the inner
  AS OF clause always wins.
* non-versioned fields in a historical query

reword the warning text, downgrade to note, don't
replace values with NULLs
This commit is contained in:
Sergei Golubchik
2017-12-30 13:40:36 +01:00
committed by Aleksey Midenkov
parent b06b5c3eab
commit e6a7457653
35 changed files with 98 additions and 451 deletions

View File

@@ -1230,12 +1230,6 @@ The following options may be given as the first argument:
--system-versioning-force
Force system versioning for all created tables
--system-versioning-hide=name
Hide system versioning from being displayed in table
info. AUTO: hide implicit system fields only in
non-versioned and AS OF queries; IMPLICIT: hide implicit
system fields in all queries; FULL: hide any system
fields in all queries and hide versioning info in SHOW
commands; NEVER: don't hide system fields
--system-versioning-innodb-algorithm-simple
Use simple algorithm of timestamp handling in InnoDB
instead of TRX_SEES
@@ -1674,7 +1668,6 @@ sync-relay-log-info 10000
sysdate-is-now FALSE
system-versioning-alter-history ERROR
system-versioning-force FALSE
system-versioning-hide AUTO
system-versioning-innodb-algorithm-simple TRUE
system-versioning-transaction-registry FALSE
table-cache 431