|
| 1 | +#include "helpers/typed_local.h" |
| 2 | + |
| 3 | +#include <ydb/core/kqp/ut/common/columnshard.h> |
| 4 | + |
| 5 | +namespace NKikimr::NKqp { |
| 6 | + |
| 7 | +Y_UNIT_TEST_SUITE(KqpOlapCompression) { |
| 8 | + Y_UNIT_TEST(DisabledAlterCompression) { |
| 9 | + TKikimrSettings settings = TKikimrSettings().SetWithSampleTables(false).SetEnableOlapCompression(false); |
| 10 | + { |
| 11 | + TKikimrRunner kikimr(settings); |
| 12 | + TTypedLocalHelper helper("", kikimr, "olapTable", "olapStore"); |
| 13 | + helper.CreateTestOlapTable(); |
| 14 | + helper.FillPKOnly(0, 1); |
| 15 | + helper.ExecuteSchemeQuery( |
| 16 | + "ALTER OBJECT `/Root/olapStore/olapTable` (TYPE TABLE) SET (ACTION=ALTER_COLUMN, NAME=pk_int, " |
| 17 | + "`SERIALIZER.CLASS_NAME`=`ARROW_SERIALIZER`, `COMPRESSION.TYPE`=`zstd`);", NYdb::EStatus::SCHEME_ERROR); |
| 18 | + helper.ExecuteSchemeQuery( |
| 19 | + "ALTER OBJECT `/Root/olapStore` (TYPE TABLESTORE) SET (ACTION=ALTER_COLUMN, NAME=pk_int, " |
| 20 | + "`SERIALIZER.CLASS_NAME`=`ARROW_SERIALIZER`, `COMPRESSION.TYPE`=`zstd`);", NYdb::EStatus::PRECONDITION_FAILED); |
| 21 | + } |
| 22 | + |
| 23 | + { |
| 24 | + TTestHelper helper(settings); |
| 25 | + TVector<TTestHelper::TColumnSchema> schema = { |
| 26 | + TTestHelper::TColumnSchema().SetName("pk_int").SetType(NScheme::NTypeIds::Uint64).SetNullable(false) |
| 27 | + }; |
| 28 | + |
| 29 | + TTestHelper::TColumnTable table; |
| 30 | + table.SetName("/Root/olapTable").SetPrimaryKey({ "pk_int" }).SetSharding({ "pk_int" }).SetSchema(schema); |
| 31 | + helper.CreateTable(table); |
| 32 | + |
| 33 | + auto alterResult = helper.GetSession() |
| 34 | + .ExecuteSchemeQuery( |
| 35 | + "ALTER OBJECT `/Root/olapTable` (TYPE TABLE) SET (ACTION=ALTER_COLUMN, " |
| 36 | + "NAME=pk_int,`SERIALIZER.CLASS_NAME`=`ARROW_SERIALIZER`, `COMPRESSION.TYPE`=`zstd`);") |
| 37 | + .GetValueSync(); |
| 38 | + UNIT_ASSERT_VALUES_EQUAL_C(alterResult.GetStatus(), NYdb::EStatus::SCHEME_ERROR, alterResult.GetIssues().ToString()); |
| 39 | + } |
| 40 | + } |
| 41 | +} |
| 42 | +} |
0 commit comments