Set only when the job failed. Same vocabulary as a synchronous refusal.
The result columns, in order.
Available from the moment of submission: compilation, and therefore the governance gate, runs synchronously before the job exists.
The dialect the statement was written in.
What to do instead. Set only on failure.
Opaque identifier, 128 bits of randomness. Poll and cancel with it.
The exact set of definitions that produced this.
The namespaces the query touched.
Present when more rows remain. Pass it back as cursor.
The unparsed payload, so a new server field is readable without an SDK release.
One sentence stating what went wrong. Set only on failure.
How to treat the failure. Empty unless the job failed.
Rows in the whole result, not in this page.
One page of rows. Use run() to collect every page.
Where the query has got to. Branch on this.
One asynchronously executing query.
stateis the field to branch on.runningis the only non-terminal one, andcancelledis distinct fromfailedbecause the caller stopped it rather than the warehouse failing.