@@ -6877,8 +6877,8 @@ Y_UNIT_TEST_SUITE(KqpScheme) {
6877
6877
// ALTER RESOURCE POOL CLASSIFIER
6878
6878
checkDisabled (R"(
6879
6879
ALTER RESOURCE POOL CLASSIFIER MyResourcePoolClassifier
6880
- SET (RANK = 1, MEMBERNAME = "test@user "),
6881
- RESET (RESOURCE_POOL );
6880
+ SET (RANK = 1, RESOURCE_POOL = "test"),
6881
+ RESET (MEMBERNAME );
6882
6882
)" );
6883
6883
6884
6884
// DROP RESOURCE POOL CLASSIFIER
@@ -6911,8 +6911,8 @@ Y_UNIT_TEST_SUITE(KqpScheme) {
6911
6911
6912
6912
const auto & alterSql = R"(
6913
6913
ALTER RESOURCE POOL CLASSIFIER MyResourcePoolClassifier
6914
- SET (RANK = 1, MEMBERNAME = "test@user "),
6915
- RESET (RESOURCE_POOL );
6914
+ SET (RANK = 1, RESOURCE_POOL = "test"),
6915
+ RESET (MEMBERNAME );
6916
6916
)" ;
6917
6917
6918
6918
const auto & dropSql = " DROP RESOURCE POOL CLASSIFIER MyResourcePoolClassifier;" ;
@@ -6951,6 +6951,7 @@ Y_UNIT_TEST_SUITE(KqpScheme) {
6951
6951
6952
6952
auto result = session.ExecuteSchemeQuery (R"(
6953
6953
CREATE RESOURCE POOL CLASSIFIER MyResourcePoolClassifier WITH (
6954
+ RESOURCE_POOL="test",
6954
6955
ANOTHER_PROPERTY=20
6955
6956
);)" ).GetValueSync ();
6956
6957
UNIT_ASSERT_VALUES_EQUAL (result.GetStatus (), EStatus::GENERIC_ERROR);
@@ -6966,10 +6967,40 @@ Y_UNIT_TEST_SUITE(KqpScheme) {
6966
6967
6967
6968
result = session.ExecuteSchemeQuery (R"(
6968
6969
CREATE RESOURCE POOL CLASSIFIER MyResourcePoolClassifier WITH (
6970
+ RESOURCE_POOL="test",
6969
6971
RANK="StringValue"
6970
6972
);)" ).GetValueSync ();
6971
6973
UNIT_ASSERT_VALUES_EQUAL (result.GetStatus (), EStatus::GENERIC_ERROR);
6972
6974
UNIT_ASSERT_STRING_CONTAINS (result.GetIssues ().ToString (), " Failed to parse property rank:" );
6975
+
6976
+ result = session.ExecuteSchemeQuery (R"(
6977
+ CREATE RESOURCE POOL CLASSIFIER MyResourcePoolClassifier WITH (
6978
+ RANK="0"
6979
+ );)" ).GetValueSync ();
6980
+ UNIT_ASSERT_VALUES_EQUAL (result.GetStatus (), EStatus::GENERIC_ERROR);
6981
+ UNIT_ASSERT_STRING_CONTAINS (result.GetIssues ().ToString (), " Missing required property resource_pool" );
6982
+
6983
+ result = session.ExecuteSchemeQuery (R"(
6984
+ ALTER RESOURCE POOL CLASSIFIER MyResourcePoolClassifier
6985
+ RESET (RESOURCE_POOL);
6986
+ )" ).GetValueSync ();
6987
+ UNIT_ASSERT_VALUES_EQUAL (result.GetStatus (), EStatus::GENERIC_ERROR);
6988
+ UNIT_ASSERT_STRING_CONTAINS (result.GetIssues ().ToString (), " Cannot reset required property resource_pool" );
6989
+
6990
+ result = session.ExecuteSchemeQuery (R"(
6991
+ CREATE RESOURCE POOL CLASSIFIER `MyResource/PoolClassifier` WITH (
6992
+ RESOURCE_POOL="test"
6993
+ );)" ).GetValueSync ();
6994
+ UNIT_ASSERT_VALUES_EQUAL (result.GetStatus (), EStatus::GENERIC_ERROR);
6995
+ UNIT_ASSERT_STRING_CONTAINS (result.GetIssues ().ToString (), " Symbol '/' is not allowed in the resource pool classifier name 'MyResource/PoolClassifier'" );
6996
+
6997
+ result = session.ExecuteSchemeQuery (TStringBuilder () << R"(
6998
+ CREATE RESOURCE POOL CLASSIFIER MyResourcePoolClassifier WITH (
6999
+ RESOURCE_POOL="test",
7000
+ MEMBERNAME=")" << BUILTIN_ACL_METADATA << R"( "
7001
+ );)" ).GetValueSync ();
7002
+ UNIT_ASSERT_VALUES_EQUAL (result.GetStatus (), EStatus::GENERIC_ERROR);
7003
+ UNIT_ASSERT_STRING_CONTAINS (result.GetIssues ().ToString (), TStringBuilder () << " Invalid resource pool classifier configuration, cannot create classifier for system user " << BUILTIN_ACL_METADATA);
6973
7004
}
6974
7005
6975
7006
Y_UNIT_TEST (ResourcePoolClassifiersRankValidation) {
@@ -6986,13 +7017,15 @@ Y_UNIT_TEST_SUITE(KqpScheme) {
6986
7017
// Create with sample rank
6987
7018
auto result = session.ExecuteSchemeQuery (R"(
6988
7019
CREATE RESOURCE POOL CLASSIFIER ClassifierRank42 WITH (
7020
+ RESOURCE_POOL="test_pool",
6989
7021
RANK=42
6990
7022
);)" ).GetValueSync ();
6991
7023
UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToOneLineString ());
6992
7024
6993
7025
// Try to create with same rank
6994
7026
result = session.ExecuteSchemeQuery (R"(
6995
7027
CREATE RESOURCE POOL CLASSIFIER AnotherClassifierRank42 WITH (
7028
+ RESOURCE_POOL="test_pool",
6996
7029
RANK=42
6997
7030
);)" ).GetValueSync ();
6998
7031
UNIT_ASSERT_VALUES_EQUAL (result.GetStatus (), EStatus::GENERIC_ERROR);
@@ -7001,13 +7034,15 @@ Y_UNIT_TEST_SUITE(KqpScheme) {
7001
7034
// Create with high rank
7002
7035
result = session.ExecuteSchemeQuery (R"(
7003
7036
CREATE RESOURCE POOL CLASSIFIER `ClassifierRank2^63` WITH (
7037
+ RESOURCE_POOL="test_pool",
7004
7038
RANK=9223372036854775807
7005
7039
);)" ).GetValueSync ();
7006
7040
UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToOneLineString ());
7007
7041
7008
7042
// Try to create with auto rank
7009
7043
result = session.ExecuteSchemeQuery (R"(
7010
7044
CREATE RESOURCE POOL CLASSIFIER ClassifierRankAuto WITH (
7045
+ RESOURCE_POOL="test_pool",
7011
7046
MEMBERNAME="test@user"
7012
7047
);)" ).GetValueSync ();
7013
7048
UNIT_ASSERT_VALUES_EQUAL (result.GetStatus (), EStatus::GENERIC_ERROR);
@@ -7065,11 +7100,12 @@ Y_UNIT_TEST_SUITE(KqpScheme) {
7065
7100
// Auto rank
7066
7101
query = R"(
7067
7102
CREATE RESOURCE POOL CLASSIFIER AnotherResourcePoolClassifier WITH (
7103
+ RESOURCE_POOL="test_pool",
7068
7104
MEMBERNAME="another@user"
7069
7105
);)" ;
7070
7106
result = session.ExecuteSchemeQuery (query).GetValueSync ();
7071
7107
UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
7072
- UNIT_ASSERT_VALUES_EQUAL (FetchResourcePoolClassifiers (kikimr), " {\" resource_pool_classifiers\" :[{\" rank\" :20,\" name\" :\" MyResourcePoolClassifier\" ,\" config\" :{\" membername\" :\" test@user\" ,\" resource_pool\" :\" test_pool\" },\" database\" :\"\\ /Root\" },{\" rank\" :1020,\" name\" :\" AnotherResourcePoolClassifier\" ,\" config\" :{\" membername\" :\" another@user\" },\" database\" :\"\\ /Root\" }]}" );
7108
+ UNIT_ASSERT_VALUES_EQUAL (FetchResourcePoolClassifiers (kikimr), " {\" resource_pool_classifiers\" :[{\" rank\" :20,\" name\" :\" MyResourcePoolClassifier\" ,\" config\" :{\" membername\" :\" test@user\" ,\" resource_pool\" :\" test_pool\" },\" database\" :\"\\ /Root\" },{\" rank\" :1020,\" name\" :\" AnotherResourcePoolClassifier\" ,\" config\" :{\" membername\" :\" another@user\" , \" resource_pool \" : \" test_pool \" },\" database\" :\"\\ /Root\" }]}" );
7073
7109
}
7074
7110
7075
7111
Y_UNIT_TEST (DoubleCreateResourcePoolClassifier) {
@@ -7086,6 +7122,7 @@ Y_UNIT_TEST_SUITE(KqpScheme) {
7086
7122
{
7087
7123
auto query = R"(
7088
7124
CREATE RESOURCE POOL CLASSIFIER MyResourcePoolClassifier WITH (
7125
+ RESOURCE_POOL="test_pool",
7089
7126
RANK=20
7090
7127
);)" ;
7091
7128
auto result = session.ExecuteSchemeQuery (query).GetValueSync ();
@@ -7095,6 +7132,7 @@ Y_UNIT_TEST_SUITE(KqpScheme) {
7095
7132
{
7096
7133
auto query = R"(
7097
7134
CREATE RESOURCE POOL CLASSIFIER MyResourcePoolClassifier WITH (
7135
+ RESOURCE_POOL="test_pool",
7098
7136
RANK=1
7099
7137
);)" ;
7100
7138
auto result = session.ExecuteSchemeQuery (query).GetValueSync ();
@@ -7141,22 +7179,23 @@ Y_UNIT_TEST_SUITE(KqpScheme) {
7141
7179
{
7142
7180
auto query = R"(
7143
7181
CREATE RESOURCE POOL CLASSIFIER AnotherResourcePoolClassifier WITH (
7182
+ RESOURCE_POOL="test_pool",
7144
7183
RANK=42
7145
7184
);)" ;
7146
7185
auto result = session.ExecuteSchemeQuery (query).GetValueSync ();
7147
7186
UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
7148
- UNIT_ASSERT_VALUES_EQUAL (FetchResourcePoolClassifiers (kikimr), " {\" resource_pool_classifiers\" :[{\" rank\" :20,\" name\" :\" MyResourcePoolClassifier\" ,\" config\" :{\" membername\" :\" test@user\" ,\" resource_pool\" :\" test_pool\" },\" database\" :\"\\ /Root\" },{\" rank\" :42,\" name\" :\" AnotherResourcePoolClassifier\" ,\" config\" :{},\" database\" :\"\\ /Root\" }]}" );
7187
+ UNIT_ASSERT_VALUES_EQUAL (FetchResourcePoolClassifiers (kikimr), " {\" resource_pool_classifiers\" :[{\" rank\" :20,\" name\" :\" MyResourcePoolClassifier\" ,\" config\" :{\" membername\" :\" test@user\" ,\" resource_pool\" :\" test_pool\" },\" database\" :\"\\ /Root\" },{\" rank\" :42,\" name\" :\" AnotherResourcePoolClassifier\" ,\" config\" :{\" resource_pool \" : \" test_pool \" },\" database\" :\"\\ /Root\" }]}" );
7149
7188
}
7150
7189
7151
7190
// Test reset
7152
7191
{
7153
7192
auto query = R"(
7154
7193
ALTER RESOURCE POOL CLASSIFIER MyResourcePoolClassifier
7155
- RESET (RANK, RESOURCE_POOL );
7194
+ RESET (RANK, MEMBERNAME );
7156
7195
)" ;
7157
7196
auto result = session.ExecuteSchemeQuery (query).GetValueSync ();
7158
7197
UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
7159
- UNIT_ASSERT_VALUES_EQUAL (FetchResourcePoolClassifiers (kikimr), " {\" resource_pool_classifiers\" :[{\" rank\" :1042,\" name\" :\" MyResourcePoolClassifier\" ,\" config\" :{\" membername\" :\" test@user \" ,\" resource_pool\" :\" default \" },\" database\" :\"\\ /Root\" },{\" rank\" :42,\" name\" :\" AnotherResourcePoolClassifier\" ,\" config\" :{},\" database\" :\"\\ /Root\" }]}" );
7198
+ UNIT_ASSERT_VALUES_EQUAL (FetchResourcePoolClassifiers (kikimr), " {\" resource_pool_classifiers\" :[{\" rank\" :1042,\" name\" :\" MyResourcePoolClassifier\" ,\" config\" :{\" membername\" :\"\" ,\" resource_pool\" :\" test_pool \" },\" database\" :\"\\ /Root\" },{\" rank\" :42,\" name\" :\" AnotherResourcePoolClassifier\" ,\" config\" :{\" resource_pool \" : \" test_pool \" },\" database\" :\"\\ /Root\" }]}" );
7160
7199
}
7161
7200
}
7162
7201
@@ -7173,8 +7212,8 @@ Y_UNIT_TEST_SUITE(KqpScheme) {
7173
7212
7174
7213
auto query = R"(
7175
7214
ALTER RESOURCE POOL CLASSIFIER MyResourcePoolClassifier
7176
- SET (MEMBERNAME = "test@user ", RANK = 100),
7177
- RESET (RESOURCE_POOL );
7215
+ SET (RESOURCE_POOL = "test", RANK = 100),
7216
+ RESET (MEMBERNAME );
7178
7217
)" ;
7179
7218
auto result = session.ExecuteSchemeQuery (query).GetValueSync ();
7180
7219
UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::GENERIC_ERROR, result.GetIssues ().ToString ());
@@ -7195,11 +7234,12 @@ Y_UNIT_TEST_SUITE(KqpScheme) {
7195
7234
{
7196
7235
auto query = R"(
7197
7236
CREATE RESOURCE POOL CLASSIFIER MyResourcePoolClassifier WITH (
7237
+ RESOURCE_POOL="test_pool",
7198
7238
RANK=20
7199
7239
);)" ;
7200
7240
auto result = session.ExecuteSchemeQuery (query).GetValueSync ();
7201
7241
UNIT_ASSERT_VALUES_EQUAL_C (result.GetStatus (), EStatus::SUCCESS, result.GetIssues ().ToString ());
7202
- UNIT_ASSERT_VALUES_EQUAL (FetchResourcePoolClassifiers (kikimr), " {\" resource_pool_classifiers\" :[{\" rank\" :20,\" name\" :\" MyResourcePoolClassifier\" ,\" config\" :{},\" database\" :\"\\ /Root\" }]}" );
7242
+ UNIT_ASSERT_VALUES_EQUAL (FetchResourcePoolClassifiers (kikimr), " {\" resource_pool_classifiers\" :[{\" rank\" :20,\" name\" :\" MyResourcePoolClassifier\" ,\" config\" :{\" resource_pool \" : \" test_pool \" },\" database\" :\"\\ /Root\" }]}" );
7203
7243
}
7204
7244
7205
7245
{
0 commit comments