|
@@ -266,12 +266,16 @@ public:
|
|
|
}
|
|
|
if (auto columnGroup = NYql::GetSetting(*res->Child(TYtWriteTable::idx_Settings), EYtSettingType::ColumnGroups)) {
|
|
|
const TString normalized = NormalizeColumnGroupSpec(columnGroup->Tail().Content());
|
|
|
- res = ctx.ChangeChild(*res, TYtWriteTable::idx_Settings,
|
|
|
- NYql::UpdateSettingValue(*res->Child(TYtWriteTable::idx_Settings),
|
|
|
- EYtSettingType::ColumnGroups,
|
|
|
- ctx.NewAtom(res->Child(TYtWriteTable::idx_Settings)->Pos(), normalized, TNodeFlags::MultilineContent),
|
|
|
- ctx)
|
|
|
- );
|
|
|
+ if (normalized) {
|
|
|
+ res = ctx.ChangeChild(*res, TYtWriteTable::idx_Settings,
|
|
|
+ NYql::UpdateSettingValue(*res->Child(TYtWriteTable::idx_Settings),
|
|
|
+ EYtSettingType::ColumnGroups,
|
|
|
+ ctx.NewAtom(res->Child(TYtWriteTable::idx_Settings)->Pos(), normalized, TNodeFlags::MultilineContent),
|
|
|
+ ctx)
|
|
|
+ );
|
|
|
+ } else {
|
|
|
+ res = ctx.ChangeChild(*res, TYtWriteTable::idx_Settings, NYql::RemoveSetting(*res->Child(TYtWriteTable::idx_Settings), EYtSettingType::ColumnGroups, ctx));
|
|
|
+ }
|
|
|
} else if (NYql::HasSetting(*res->Child(TYtWriteTable::idx_Table)->Child(TYtTable::idx_Settings), EYtSettingType::Anonymous)) {
|
|
|
if (const auto mode = State_->Configuration->ColumnGroupMode.Get().GetOrElse(EColumnGroupMode::Disable); mode != EColumnGroupMode::Disable) {
|
|
|
res = ctx.ChangeChild(*res, TYtWriteTable::idx_Settings,
|