Scroll to navigation

Sympa::DatabaseDescription(3Sympa) sympa 6.2.58 Sympa::DatabaseDescription(3Sympa)


Sympa::DatabaseDescription - Definition of core database structure


This module keeps structure of database used by Sympa software.


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:

See below.
Description of the table.

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

Column data types. Definitions are based on MySQL. Following types are recognized:
Text with length up to length. length must be lower than 2^16 - 2.
Boolean, 1 or 0.
Unix time.
Integer with columns up to cols, with its value from -2^31 to 2^31 - 1.
Integer, -2^7 to 2^7 - 1.
Integer, -2^15 to 2^15 - 1.
Integer, -2^63 to 2^63 - 1.
IEEE floating point number, 8 bytes.
Keyword with length up to 20 o.
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.

Text with length up to 2^32 - 4 o.
Timestamp. Deprecated as of Sympa 6.2.25b.3. Use "int(11)" (Unix time) instead.
Binary data with length up to 2^24 - 3 o.
Description of the field.
If this is true, primary key consists of this field.
If this is true, Null value is not allowed. Note that fields included in primary key always don't allow Null value.
This function was OBSOLETED.
not_null ()
Function. TBD.
Function. TBD.
primary ()
Function. TBD.


sympa_database(5), Sympa::DatabaseManager.


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.

2020-12-30 6.2.58