Skip to content

Commit 1fb6b33

Browse files
author
flown4qqqq
authored
bug: replace into table with default values is not working (#5787)
1 parent 5e3924b commit 1fb6b33

File tree

2 files changed

+36
-1
lines changed

2 files changed

+36
-1
lines changed

ydb/core/kqp/opt/kqp_opt_kql.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ std::pair<TExprBase, TCoAtomList> BuildWriteInput(const TKiWriteTable& write, co
208208
}
209209

210210
if (isWriteReplace) {
211-
std::tie(input, inputCols) = CreateRowsToReplace(input, inputColumns, table, write.Pos(), ctx);
211+
std::tie(input, inputCols) = CreateRowsToReplace(input, inputCols, table, write.Pos(), ctx);
212212
}
213213

214214
auto baseInput = Build<TKqpWriteConstraint>(ctx, pos)

ydb/core/kqp/ut/service/kqp_qs_queries_ut.cpp

+35
Original file line numberDiff line numberDiff line change
@@ -3498,6 +3498,41 @@ Y_UNIT_TEST_SUITE(KqpQueryService) {
34983498
R"([[8u]])");
34993499
}
35003500
}
3501+
3502+
Y_UNIT_TEST(ReplaceIntoWithDefaultValue) {
3503+
NKikimrConfig::TAppConfig appConfig;
3504+
appConfig.MutableTableServiceConfig()->SetEnableOlapSink(false);
3505+
appConfig.MutableTableServiceConfig()->SetEnableOltpSink(false);
3506+
auto settings = TKikimrSettings()
3507+
.SetAppConfig(appConfig)
3508+
.SetWithSampleTables(false);
3509+
3510+
TKikimrRunner kikimr(settings);
3511+
Tests::NCommon::TLoggerInit(kikimr).Initialize();
3512+
3513+
// auto session = kikimr.GetTableClient().CreateSession().GetValueSync().GetSession();
3514+
auto client = kikimr.GetQueryClient();
3515+
3516+
{
3517+
auto createTable = client.ExecuteQuery(R"sql(
3518+
CREATE TABLE `/Root/test/tb` (
3519+
id UInt32,
3520+
val UInt32 NOT NULL DEFAULT(100),
3521+
PRIMARY KEY(id)
3522+
);
3523+
)sql", NYdb::NQuery::TTxControl::NoTx()).ExtractValueSync();
3524+
UNIT_ASSERT_C(createTable.IsSuccess(), createTable.GetIssues().ToString());
3525+
}
3526+
3527+
{
3528+
auto replaceValues = client.ExecuteQuery(R"sql(
3529+
REPLACE INTO `/Root/test/tb` (id) VALUES
3530+
( 1 )
3531+
;
3532+
)sql", NYdb::NQuery::TTxControl::BeginTx().CommitTx()).ExtractValueSync();
3533+
UNIT_ASSERT_C(replaceValues.IsSuccess(), replaceValues.GetIssues().ToString());
3534+
}
3535+
}
35013536
}
35023537

35033538
} // namespace NKqp

0 commit comments

Comments
 (0)