DB_Table abstracts data types for you, so your data is always
stored the same way, regardless of the database backend. In some
cases, particularly with date, time, and timestamp, the native
database format is ignored completely and data is stored as a
fixed-length character string.

DB_Table does no support binary large objects (BLOBs), but
character large objects (CLOBS) are available.

Integers

There are three sizes of integer columns:

'smallint' can store values from (-2^15) to +(2^15); that is, from
-32778 to 32767

'integer' can store values from (-2^31) to +(2^31); that is, from
-2,147,483,648 to +2,147,483,647

'bigint' can store values from (-2^63) to +(2^63); that is, from
-9,223,372,036,854,775,808 to +9,223,372,036,854,775,807

The $col definition, you need only specify the column type; no size or scope
is needed.

Fixed-Point Decimal Numbers

To define a fixed-point column in DB_Table, use the 'decimal' datatype,
and indicate both the 'size' (width) and 'scope' (number of decimal places).
For example, to define a 5-digit number that has 2 decimal places:

For the above example, standard SQL requires that the column be able to
store any value with 5 digits and 2 decimals. In this case, therefore, the
range of values that can be stored in the column is from -999.99 to 999.99.
DB_Table attempts to enforce this behavior regardless of the RDBMS backend
behavior.

Floating-Point Numbers

To define a floating-point column in DB_Table, use the 'single' or
'double' datatype.

If the column is not required, a NULL value stored therein may be treated
as a third value, which allows the boolean column to be treated as a
ternary value instead of a binary value (i.e., NULL|0|1 instead of 0|1).

Strings

To define a fixed-length character string column, use the 'char' datatype,
and indicate the exact size of the string.

To define a variable-length character string column, use the 'varchar'
datatype, and indicate the maximum size of the string.