ср, 6 окт. 2021 г. в 18:56, Dimitry Sibiryakov <s...@ibphoenix.com>:
>
> Roman Simakov wrote 06.10.2021 17:32:
> > A new table RDB$TABLESPACES:
> >
> >   RDB$TABLESPACE_ID - SMALLINT
> >   RDB$TABLESPACE_NAME - CHAR (63)
> >   RDB$SECURITY_CLASS - CHAR (63)
> >   RDB$SYSTEM_FLAG - SMALLINT
> >   RDB$DESCRIPTION - BLOB SUBTYPE TEXT SEGMENT SIZE 80
> >   RDB$OWNER_NAME - CHAR (63)
> >   RDB$FILE_NAME - VARCHAR (255)
> >   RDB$OFFLINE - SMALLINT
> >   RDB$READ_ONLY - SMALLINT
>
>    Could you briefly describe purpose of each field? Necessity of
> RDB$SYSTEM_FLAG and RDB$TABLESPACE_ID at least is questionable IMHO and I see 
> no
> support for OFFLINE/READ ONLY options in DDL.

Let me not describe every field. I hope most of them are obvious.
RDB$SYSTEM_FLAG is not currently used but I suppose it would be useful one day.
OFFLINE and READ_ONLY are a kind of physical properties and supposed
to be used but not in this merge request anycase.

> > A new field in RDB$RELATION_FIELDS:
> >    RDB$TABLESPACE_NAME - CHAR (63)
>
>    Is it possible to have in a separate tablespace some FIELDS of a table? I 
> see
> no support for it in DDLs.

It's supposed to locate BLOBs in tablespaces but not in this merge
request as well. It's not implemented yet because of impossibility to
understand what the table BLOBs belongs to. There are some ideas to
solve it but not in the initial implementation.

> > New fields in RDB$RELATIONS:
> >   RDB$TABLESPACE_NAME - CHAR (63)
>
>    Cannot RDB$EXTERNAL_FILE be reused?

Why? To surprise users?)

> >   RDB$POINTER_PAGE - INTEGER
> >   RDB$ROOT_PAGE - INTEGER
>
>    What these are for?

These fields are necessary for reliable implementation of moving data
pages to another tablespace. You'll be able to understand their
meaning in code.

-- 
Roman Simakov


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to