MetadataDao dao = handle.attach(MetadataDao.class);
long tableId = dao.insertTable(connectorId, tableMetadata.getTable().getSchemaName(), tableMetadata.getTable().getTableName());
int ordinalPosition = 0;
for (ColumnMetadata column : tableMetadata.getColumns()) {
long columnId = ordinalPosition + 1;
dao.insertColumn(tableId, columnId, column.getName(), ordinalPosition, column.getType().getName());
ordinalPosition++;
}
if (tableMetadata.isSampled()) {
dao.insertColumn(tableId, ordinalPosition + 1, SAMPLE_WEIGHT_COLUMN_NAME, ordinalPosition, BIGINT.getName());
}