@@ -237,17 +237,36 @@ Y_UNIT_TEST_SUITE(KqpScan) {
237237 .BeginTuple ().AddElement ().BeginOptional ().Decimal (TDecimalValue (" 1.5" , 22 , 9 )).EndOptional ().EndTuple ()
238238 .Build ());
239239
240- auto ret = session.CreateTable (" /Root/DecimalTest" ,
240+ auto ret = session.CreateTable (" /Root/DecimalTest" ,
241241 TTableBuilder ()
242242 .AddNullableColumn (" Key" , TDecimalType (22 , 9 ))
243243 .AddNullableColumn (" Key35" , TDecimalType (35 , 10 ))
244244 .AddNullableColumn (" Value" , TDecimalType (22 , 9 ))
245245 .AddNullableColumn (" Value35" , TDecimalType (35 , 10 ))
246246 .SetPrimaryKeyColumns ({" Key" , " Key35" })
247- // .SetPartitionAtKeys(partitions) // Error at split boundary 0: Unsupported typeId 4865 at index 0
247+ .SetPartitionAtKeys (partitions)
248248 .Build ()).GetValueSync ();
249249 UNIT_ASSERT_C (ret.IsSuccess (), ret.GetIssues ().ToString ());
250250
251+ {
252+ auto describeResult = session.DescribeTable (" /Root/DecimalTest" , TDescribeTableSettings ().WithKeyShardBoundary (true )).ExtractValueSync ();
253+ UNIT_ASSERT_VALUES_EQUAL (describeResult.GetStatus (), NYdb::EStatus::SUCCESS);
254+ const NYdb::NTable::TTableDescription& tableDescription = describeResult.GetTableDescription ();
255+ const TVector<NYdb::NTable::TKeyRange>& keyRanges = tableDescription.GetKeyRanges ();
256+ const TVector<NYdb::NTable::TTableColumn>& columns = tableDescription.GetTableColumns ();
257+ UNIT_ASSERT_VALUES_EQUAL (columns.size (), 4 );
258+ UNIT_ASSERT_STRINGS_EQUAL (columns[0 ].Type .ToString (), " Decimal(22,9)?" );
259+ UNIT_ASSERT_STRINGS_EQUAL (columns[1 ].Type .ToString (), " Decimal(35,10)?" );
260+ auto extractValue = [](const TValue& val) {
261+ auto parser = TValueParser (val);
262+ parser.OpenTuple ();
263+ UNIT_ASSERT (parser.TryNextElement ());
264+ return parser.GetOptionalDecimal ()->ToString ();
265+ };
266+ UNIT_ASSERT_VALUES_EQUAL (keyRanges.size (), 2 );
267+ UNIT_ASSERT_STRINGS_EQUAL (extractValue (keyRanges[0 ].To ()->GetValue ()), " 1.5" );
268+ }
269+
251270 auto params = TParamsBuilder ().AddParam (" $in" ).BeginList ()
252271 .AddListItem ().BeginStruct ()
253272 .AddMember (" Key" ).Decimal (TDecimalValue (" 1.0" , 22 , 9 ))
0 commit comments