Attributes

An attribute can be thought of like a column in a SQL database. Various source helper classes make it easy to fetch the data from files, databases and other places.

Each attribute has certain characteristics that describe it :-

Even though an attribute might be marked as not being allowed to be NULL, this doesn't mean it could never be returned as NULL if the underlying datasource chooses (or has a problem). The web interface uses italic font to show NULL values, so you can differentiate from the literal string value "NULL".

Primitive type

Each attribute is of a certain primitive type, which is one of :-

The date and time primitive types are inspired by the subset of ISO 8601 used by the XML xs:date, xs:time and xs:dateTime data types.

Fractions of a second can be omitted, or can be a . followed by a number of digits. Tabulator only holds times to millisecond accuracy.

Offsets can be +HH, -HH, +HH:MM, -HH:MM, +HHMM, -HHMM. or the literal value Z for Zulu time (aka GMT, offset 00:00). Note that in Tabulator, a date or time related attribute either has an offset, or it doesn't. There isn't the concept of offset being optional, and as a side-effect, this means we don't have to worry about partial ordering.

When parsing DateTimes, the T between date and time can be a space.

Primary keys

Primary key attributes are always shown underlined in the web application.

Computed values

Sometimes it can be useful to fabricate attributes from other attributes, perhaps using static reference data. For example, a table might contain a "location_id" field, and we may know how to map this to a human readable name. Such an attribute would be marked as computed. If the mapping is not easily reversable, it might also be appropriate to mark the attribute as not-searchable.