Skip to content

Commit 45bcfff

Browse files
committed
default value has been disabled for column tables (ydb-platform#16088)
1 parent 751d831 commit 45bcfff

File tree

3 files changed

+45
-0
lines changed

3 files changed

+45
-0
lines changed

ydb/core/kqp/host/kqp_gateway_proxy.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,18 @@ bool FillColumnTableSchema(NKikimrSchemeOp::TColumnTableSchema& schema, const T&
439439
auto columnIt = metadata.Columns.find(name);
440440
Y_ENSURE(columnIt != metadata.Columns.end());
441441

442+
if (columnIt->second.IsDefaultFromLiteral()) {
443+
code = Ydb::StatusIds::BAD_REQUEST;
444+
error = TStringBuilder() << "Default values are not supported in column tables";
445+
return false;
446+
}
447+
448+
if (columnIt->second.IsDefaultFromSequence()) {
449+
code = Ydb::StatusIds::BAD_REQUEST;
450+
error = TStringBuilder() << "Default sequences are not supported in column tables";
451+
return false;
452+
}
453+
442454
NKikimrSchemeOp::TOlapColumnDescription& columnDesc = *schema.AddColumns();
443455
columnDesc.SetName(columnIt->second.Name);
444456
columnDesc.SetType(columnIt->second.Type);

ydb/core/kqp/ut/olap/kqp_olap_ut.cpp

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3387,5 +3387,26 @@ Y_UNIT_TEST_SUITE(KqpOlap) {
33873387

33883388
testHelper.ReadData("SELECT COUNT(*) FROM `/Root/ColumnTableTest` WHERE time > CurrentUtcTimestamp()", "[[1u]]");
33893389
}
3390+
3391+
Y_UNIT_TEST(WithDefaultValue) {
3392+
std::unique_ptr<TKikimrRunner> Kikimr;
3393+
auto settings = TKikimrSettings().SetWithSampleTables(false);
3394+
auto kikimr = std::make_unique<TKikimrRunner>(settings);
3395+
Tests::NCommon::TLoggerInit(*kikimr).Initialize();
3396+
auto queryClient = kikimr->GetQueryClient();
3397+
{
3398+
auto result = queryClient.ExecuteQuery(R"(
3399+
CREATE TABLE Test (
3400+
Id Uint32 not null,
3401+
Value String DEFAULT "aba",
3402+
PRIMARY KEY (Id)
3403+
) WITH (
3404+
STORE = COLUMN
3405+
);
3406+
)", NQuery::TTxControl::NoTx()).GetValueSync();
3407+
UNIT_ASSERT_VALUES_EQUAL(result.GetStatus(), NYdb::EStatus::GENERIC_ERROR);
3408+
UNIT_ASSERT_STRING_CONTAINS_C(result.GetIssues().ToString(), "Default values are not supported in column tables", result.GetIssues().ToString());
3409+
}
3410+
}
33903411
}
33913412
}

ydb/core/ydb_convert/table_description.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -740,6 +740,18 @@ bool FillColumnDescriptionImpl(TColumnTable& out, const google::protobuf::Repeat
740740
if (!column.Getfamily().empty()) {
741741
columnDesc->SetColumnFamilyName(column.Getfamily());
742742
}
743+
744+
if (column.has_from_literal()) {
745+
status = Ydb::StatusIds::BAD_REQUEST;
746+
error = TStringBuilder() << "Default values are not supported in column tables";
747+
return false;
748+
}
749+
750+
if (column.has_from_sequence()) {
751+
status = Ydb::StatusIds::BAD_REQUEST;
752+
error = TStringBuilder() << "Default sequences are not supported in column tables";
753+
return false;
754+
}
743755
}
744756

745757
return true;

0 commit comments

Comments
 (0)