Sympa::DatabaseDescription(3Sympa)

NAME
Sympa::DatabaseDescription - Definition of core database structure

DESCRIPTION
This module keeps structure of database used by Sympa software.

  Functions

full_db_struct ()
    Function. Returns a heshref containing definitions of all tables. Each item has the name of table as key and definition as value.

    Each definition is hashref containing following keys:

    fields
        See below.

    doc Description of the table.

    order
        TBD.

    "fields" item is hashref which may contain following items.

    struct
        Column data types. Definitions are based on MySQL. Following types are recognized:

        varchar(length)
            Text with length up to length. length must be lower than 2^16 - 2.

        int(1)
            Boolean, 1 or 0.

        int(11)
            Unix time.

        int(cols)
            Integer with columns up to cols, with its value from -2^31 to 2^31 - 1.

        tinyint
            Integer, -2^7 to 2^7 - 1.

        smallint
            Integer, -2^15 to 2^15 - 1.

        bigint
            Integer, -2^63 to 2^63 - 1.

        double
            IEEE floating point number, 8 bytes.

        enum
            Keyword with length up to 20 o.

        text
            Text with length up to 2000 o at minimum. 4000 o or longer is recommended.

            Note: On Sympa 6.2.36 or earlier, required size was 500 o.

        longtext
            Text with length up to 2^32 - 4 o.

        datetime
            Timestamp. Deprecated as of Sympa 6.2.25b.3. Use int(11) (Unix time) instead.

        mediumblob
            Binary data with length up to 2^24 - 3 o.

    doc Description of the field.

    primary
        If this is true, primary key consists of this field.

    not_null
        If this is true, Null value is not allowed. Note that fields included in primary key always don't allow Null value.

db_struct ()
    This function was OBSOLETED.

not_null ()
    Function. TBD.

autoincrement ()
    Function. TBD.

primary ()
    Function. TBD.

SEE ALSO
sympa_database(5), Sympa::DatabaseManager.

HISTORY
Sympa::DatabaseDescription was introduced behind the veil on Sympa 6.1. It began to be referred overtly as a part of Sympa Database Manager (SDM) on Sympa 6.2.