Refactor DerivedType (replace with Type in some places)
Фоллоу-ап на !1598 (merged).
struct Column должна иметь тип Type, а не DerivedType, потому что тип колонки таблицы всегда известен. struct VTableColumn должна иметь тип DerivedType. struct VTable в качестве колонок должна иметь VTableColumns, которые должны хранить своё имя. Нужно запретить добавлять колонки в виртуальную табличку напрямую. Эти колонки должны создаваться в методе вроде add_column(type, role, is_nullable), где для колонок будут автоматически генерироваться имена