In Origin, some places in CQL3 package treat ColumnDefinition as ColumnSpecification. Origin solves that by making ColumnDefinition extend ColumnSpecification. I find it much simpler to provide an external adapter, which is cached as a field for efficiency. Another, more important, reason for this solution is that column_specifications are passed around as shared_ptrs and I don't want to add unnecessary indirection to column_definition accesses just because of that, to make it inherit from column_specification.
8.2 KiB
8.2 KiB