11#include " helpers/typed_local.h"
2+
23#include < ydb/core/tx/columnshard/hooks/testing/controller.h>
34
45namespace NKikimr ::NKqp {
@@ -14,32 +15,75 @@ Y_UNIT_TEST_SUITE(KqpOlapStatistics) {
1415 helper.CreateTestOlapTable ();
1516 auto tableClient = kikimr.GetTableClient ();
1617 {
17- auto alterQuery = TStringBuilder () << R"( ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=UPSERT_INDEX, NAME=max_pk_int, TYPE=MAX, FEATURES=`{\"column_name\": \"pk_int\"}`))" ;
18+ auto alterQuery =
19+ TStringBuilder ()
20+ << R"( ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=UPSERT_INDEX, NAME=max_pk_int, TYPE=MAX, FEATURES=`{\"column_name\": \"pk_int\"}`))" ;
1821 auto session = tableClient.CreateSession ().GetValueSync ().GetSession ();
1922 auto alterResult = session.ExecuteSchemeQuery (alterQuery).GetValueSync ();
2023 UNIT_ASSERT_VALUES_EQUAL_C (alterResult.GetStatus (), NYdb::EStatus::SUCCESS, alterResult.GetIssues ().ToString ());
2124 }
2225 {
23- auto alterQuery = TStringBuilder () << " ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=UPSERT_INDEX, NAME=max_pk_int, TYPE=MAX, FEATURES=`{\" column_name\" : \" field\" }`);" ;
26+ auto alterQuery = TStringBuilder () << " ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=UPSERT_INDEX, "
27+ " NAME=max_pk_int, TYPE=MAX, FEATURES=`{\" column_name\" : \" field\" }`);" ;
2428 auto session = tableClient.CreateSession ().GetValueSync ().GetSession ();
2529 auto alterResult = session.ExecuteSchemeQuery (alterQuery).GetValueSync ();
2630 UNIT_ASSERT_VALUES_UNEQUAL_C (alterResult.GetStatus (), NYdb::EStatus::SUCCESS, alterResult.GetIssues ().ToString ());
2731 }
2832 {
29- auto alterQuery = TStringBuilder () << " ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=UPSERT_INDEX, NAME=max_pk_int, TYPE=MAX, FEATURES=`{\" column_name\" : \" pk_int\" }`);" ;
33+ auto alterQuery = TStringBuilder () << " ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=UPSERT_INDEX, "
34+ " NAME=max_pk_int, TYPE=MAX, FEATURES=`{\" column_name\" : \" pk_int\" }`);" ;
3035 auto session = tableClient.CreateSession ().GetValueSync ().GetSession ();
3136 auto alterResult = session.ExecuteSchemeQuery (alterQuery).GetValueSync ();
3237 UNIT_ASSERT_VALUES_UNEQUAL_C (alterResult.GetStatus (), NYdb::EStatus::SUCCESS, alterResult.GetIssues ().ToString ());
3338 }
3439 {
35- auto alterQuery = TStringBuilder () << " ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=DROP_INDEX, NAME=max_pk_int);" ;
40+ auto alterQuery = TStringBuilder ()
41+ << " ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=DROP_INDEX, NAME=max_pk_int);" ;
3642 auto session = tableClient.CreateSession ().GetValueSync ().GetSession ();
3743 auto alterResult = session.ExecuteSchemeQuery (alterQuery).GetValueSync ();
3844 UNIT_ASSERT_VALUES_EQUAL_C (alterResult.GetStatus (), NYdb::EStatus::SUCCESS, alterResult.GetIssues ().ToString ());
3945 }
4046 }
4147 }
4248
49+ Y_UNIT_TEST (StatsUsageNotPK) {
50+ auto csController = NYDBTest::TControllers::RegisterCSControllerGuard<NYDBTest::NColumnShard::TController>();
51+ {
52+ auto settings = TKikimrSettings ().SetWithSampleTables (false );
53+ TKikimrRunner kikimr (settings);
54+ Tests::NCommon::TLoggerInit (kikimr).Initialize ();
55+ TTypedLocalHelper helper (" Utf8" , kikimr);
56+ helper.CreateTestOlapTable ();
57+ auto tableClient = kikimr.GetTableClient ();
58+ {
59+ auto alterQuery = TStringBuilder () << " ALTER TABLE `/Root/olapStore/olapTable` SET (TTL = Interval(\" P1D\" ) ON ts);" ;
60+ auto session = tableClient.CreateSession ().GetValueSync ().GetSession ();
61+ auto alterResult = session.ExecuteSchemeQuery (alterQuery).GetValueSync ();
62+ UNIT_ASSERT_VALUES_UNEQUAL (alterResult.GetStatus (), NYdb::EStatus::SUCCESS);
63+ }
64+ {
65+ auto alterQuery =
66+ TStringBuilder ()
67+ << R"( ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=UPSERT_INDEX, NAME=max_ts, TYPE=MAX, FEATURES=`{\"column_name\": \"ts\"}`))" ;
68+ auto session = tableClient.CreateSession ().GetValueSync ().GetSession ();
69+ auto alterResult = session.ExecuteSchemeQuery (alterQuery).GetValueSync ();
70+ UNIT_ASSERT_VALUES_EQUAL_C (alterResult.GetStatus (), NYdb::EStatus::SUCCESS, alterResult.GetIssues ().ToString ());
71+ }
72+ {
73+ auto alterQuery = TStringBuilder () << " ALTER TABLE `/Root/olapStore/olapTable` SET (TTL = Interval(\" P1D\" ) ON ts);" ;
74+ auto session = tableClient.CreateSession ().GetValueSync ().GetSession ();
75+ auto alterResult = session.ExecuteSchemeQuery (alterQuery).GetValueSync ();
76+ UNIT_ASSERT_VALUES_EQUAL (alterResult.GetStatus (), NYdb::EStatus::SUCCESS);
77+ }
78+ {
79+ auto alterQuery = TStringBuilder () << " ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=DROP_INDEX, NAME=max_ts);" ;
80+ auto session = tableClient.CreateSession ().GetValueSync ().GetSession ();
81+ auto alterResult = session.ExecuteSchemeQuery (alterQuery).GetValueSync ();
82+ UNIT_ASSERT_VALUES_UNEQUAL (alterResult.GetStatus (), NYdb::EStatus::SUCCESS);
83+ }
84+ }
85+ }
86+
4387 Y_UNIT_TEST (StatsUsageWithTTL) {
4488 auto csController = NYDBTest::TControllers::RegisterCSControllerGuard<NYDBTest::NColumnShard::TController>();
4589 {
@@ -50,7 +94,8 @@ Y_UNIT_TEST_SUITE(KqpOlapStatistics) {
5094 helper.CreateTestOlapTable ();
5195 auto tableClient = kikimr.GetTableClient ();
5296 {
53- auto alterQuery = TStringBuilder () << " ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=UPSERT_INDEX, TYPE=MAX, NAME=max_ts, FEATURES=`{\" column_name\" : \" ts\" }`);" ;
97+ auto alterQuery = TStringBuilder () << " ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=UPSERT_INDEX, TYPE=MAX, "
98+ " NAME=max_ts, FEATURES=`{\" column_name\" : \" ts\" }`);" ;
5499 auto session = tableClient.CreateSession ().GetValueSync ().GetSession ();
55100 auto alterResult = session.ExecuteSchemeQuery (alterQuery).GetValueSync ();
56101 UNIT_ASSERT_VALUES_EQUAL_C (alterResult.GetStatus (), NYdb::EStatus::SUCCESS, alterResult.GetIssues ().ToString ());
@@ -71,4 +116,4 @@ Y_UNIT_TEST_SUITE(KqpOlapStatistics) {
71116 }
72117}
73118
74- }
119+ } // namespace NKikimr::NKqp
0 commit comments