On 04/28/18 12:22, fbbt wrote:
For example:
CREATE TABLE SEC$USERS (
SEC$USER_NAME CHAR(63),
SEC$FIRST_NAME SEC$NAME_PART /* SEC$NAME_PART = VARCHAR(32) NOT NULL */,
SEC$MIDDLE_NAME SEC$NAME_PART /* SEC$NAME_PART = VARCHAR(32) NOT NULL */,
SEC$LAST_NAME SEC$NAME_PART /* SEC$NAME_PART = VARCHAR(32) NOT NULL */,
SEC$ACTIVE BOOLEAN,
SEC$ADMIN BOOLEAN,
SEC$DESCRIPTION BLOB SUB_TYPE 1 SEGMENT SIZE 80,
SEC$PLUGIN CHAR(63)
);
Why not VARCHAR?
Now all users of this fields must remove trailing spaces manually.
That's how SQL identifiers traditionally look like in all system tables:
SQL> show table RDB$RELATIONS;
RDB$VIEW_BLR (RDB$VIEW_BLR) BLOB segment 80, subtype
BLR Nullable
RDB$VIEW_SOURCE (RDB$SOURCE) BLOB segment 80, subtype
TEXT CHARACTER SET UTF8 Nullable
RDB$DESCRIPTION (RDB$DESCRIPTION) BLOB segment 80,
subtype TEXT CHARACTER SET UTF8 Nullable
RDB$RELATION_ID (RDB$RELATION_ID) SMALLINT Nullable
RDB$SYSTEM_FLAG (RDB$SYSTEM_FLAG) SMALLINT Not Null
RDB$DBKEY_LENGTH (RDB$DBKEY_LENGTH) SMALLINT Nullable
RDB$FORMAT (RDB$FORMAT) SMALLINT Nullable
RDB$FIELD_ID (RDB$FIELD_ID) SMALLINT Nullable
RDB$RELATION_NAME (RDB$RELATION_NAME) CHAR(63) Nullable
RDB$SECURITY_CLASS (RDB$SECURITY_CLASS) CHAR(63) Nullable
RDB$EXTERNAL_FILE (RDB$FILE_NAME) VARCHAR(255) Nullable
RDB$RUNTIME (RDB$RUNTIME) BLOB segment 80, subtype
SUMMARY Nullable
RDB$EXTERNAL_DESCRIPTION (RDB$EXTERNAL_DESCRIPTION) BLOB segment
80, subtype EXTERNAL_FILE_DESCRIPTION Nullable
RDB$OWNER_NAME (RDB$USER) CHAR(63) Nullable
RDB$DEFAULT_CLASS (RDB$SECURITY_CLASS) CHAR(63) Nullable
RDB$FLAGS (RDB$SYSTEM_NULLFLAG) SMALLINT Nullable
RDB$RELATION_TYPE (RDB$RELATION_TYPE) SMALLINT Nullable
RDB$SQL_SECURITY (RDB$SQL_SECURITY) BOOLEAN Nullable
CONSTRAINT RDB$INDEX_0:
Unique key (RDB$RELATION_NAME)
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel