mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-22 01:20:39 +00:00
Both cql3_type and abstract_type are normally used inside shared_ptr. This creates a problem when an abstract_type needs to refer to a cql3_type as that creates a cycle. To avoid warnings from asan, we were using a std::unordered_map to store one of the edges of the cycle. This avoids the warning, but wastes even more memory. Even before this patch cql3_type was a fairly light weight structure. This patch pushes in that direction and now cql3_type is a struct with a single member variable, a data_type. This avoids the reference cycle and is easier to understand IMHO. Tests: unit (dev) Signed-off-by: Rafael Ávila de Espíndola <espindola@scylladb.com>