From 711c1c8dcc98c9a45c14c5cb09d83bbe1a6937bf Mon Sep 17 00:00:00 2001 From: Sergei Puchin Date: Tue, 13 Feb 2024 12:10:53 +0000 Subject: [PATCH 1/2] Disable KQP feature flags for stable branch. --- ydb/core/protos/feature_flags.proto | 2 +- ydb/core/protos/table_service_config.proto | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ydb/core/protos/feature_flags.proto b/ydb/core/protos/feature_flags.proto index dcb82a099d61..c338f0eaaa01 100644 --- a/ydb/core/protos/feature_flags.proto +++ b/ydb/core/protos/feature_flags.proto @@ -105,7 +105,7 @@ message TFeatureFlags { optional bool EnableSeparationComputeActorsFromRead = 90 [default = false]; optional bool EnablePQConfigTransactionsAtSchemeShard = 91 [default = false]; optional bool EnableScriptExecutionOperations = 92 [default = false]; - optional bool EnableImplicitQueryParameterTypes = 93 [default = true]; + optional bool EnableImplicitQueryParameterTypes = 93 [default = false]; optional bool EnableForceImmediateEffectsExecution = 94 [default = false]; optional bool EnableTopicSplitMerge = 95 [default = false]; optional bool EnableChangefeedDynamoDBStreamsFormat = 96 [default = true]; diff --git a/ydb/core/protos/table_service_config.proto b/ydb/core/protos/table_service_config.proto index 54aa9c0d8335..8653d314d56a 100644 --- a/ydb/core/protos/table_service_config.proto +++ b/ydb/core/protos/table_service_config.proto @@ -235,7 +235,7 @@ message TTableServiceConfig { optional bool EnableKqpImmediateEffects = 38 [default = true]; optional bool EnableSequentialReads = 39 [default = true]; optional bool EnablePreparedDdl = 42 [default = false]; - optional bool EnableSequences = 43 [default = true]; + optional bool EnableSequences = 43 [default = false]; optional bool EnableAsyncComputationPatternCompilation = 48 [default = true]; optional TCompileComputationPatternServiceConfig CompileComputationPatternServiceConfig = 47; @@ -266,7 +266,7 @@ message TTableServiceConfig { } optional EIndexAutoChooseMode IndexAutoChooseMode = 50 [default = DISABLED]; - optional bool EnableColumnsWithDefault = 51 [default = true]; + optional bool EnableColumnsWithDefault = 51 [default = false]; optional bool EnableAstCache = 52 [default = false]; optional bool EnablePgConstsToParams = 53 [default = false]; From b4dc4e11bbdb17cfa14684784638e474d9c43d35 Mon Sep 17 00:00:00 2001 From: Sergei Puchin Date: Tue, 13 Feb 2024 17:48:37 +0000 Subject: [PATCH 2/2] Fix tests. --- ydb/core/kqp/ut/pg/kqp_pg_ut.cpp | 24 ++++++++++++++++--- ydb/core/kqp/ut/scheme/kqp_constraints_ut.cpp | 23 +++++++++--------- 2 files changed, 33 insertions(+), 14 deletions(-) diff --git a/ydb/core/kqp/ut/pg/kqp_pg_ut.cpp b/ydb/core/kqp/ut/pg/kqp_pg_ut.cpp index 9887464a6ae2..05ca03d898a0 100644 --- a/ydb/core/kqp/ut/pg/kqp_pg_ut.cpp +++ b/ydb/core/kqp/ut/pg/kqp_pg_ut.cpp @@ -1256,6 +1256,7 @@ Y_UNIT_TEST_SUITE(KqpPg) { Y_UNIT_TEST(InsertFromSelect_Serial) { NKikimrConfig::TAppConfig appConfig; appConfig.MutableTableServiceConfig()->SetEnablePreparedDdl(true); + appConfig.MutableTableServiceConfig()->SetEnableSequences(true); auto setting = NKikimrKqp::TKqpSetting(); auto serverSettings = TKikimrSettings() .SetAppConfig(appConfig) @@ -1439,7 +1440,12 @@ Y_UNIT_TEST_SUITE(KqpPg) { } Y_UNIT_TEST(Returning) { - TKikimrRunner kikimr(NKqp::TKikimrSettings().SetWithSampleTables(false)); + NKikimrConfig::TAppConfig appConfig; + appConfig.MutableTableServiceConfig()->SetEnableSequences(true); + appConfig.MutableTableServiceConfig()->SetEnableColumnsWithDefault(true); + + TKikimrRunner kikimr(NKqp::TKikimrSettings().SetAppConfig(appConfig) + .SetWithSampleTables(false)); auto client = kikimr.GetTableClient(); auto session = client.CreateSession().GetValueSync().GetSession(); @@ -1598,7 +1604,11 @@ Y_UNIT_TEST_SUITE(KqpPg) { } Y_UNIT_TEST(CreateTableSerialColumns) { - TKikimrRunner kikimr(NKqp::TKikimrSettings().SetWithSampleTables(false).SetEnableNotNullDataColumns(true)); + NKikimrConfig::TAppConfig appConfig; + appConfig.MutableTableServiceConfig()->SetEnableSequences(true); + + TKikimrRunner kikimr(NKqp::TKikimrSettings().SetAppConfig(appConfig) + .SetWithSampleTables(false).SetEnableNotNullDataColumns(true)); auto client = kikimr.GetTableClient(); auto session = client.CreateSession().GetValueSync().GetSession(); { @@ -2074,7 +2084,8 @@ Y_UNIT_TEST_SUITE(KqpPg) { Y_UNIT_TEST(CreateTempTableSerial) { NKikimrConfig::TAppConfig appConfig; - appConfig.MutableTableServiceConfig()->SetEnablePreparedDdl(true);; + appConfig.MutableTableServiceConfig()->SetEnablePreparedDdl(true); + appConfig.MutableTableServiceConfig()->SetEnableSequences(true); auto setting = NKikimrKqp::TKqpSetting(); auto serverSettings = TKikimrSettings() .SetAppConfig(appConfig) @@ -3287,6 +3298,7 @@ Y_UNIT_TEST_SUITE(KqpPg) { Y_UNIT_TEST(Insert_Serial) { NKikimrConfig::TAppConfig appConfig; appConfig.MutableTableServiceConfig()->SetEnablePreparedDdl(true); + appConfig.MutableTableServiceConfig()->SetEnableSequences(true); auto setting = NKikimrKqp::TKqpSetting(); auto serverSettings = TKikimrSettings() .SetAppConfig(appConfig) @@ -3323,6 +3335,7 @@ Y_UNIT_TEST_SUITE(KqpPg) { Y_UNIT_TEST(InsertNoTargetColumns_Serial) { NKikimrConfig::TAppConfig appConfig; appConfig.MutableTableServiceConfig()->SetEnablePreparedDdl(true); + appConfig.MutableTableServiceConfig()->SetEnableSequences(true); auto setting = NKikimrKqp::TKqpSetting(); auto serverSettings = TKikimrSettings() .SetAppConfig(appConfig) @@ -3358,6 +3371,7 @@ Y_UNIT_TEST_SUITE(KqpPg) { Y_UNIT_TEST(InsertValuesFromTableWithDefault) { NKikimrConfig::TAppConfig appConfig; appConfig.MutableTableServiceConfig()->SetEnablePreparedDdl(true); + appConfig.MutableTableServiceConfig()->SetEnableColumnsWithDefault(true); auto setting = NKikimrKqp::TKqpSetting(); auto serverSettings = TKikimrSettings() .SetAppConfig(appConfig) @@ -3393,6 +3407,7 @@ Y_UNIT_TEST_SUITE(KqpPg) { Y_UNIT_TEST(InsertValuesFromTableWithDefaultBool) { NKikimrConfig::TAppConfig appConfig; appConfig.MutableTableServiceConfig()->SetEnablePreparedDdl(true); + appConfig.MutableTableServiceConfig()->SetEnableColumnsWithDefault(true); auto setting = NKikimrKqp::TKqpSetting(); auto serverSettings = TKikimrSettings() .SetAppConfig(appConfig) @@ -3428,6 +3443,7 @@ Y_UNIT_TEST_SUITE(KqpPg) { Y_UNIT_TEST(InsertValuesFromTableWithDefaultText) { NKikimrConfig::TAppConfig appConfig; appConfig.MutableTableServiceConfig()->SetEnablePreparedDdl(true); + appConfig.MutableTableServiceConfig()->SetEnableColumnsWithDefault(true); auto setting = NKikimrKqp::TKqpSetting(); auto serverSettings = TKikimrSettings() .SetAppConfig(appConfig) @@ -3463,6 +3479,7 @@ Y_UNIT_TEST_SUITE(KqpPg) { Y_UNIT_TEST(InsertValuesFromTableWithDefaultTextNotNull) { NKikimrConfig::TAppConfig appConfig; appConfig.MutableTableServiceConfig()->SetEnablePreparedDdl(true); + appConfig.MutableTableServiceConfig()->SetEnableColumnsWithDefault(true); auto setting = NKikimrKqp::TKqpSetting(); auto serverSettings = TKikimrSettings() .SetAppConfig(appConfig) @@ -3536,6 +3553,7 @@ Y_UNIT_TEST_SUITE(KqpPg) { Y_UNIT_TEST(InsertNoTargetColumns_SerialNotNull) { NKikimrConfig::TAppConfig appConfig; appConfig.MutableTableServiceConfig()->SetEnablePreparedDdl(true); + appConfig.MutableTableServiceConfig()->SetEnableSequences(true); auto setting = NKikimrKqp::TKqpSetting(); auto serverSettings = TKikimrSettings() .SetAppConfig(appConfig) diff --git a/ydb/core/kqp/ut/scheme/kqp_constraints_ut.cpp b/ydb/core/kqp/ut/scheme/kqp_constraints_ut.cpp index d09a196b7af5..d3326432c2d0 100644 --- a/ydb/core/kqp/ut/scheme/kqp_constraints_ut.cpp +++ b/ydb/core/kqp/ut/scheme/kqp_constraints_ut.cpp @@ -291,6 +291,7 @@ Y_UNIT_TEST_SUITE(KqpConstraints) { Y_UNIT_TEST(AlterTableAddColumnWithDefaultValue) { NKikimrConfig::TAppConfig appConfig; appConfig.MutableTableServiceConfig()->SetEnableSequences(false); + appConfig.MutableTableServiceConfig()->SetEnableColumnsWithDefault(true); appConfig.MutableFeatureFlags()->SetEnableAddColumsWithDefaults(true); auto serverSettings = TKikimrSettings().SetAppConfig(appConfig); TKikimrRunner kikimr(serverSettings); @@ -345,7 +346,7 @@ Y_UNIT_TEST_SUITE(KqpConstraints) { auto result = session.ExecuteSchemeQuery(query).GetValueSync(); UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString()); - } + } { TString query = R"( @@ -412,7 +413,7 @@ Y_UNIT_TEST_SUITE(KqpConstraints) { auto result = session.ExecuteSchemeQuery(query).GetValueSync(); UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString()); - } + } } Y_UNIT_TEST(DefaultValuesForTableNegative3) { @@ -437,7 +438,7 @@ Y_UNIT_TEST_SUITE(KqpConstraints) { UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::GENERIC_ERROR, result.GetIssues().ToString()); UNIT_ASSERT_STRING_CONTAINS(result.GetIssues().ToString(), "Default expr Key is nullable or optional, but column has not null constraint"); - } + } } Y_UNIT_TEST(DefaultValuesForTableNegative4) { @@ -463,7 +464,7 @@ Y_UNIT_TEST_SUITE(KqpConstraints) { auto result = session.ExecuteSchemeQuery(query).GetValueSync(); UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::GENERIC_ERROR, result.GetIssues().ToString()); - } + } } Y_UNIT_TEST(IndexedTableAndNotNullColumn) { @@ -506,7 +507,7 @@ Y_UNIT_TEST_SUITE(KqpConstraints) { UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString()); - if (result.GetResultSets().size() > 0) + if (result.GetResultSets().size() > 0) return NYdb::FormatResultSetYson(result.GetResultSet(0)); return ""; }; @@ -538,7 +539,7 @@ Y_UNIT_TEST_SUITE(KqpConstraints) { ] )"); - + fQuery(R"( UPSERT INTO `/Root/AlterTableAddNotNullColumn` (Key, Value, Value2) VALUES (2, "New", 2); )"); @@ -551,7 +552,7 @@ Y_UNIT_TEST_SUITE(KqpConstraints) { fQuery(R"( UPSERT INTO `/Root/AlterTableAddNotNullColumn` (Key, Value) VALUES (2, "OldNew"); - )"); + )"); fQuery(R"( UPSERT INTO `/Root/AlterTableAddNotNullColumn` (Key, Value) VALUES (3, "BrandNew"); @@ -715,7 +716,7 @@ Y_UNIT_TEST_SUITE(KqpConstraints) { UNIT_ASSERT_VALUES_EQUAL_C(result.GetStatus(), EStatus::SUCCESS, result.GetIssues().ToString()); - if (result.GetResultSets().size() > 0) + if (result.GetResultSets().size() > 0) return NYdb::FormatResultSetYson(result.GetResultSet(0)); return ""; }; @@ -760,7 +761,7 @@ Y_UNIT_TEST_SUITE(KqpConstraints) { ] )"); - + fQuery(R"( UPSERT INTO `/Root/AlterTableAddNotNullColumn` (Key, Value, Value2) VALUES (2, "New", 2); )"); @@ -773,7 +774,7 @@ Y_UNIT_TEST_SUITE(KqpConstraints) { fQuery(R"( UPSERT INTO `/Root/AlterTableAddNotNullColumn` (Key, Value) VALUES (2, "OldNew"); - )"); + )"); fQuery(R"( UPSERT INTO `/Root/AlterTableAddNotNullColumn` (Key, Value) VALUES (3, "BrandNew"); @@ -788,4 +789,4 @@ Y_UNIT_TEST_SUITE(KqpConstraints) { } } -} // namespace NKikimr::NKqp \ No newline at end of file +} // namespace NKikimr::NKqp