> ## Documentation Index
> Fetch the complete documentation index at: https://docs.allium.so/llms.txt
> Use this file to discover all available pages before exploring further.

# Updates

An update is Canton's unit of transaction — the envelope that groups one or more events into an atomic, sequenced operation. Each update represents a Daml choice exercise (or a set of exercises) sequenced by the global synchronizer.

### Table Details

| Property          | Value                      |
| ----------------- | -------------------------- |
| Table Name        | `canton.raw.updates`       |
| Table Status      | Production-Ready           |
| Unique Key        | `record_time`, `update_id` |
| Clustering Key(s) | `to_date("record_time")`   |

### Table Columns

| Column Name        | Data Type         | Description                                                                                                                                                                    |
| ------------------ | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| update\_id         | VARCHAR(16777216) | Globally unique transaction identifier. Hex-encoded hash. Primary key for joining to events, inputs, outputs, and native\_token\_transfers.                                    |
| update\_index      | NUMBER(38,0)      | Sequential index of this update within its migration epoch, used for ordered pagination via the Scan API cursor.                                                               |
| record\_time       | TIMESTAMP\_NTZ(9) | The timestamp at which the synchronizer sequenced this update. Strictly monotonic within a migration. This is the canonical ordering timestamp.                                |
| effective\_at      | TIMESTAMP\_NTZ(9) | The ledger effective time proposed by the submitting party. Always less than or equal to record\_time. Use record\_time for ordering; effective\_at reflects submitter intent. |
| migration\_id      | NUMBER(38,0)      | Synchronizer migration epoch. Canton upgrades increment this value (currently 0–4). The active migration\_id must match the time range being queried.                          |
| synchronizer\_id   | VARCHAR(16777216) | The synchronizer that processed this update, formatted as `name::hash`. All public Canton Coin activity goes through `global-domain`.                                          |
| workflow\_id       | VARCHAR(16777216) | Optional application-set workflow identifier. Almost always an empty string; can be set by Daml applications to tag related transactions.                                      |
| root\_event\_ids   | VARIANT           | Array of entry-point event IDs for this update's event tree. Traverse child\_event\_ids from these roots to reach all events.                                                  |
| block\_number      | NUMBER(38,0)      | Synthetic 1-second block index. Derived as `floor(unix(record_time) - genesis_epoch)`.                                                                                         |
| block\_timestamp   | TIMESTAMP\_NTZ(9) | Start timestamp of the synthetic 1-second block window containing this update.                                                                                                 |
| root\_event\_count | NUMBER(38,0)      | Number of root events in this update. Most updates have a single root event.                                                                                                   |
| event\_count       | NUMBER(38,0)      | Total number of events (created\_event and exercised\_event) across the entire event tree for this update.                                                                     |
| \_created\_at      | TIMESTAMP\_NTZ(9) | Timestamp of when the entry was created in the database.                                                                                                                       |
| \_updated\_at      | TIMESTAMP\_NTZ(9) | Timestamp of when the entry was last updated in the database.                                                                                                                  |
