Edit a table's columns
The Columns step of a Warehouse table popup lists the table's columns as editable rows. Use it to add or remove columns and to change the name, the data domain and type, the description and the order of each one.
Work in the grid
- The toolbar above the grid can search the rows; from it you can also choose which of the grid's columns are shown, and drag a header's edge to widen one.
- Tick a row's checkbox to select it. Drag a row to move it: the rows it passes take new places, and only those rows are renumbered when you save. A row you have just added stays at the end of the list until the step is saved.
- Two toolbar buttons carry the work: Add new column and Delete selected columns. Delete is greyed out while nothing is selected.
The grid carries more cells than this page covers: a column's foreign key, its computed script, its PII domain and its permission groups. Each has its own page: Foreign keys on columns, Computed columns, PII domains and source columns and Column permission groups.
Add a column
- Open the table and go to its Columns step.
- Click Add new column. A new row appears, named New Column with the next free number. It starts with the Text data domain and the String data type.
- Give it a name, choose its domain and type, and describe it if you like.
- Click Apply in the footer to save it.
Name a column
- Click the name and type over it; an empty cell shows the placeholder Enter name....
- A name that still reads New Column plus a number clears itself when you click it, so you can type straight away.
- The name saves when you click away or press Enter; press Escape to put the old name back.
- Two problems turn the name red, each explained by a mark you can hover: Column name must be unique when another row uses the name (capital letters aside), or This is a system reserved name when the name belongs to the platform's own columns. Emptying the name clears both.
- A dot in a name warns you once, when you press Enter to commit it; clicking away saves it without the warning. The toast Dot in column name reads
"<name>" contains a dot. Dots are risky in column names - Consider renaming. SQL reads them as table.column. A dot stays allowed, but SQL reads it as a table.column qualifier.
Set the data domain and type
- Data Domain is the business type you recognise; picking one fills Data Type with the storage type behind it.
- The picker has its own search (placeholder Search domains…); a search with no match reads No domains found, and before you pick it reads No domain selected. A column without a domain shows Select domain.
- Data Type is yours to edit only when the domain is Custom: type the storage type there, under the placeholder Enter custom data type. For every other domain the type follows the domain, and the cell's lock explains: Only custom data domain's data type can be edited. An empty type shows N/A.
- A column that holds a foreign key takes the domain and type that come with the key; an Array key is the exception, and its picker narrows to RelatedList and RelatedListComment.
- A locked cell says why on hover: Disabled due to foreign key constraint or Disabled because it's an audit row.
For the domains, the types behind them and their suggested default values, see Column data domains, defaults and PII.
Describe a column
- A comment icon sits beside the column's name: it appears when you hover the row and stays lit when a description exists.
- Click it to open Column description, type in the box (placeholder Add description for this field...) and click Save. Clear removes the description; an empty one reads No description provided.
- The icon is offered on your own columns only.
System columns stay locked
The platform keeps its own columns in the grid: the primary key, source reference, partition, audit and history fields. Their rows stay locked and cannot be renamed; a locked name explains itself with System columns cannot be renamed. or This field cannot be edited.
- Two rows are the exception: on Source ID you can still set the PII Domain, and on Delete Flag you can still change the Permission Group.
- History columns appear only when the table stores history, set with Store History on the General step.
For every lock in the grid and the checks a save runs, see The table columns grid.
Delete columns
- Select the rows with their checkboxes and click Delete selected columns.
- A row you have just added disappears at once; a saved column is marked and removed when you save the step.
A column that cannot be deleted is named in the message Some columns cannot be deleted, with its reason: (system column) for the platform's own columns or (used in transformation) for a column a transformation reads. With nothing selected, the delete reports No Selection and Please select columns to delete.
Default values
- The Default Value cell holds the value a column takes when no value is given; how suggestions and quotes work is on Column data domains, defaults and PII.
- A text default typed without quotes is wrapped in single quotes for you, and the toast Default value auto-quoted shows the change and adds String default values must be wrapped in single quotes (' ').
Save the step
- Apply in the step footer saves the step and keeps you on it; a success toast confirms. Apply and Revert appear only while the step has changes.
- One save covers everything: new rows are created, changed rows updated and deleted rows removed together.
- If a check fails first, a Validation Error names the first problem and nothing is saved.
- Saving a name that contains a dot changes the success toast to Successfully saved, which repeats the caution: Keep in mind that dot was used for column name(s) which is tricky and usually better to avoid as SQL reads them as table.column.
- Revert drops your edits and reports Changes Reverted.
- If you move on with edits still unsaved, the Unsaved Changes dialog asks first.
Questions, answered
Why did the name I clicked clear itself?
The placeholder name clears itself when you click, so you can type the real one straight away; the full rule is on Define table columns.
Why does a column name show a red warning?
The name repeats another column's name (capital letters aside) or matches one of the platform's reserved names. The mark beside it says which: Column name must be unique or This is a system reserved name. Rename the column to clear it.
Why did I only get the dot warning when I pressed Enter?
The warning fires at that one moment by design: it warns when a dot is new and you commit the name with Enter, not when you click away. A save that includes a dotted name repeats the caution on its own. A dot is allowed, but SQL reads it as a table.column qualifier.
Where do I add a description to a column?
Click the comment icon beside the column's name. It appears when you hover the row and stays lit when a description exists. Type the text and click Save; Clear removes it. The platform's own columns carry no comment icon.
Why can't I change a column the platform added?
System columns stay locked, so you cannot rename them or change their settings; the full rule is on Define table columns.
What happens to a column when I delete it?
A row you have just added disappears at once. A saved column is marked and removed when you save the step, so Revert can still bring it back before then. A column the platform owns, or one a transformation reads, cannot be deleted: the message lists it as (system column) or (used in transformation).
Are my column edits saved as I type them?
No. Every edit waits on the step and saves together when you click Apply; the full saving flow is on Define table columns.
What does Default value auto-quoted mean?
You typed a text default value without quotes, so it was wrapped in single quotes to be stored correctly, and the toast showed the change. Quote text values yourself, for example 'N/A'; numbers and dates take raw values.
Why can't I see the history columns?
The table does not keep history, so its history columns stay out of the grid. They appear only for a table that stores history: Store History is on the General step.