Skip to content

Commit

Permalink
refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
vlad-gogov committed Sep 6, 2024
1 parent 7c37c3f commit 6d21224
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 27 deletions.
18 changes: 9 additions & 9 deletions ydb/core/testlib/basics/feature_flags.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@ class TTestFeatureFlagsHolder {
public:
TFeatureFlags FeatureFlags;

#define FEATURE_FLAG_SETTER(name) \
TDerived& Set##name(std::optional<bool> value) { \
if (value) { \
FeatureFlags.Set##name(*value); \
} \
return *static_cast<TDerived*>(this); \
}
#define FEATURE_FLAG_SETTER(name) \
TDerived& Set##name(std::optional<bool> value) { \
if (value) { \
FeatureFlags.Set##name(*value); \
} \
return *static_cast<TDerived*>(this); \
}

FEATURE_FLAG_SETTER(AllowYdbRequestsWithoutDatabase)
FEATURE_FLAG_SETTER(EnableSystemViews)
Expand Down Expand Up @@ -68,7 +68,7 @@ class TTestFeatureFlagsHolder {
FEATURE_FLAG_SETTER(EnableTieringInColumnShard)
FEATURE_FLAG_SETTER(EnableOlapCompression)

#undef FEATURE_FLAG_SETTER
#undef FEATURE_FLAG_SETTER
};

}
} // NKikimr
28 changes: 17 additions & 11 deletions ydb/core/tx/schemeshard/olap/operations/alter_store.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -434,6 +434,18 @@ class TAlterOlapStore: public TSubOperation {
}
}

bool isAlterCompression() const {
const auto& alter = Transaction.GetAlterColumnStore();
for (const auto& alterSchema : alter.GetAlterSchemaPresets()) {
for (const auto& alterColumn : alterSchema.GetAlterSchema().GetAlterColumns()) {
if (alterColumn.HasSerializer()) {
return true;
}
}
}
return false;
}

public:
using TSubOperation::TSubOperation;

Expand All @@ -453,22 +465,16 @@ class TAlterOlapStore: public TSubOperation {

auto result = MakeHolder<TProposeResponse>(NKikimrScheme::StatusAccepted, ui64(OperationId.GetTxId()), ui64(ssId));

if (HasAppData() && !AppDataVerified().FeatureFlags.GetEnableOlapCompression()) {
for (const auto& alterSchema : alter.GetAlterSchemaPresets()) {
for (const auto& alterColumn : alterSchema.GetAlterSchema().GetAlterColumns()) {
if (alterColumn.HasSerializer()) {
result->SetError(NKikimrScheme::StatusPreconditionFailed, "Compression is disabled for OLAP tables");
return result;
}
}
}
}

if (!alter.HasName()) {
result->SetError(NKikimrScheme::StatusInvalidParameter, "No store name in Alter");
return result;
}

if (!AppDataVerified().FeatureFlags.GetEnableOlapCompression() && isAlterCompression()) {
result->SetError(NKikimrScheme::StatusPreconditionFailed, "Compression is disabled for OLAP tables");
return result;
}

TPath path = TPath::Resolve(parentPathStr, context.SS).Dive(name);
{
TPath::TChecker checks = path.Check();
Expand Down
19 changes: 12 additions & 7 deletions ydb/core/tx/schemeshard/olap/operations/alter_table.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -257,6 +257,15 @@ class TAlterColumnTable: public TSubOperation {
}
}

bool isAlterCompression() const {
for (const auto& alterColumn : Transaction.GetAlterColumnTable().GetAlterSchema().GetAlterColumns()) {
if (alterColumn.HasSerializer()) {
return true;
}
}
return false;
}

public:
using TSubOperation::TSubOperation;

Expand All @@ -271,13 +280,9 @@ class TAlterColumnTable: public TSubOperation {
return result;
}

if (HasAppData() && !AppDataVerified().FeatureFlags.GetEnableOlapCompression()) {
for (const auto& alterColumn : Transaction.GetAlterColumnTable().GetAlterSchema().GetAlterColumns()) {
if (alterColumn.HasSerializer()) {
result->SetError(NKikimrScheme::StatusPreconditionFailed, "Compression is disabled for OLAP tables");
return result;
}
}
if (!AppDataVerified().FeatureFlags.GetEnableOlapCompression() && isAlterCompression()) {
result->SetError(NKikimrScheme::StatusPreconditionFailed, "Compression is disabled for OLAP tables");
return result;
}

const bool hasTiering = Transaction.HasAlterColumnTable() && Transaction.GetAlterColumnTable().HasAlterTtlSettings() &&
Expand Down

0 comments on commit 6d21224

Please sign in to comment.