Metadata columns are identified with a _ prefix to the column name and is often data about the data transformation process, rather than of the blockchain data itself.

_updated_at & _created_at

Some tables include the columns _updated_at & _created_at. These columns are currently not officially supported, so treat them as experimental if used in a prod environment.

The general behavior of these columns are:

  1. _created_at is populated when a record is first created. The value does not change thereafter, unless a full refresh of the table is done.
  2. _updated_at is populated when a record is first created, and at all subsequent updates to any column in the table. The value starts out equivalent as _created_at.
  3. Caveats about _updated_at: a. It can be updated even if there’s no change to the record content. We sometimes do repeated upserts to the same record. b. There is no guarantee between the relationship of _updated_at and any time-related column in the table (e.g. block_timestamp). c. In most cases, _updated_at occurs shortly after block_timestamp, depending on the latency of our data pipeline, but this is not always the case. d. _updated_at can be updated significantly later than block_timestamp in cases such as (non-exhaustive):
    • the table is recreated (full refreshed)
    • patching old data on the table via upserts (_updated_at < _created_at )
    • patching missing data on the table (_updated_at == _created_at )

If you use these columns for pulling data incrementally from Allium, make sure to account for the possible behaviors of the _updated_at & _created_at.