Update Column Definition
Updates a column of a table with typed columns. Snowflake, BigQuery only.
Request is handled asynchronously which means that the create request is created and added to a queue and the job resource URL for status polling is returned.
BigQuery executes each change of definition in a single atomic operation. If one of the operations fails (e.g. trying to set string DEFAULT value on NUMERIC column), job ends in error (even if other operations succeeded) with description of each operation.
Supported alterations:
| Snowflake | BigQuery | |
|---|---|---|
| Add default | ❌ | ✅ |
| Change default | ❌ | ✅ |
| Drop default | ✅ | ✅ |
| Set as nullable | ✅ | ✅ |
| Set as required | ✅ | ❌ |
| Change type | ❌ | ❌ |
| Increase the length of a text column | ✅ | ✅ |
| Decrease the length of a text column | ❌ | ❌ |
| Increase the precision of a numeric column | ✅ | ✅ |
| Decrease the precision of a numeric column | ❌ | ❌ |
| Change the scale of a numeric column | ❌ | ✅ |
Initial response returns job details JobResponse. The result of the asynchronous job can be fetched via /v2/storage/jobs/{id}. When the job completes, final result is TableCreateResponse.
Parameters of job will be TableColumnsDefinitionUpdateJobParams.
Request
- Base URLhttps://connection.keboola.com
- Auth
- API key in header X-StorageApi-Token
- or API key in header X-KBC-ManageApiToken
- or HTTP bearer
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Path parameters
The table Id.
The column name.
Request body
Response
Job accepted; returns job details.
Example response
{
"id": "22077337",
"status": "waiting",
"url": "https://connection.keboola.com/v2/storage/jobs/22077337",
"tableId": null,
"operationName": "workspaceLoad",
"operationParams": {
"workspaceId": "78423",
"preserve": false,
"input": [
{
"source": "in.c-application-testing.cashier-data",
"destination": "my-table"
}
],
"queue": "main_fast"
},
"createdTime": "2017-02-13T16:41:18+0100",
"startTime": null,
"endTime": null,
"runId": null,
"results": null,
"creatorToken": {
"id": "27978",
"description": "john.doe@keboola.com"
},
"actor": {
"type": "token",
"id": "27978",
"name": "john.doe@keboola.com",
"adminId": 1234
},
"metrics": {
"inCompressed": false,
"inBytes": 0,
"inBytesUncompressed": 0,
"outCompressed": false,
"outBytes": 0,
"outBytesUncompressed": 0
}
}Changes
No recorded changes to this operation across all 1 revision of this API.