On Mon, 4 Sept 2023 at 00:26, Sergei Golubchik <s...@mariadb.org> wrote:

> Hi, Nikita,
>
> On Sep 03, Nikita Malyavin wrote:
> > One more stack of questions:
> >
> > > > +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?
>
> They can be accessed by SELECT, but they aren't _columns_.
> No other I_S table show them, SHOW CREATE doesn't show them.
> They're pseudo-columns, like, for example, ROWID in Oracle.
>
> > 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.
>
> No. If SHOW CREATE TABLE doesn't show something - this something doesn't
> exist as an object in the table, so information_schema.periods should
> not show it either.
>

Ok, and besides I've just found that INVISIBLE_SYSTEM is documented as
> Can be queried explicitly in SELECT, otherwise invisible from anything

Another plus to your point.

-- 
Yours truly,
Nikita Malyavin
_______________________________________________
developers mailing list -- developers@lists.mariadb.org
To unsubscribe send an email to developers-le...@lists.mariadb.org

Reply via email to