Sympa::DatabaseDescription.3Sympa - Man Page

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.

Info

2023-07-22 sympa 6.2.72