Shared schema utilities for table names, column analysis, and identifier quoting.
Centralizes functions that were previously duplicated across
AshScylla.DataLayer.SchemaMigration, AshScylla.Migration,
AshScylla.DataLayer.MaterializedView, and AshScylla.ResourceGenerator.
Summary
Functions
Returns the table name for a resource.
Quotes a CQL identifier (table name, column name, etc.) for safe use in CQL strings.
Resolves a type name for a UDT, sanitizing it for safe CQL interpolation.
Returns the list of columns that cannot have secondary indexes.
Functions
Returns the table name for a resource.
Checks the DSL table/1 config first, then falls back to deriving
from the module name (using domain prefix if available).
Quotes a CQL identifier (table name, column name, etc.) for safe use in CQL strings.
Uses double-quote escaping per CQL spec. Delegates validation to
AshScylla.Identifier.validate/1.
Resolves a type name for a UDT, sanitizing it for safe CQL interpolation.
Returns the list of columns that cannot have secondary indexes.
Currently this is only the sole partition key column (ScyllaDB forbids it). Returns an empty list for composite partition keys or resources without a clear single partition key.