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

Reply via email to