Files
scylladb/cql3/statements
Avi Kivity f476bd3a80 Merge "tools: cut schema loader free of replica::database" from Botond
"
By way of having an implementation of `data_dictionary` and using that.
The schema loader only needs a database to parse cql3 statements, which
are all coordinator-side objects and hence been largely migrated to use
data dictionary instead.
A few hard-dependencies on replica:: objects were found and resolved:
* index::secondary_index_manager
* tombstone_gc

The former was migrated to use `data_dictionary::table` instead of
`replica::table`. This in turn requires disentangling
`replica::data_dictionary_impl` from `replica::database`, as currently
the former can only really be used by the latter.

What all of this achieves us is that we no longer have to instantiate a
`replica::database` object in `tools::load_schema()`. We want to use the
standard allocator in tools, which means they cannot use LSA memory at
all. Database on the other hand creates memtable and row-cache instances
so it had to go.

Refs: #9882

Tests: unit(dev, schema_loader_test:debug,
cql-pytest/test_tools.py:debug)
"

* 'tools-schema-loader-database-impl/v2' of https://github.com/denesb/scylla:
  tools/schema_loader: use own data dictionary impl
  tombstone_gc: switch to using data dictionary
  index/secondary_index_manager: switch to using data dictionary
  replica/table: add as_data_dictionary()
  replica: disentangle data_dictionary_impl from database
  replica: move data_dictionary_impl into own header
2022-03-27 17:01:05 +03:00
..