One more stack of questions: On Fri, 1 Sept 2023 at 01:09, Sergei Golubchik <serg@mariadb.org> wrote:
diff --git a/mysql-test/suite/period/r/i_s_notembedded.result b/mysql-test/suite/period/r/i_s_notembedded.result new file mode 100644 index 00000000000..879376cc8b4 --- /dev/null +++ b/mysql-test/suite/period/r/i_s_notembedded.result @@ -0,0 +1,52 @@ +select * from information_schema.periods; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PERIOD START_COLUMN_NAME END_COLUMN_NAME +create or replace table t1 (id int primary key, s timestamp(6), e timestamp(6), +period for mytime(s,e)); +create or replace table t2 (id int primary key, s timestamp(6), e timestamp(6), +period for mytime(s,e)) with system versioning; +show columns from t1; +Field Type Null Key Default Extra +id int(11) NO PRI NULL +s timestamp(6) NO NULL +e timestamp(6) NO NULL +select * from information_schema.periods where table_schema = 'test'; +TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PERIOD START_COLUMN_NAME END_COLUMN_NAME +def test t2 SYSTEM_TIME row_start row_end
I don't think so, they're INVISIBLE_SYSTEM. for all practical purposes they don't exist as columns in the table. Shouldn't be shown either. But don't remove this test, let's keep it to show that row_start/row_end are *not* shown here. And add table t3 with full standard definition of period for system_time. it should be shown all right.
The columns -- I've checked -- can be accessed in SELECT, so why not show it? What should be the value then? An empty string? Or make it NULLable? The period itself is also accessible in SELECT, so I suppose it should be shown. Calm wishes, Nikita