Skip to content

Commit dd507f4

Browse files
committed
Extend DisabledOnSchemeShard FF for column tables on dedicated bases
1 parent 18604c2 commit dd507f4

File tree

3 files changed

+11
-13
lines changed

3 files changed

+11
-13
lines changed

ydb/core/tx/schemeshard/olap/manager/manager.h

+3-1
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,9 @@ class TTablesStorage {
104104
TTableCreatedGuard BuildNew(const TPathId& id, TColumnTableInfo::TPtr object);
105105
TTableExtractedGuard TakeVerified(const TPathId& id);
106106
TTableExtractedGuard TakeAlterVerified(const TPathId& id);
107-
107+
bool empty() const {
108+
return Tables.empty();
109+
}
108110
bool contains(const TPathId& id) const {
109111
return Tables.contains(id);
110112
}

ydb/core/tx/schemeshard/olap/operations/create_store.cpp

+4-6
Original file line numberDiff line numberDiff line change
@@ -327,12 +327,10 @@ class TCreateOlapStore: public TSubOperation {
327327
TEvSchemeShard::EStatus status = NKikimrScheme::StatusAccepted;
328328
auto result = MakeHolder<TProposeResponse>(status, ui64(OperationId.GetTxId()), ui64(ssId));
329329

330-
if (context.SS->IsServerlessDomain(TPath::Init(context.SS->RootPathId(), context.SS))) {
331-
if (AppData()->ColumnShardConfig.GetDisabledOnSchemeShard()) {
332-
result->SetError(NKikimrScheme::StatusPreconditionFailed,
333-
"OLAP schema operations are not supported");
334-
return result;
335-
}
330+
if (AppData()->ColumnShardConfig.GetDisabledOnSchemeShard() && context.SS->ColumnTables.empty()) {
331+
result->SetError(NKikimrScheme::StatusPreconditionFailed,
332+
"OLAP schema operations are not supported");
333+
return result;
336334
}
337335

338336
NSchemeShard::TPath parentPath = NSchemeShard::TPath::Resolve(parentPathStr, context.SS);

ydb/core/tx/schemeshard/olap/operations/create_table.cpp

+4-6
Original file line numberDiff line numberDiff line change
@@ -582,12 +582,10 @@ class TCreateColumnTable: public TSubOperation {
582582
TEvSchemeShard::EStatus status = NKikimrScheme::StatusAccepted;
583583
auto result = MakeHolder<TProposeResponse>(status, ui64(opTxId), ui64(ssId));
584584

585-
if (context.SS->IsServerlessDomain(TPath::Init(context.SS->RootPathId(), context.SS))) {
586-
if (AppData()->ColumnShardConfig.GetDisabledOnSchemeShard()) {
587-
result->SetError(NKikimrScheme::StatusPreconditionFailed,
588-
"OLAP schema operations are not supported");
589-
return result;
590-
}
585+
if (AppData()->ColumnShardConfig.GetDisabledOnSchemeShard() && context.SS->ColumnTables.empty()) {
586+
result->SetError(NKikimrScheme::StatusPreconditionFailed,
587+
"OLAP schema operations are not supported");
588+
return result;
591589
}
592590

593591
if (createDescription.GetSharding().GetColumnShards().size()) {

0 commit comments

Comments
 (0)