}
@Override
public Void visitNestedColumnDefinition(NestedColumnDefinition node, ColumnDefinitionContext context) {
String columnName = ExpressionToStringVisitor.convert(node.name(), context.parameters);
ColumnIdent ident = ColumnIdent.fromPath(columnName);
context.analyzedColumnDefinition.name(ident.name());
// nested columns can only be added using alter table so no other columns exist.
assert context.analyzedTableElements.columns().size() == 0;
AnalyzedColumnDefinition root = context.analyzedColumnDefinition;
root.dataType(DataTypes.OBJECT.getName());
if (!ident.path().isEmpty()) {
AnalyzedColumnDefinition parent = context.analyzedColumnDefinition;
AnalyzedColumnDefinition leaf = parent;
for (String name : ident.path()) {
parent.dataType(DataTypes.OBJECT.getName());
parent.isParentColumn(true);
leaf = new AnalyzedColumnDefinition(parent);
leaf.name(name);
parent.addChild(leaf);