@@ -229,7 +229,6 @@ class TRowBuilder {
229
229
const i32 typmod = -1 ) {
230
230
CellsInfo[index ].Type = type;
231
231
CellsInfo[index ].Value = value;
232
- CellsInfo[index ].PgBinaryValue .clear ();
233
232
234
233
if (type.GetTypeId () == NScheme::NTypeIds::Pg) {
235
234
const auto typeDesc = type.GetTypeDesc ();
@@ -242,6 +241,8 @@ class TRowBuilder {
242
241
} else {
243
242
CellsInfo[index ].PgBinaryValue = NYql::NCommon::PgValueToNativeBinary (value, NPg::PgTypeIdFromTypeDesc (typeDesc));
244
243
}
244
+ } else {
245
+ CellsInfo[index ].PgBinaryValue .clear ();
245
246
}
246
247
return *this ;
247
248
}
@@ -370,10 +371,8 @@ class TColumnShardPayloadSerializer : public IPayloadSerializer {
370
371
public:
371
372
TColumnShardPayloadSerializer (
372
373
const NSchemeCache::TSchemeCacheNavigate::TEntry& schemeEntry,
373
- const TConstArrayRef<NKikimrKqp::TKqpColumnMetadataProto> inputColumns, // key columns then value columns
374
- const NMiniKQL::TTypeEnvironment& typeEnv)
375
- : TypeEnv(typeEnv)
376
- , Columns(BuildColumns(inputColumns))
374
+ const TConstArrayRef<NKikimrKqp::TKqpColumnMetadataProto> inputColumns) // key columns then value columns
375
+ : Columns(BuildColumns(inputColumns))
377
376
, WriteIndex(BuildWriteIndex(schemeEntry, inputColumns))
378
377
, WriteColumnIds(BuildWriteColumnIds(inputColumns, WriteIndex))
379
378
, BatchBuilder(arrow::Compression::UNCOMPRESSED, BuildNotNullColumns(inputColumns)) {
@@ -405,8 +404,6 @@ class TColumnShardPayloadSerializer : public IPayloadSerializer {
405
404
return ;
406
405
}
407
406
408
- Y_UNUSED (TypeEnv);
409
- // auto allocGuard = TypeEnv.BindAllocator();
410
407
TRowBuilder rowBuilder (Columns.size ());
411
408
data.ForEachRow ([&](const auto & row) {
412
409
for (size_t index = 0 ; index < Columns.size (); ++index ) {
@@ -576,7 +573,6 @@ class TColumnShardPayloadSerializer : public IPayloadSerializer {
576
573
}
577
574
578
575
private:
579
- const NMiniKQL::TTypeEnvironment& TypeEnv;
580
576
std::shared_ptr<NSharding::IShardingBase> Sharding;
581
577
582
578
const TVector<TSysTables::TTableColumnInfo> Columns;
@@ -691,10 +687,8 @@ class TDataShardPayloadSerializer : public IPayloadSerializer {
691
687
TDataShardPayloadSerializer (
692
688
const NSchemeCache::TSchemeCacheNavigate::TEntry& schemeEntry,
693
689
NSchemeCache::TSchemeCacheRequest::TEntry&& partitionsEntry,
694
- const TConstArrayRef<NKikimrKqp::TKqpColumnMetadataProto> inputColumns,
695
- const NMiniKQL::TTypeEnvironment& typeEnv)
696
- : TypeEnv(typeEnv)
697
- , SchemeEntry(schemeEntry)
690
+ const TConstArrayRef<NKikimrKqp::TKqpColumnMetadataProto> inputColumns)
691
+ : SchemeEntry(schemeEntry)
698
692
, KeyDescription(std::move(partitionsEntry.KeyDescription))
699
693
, Columns(BuildColumns(inputColumns))
700
694
, WriteIndex(BuildWriteIndexKeyFirst(SchemeEntry, inputColumns))
@@ -729,8 +723,6 @@ class TDataShardPayloadSerializer : public IPayloadSerializer {
729
723
void AddData (NMiniKQL::TUnboxedValueBatch&& data) override {
730
724
YQL_ENSURE (!Closed);
731
725
732
- Y_UNUSED (TypeEnv);
733
- // auto allocGuard = TypeEnv.BindAllocator();
734
726
TRowBuilder rowBuilder (Columns.size ());
735
727
data.ForEachRow ([&](const auto & row) {
736
728
for (size_t index = 0 ; index < Columns.size (); ++index ) {
@@ -832,7 +824,6 @@ class TDataShardPayloadSerializer : public IPayloadSerializer {
832
824
return *KeyDescription;
833
825
}
834
826
835
- const NMiniKQL::TTypeEnvironment& TypeEnv;
836
827
const NSchemeCache::TSchemeCacheNavigate::TEntry SchemeEntry;
837
828
THolder<TKeyDesc> KeyDescription;
838
829
@@ -857,19 +848,17 @@ bool IPayloadSerializer::IBatch::IsEmpty() const {
857
848
858
849
IPayloadSerializerPtr CreateColumnShardPayloadSerializer (
859
850
const NSchemeCache::TSchemeCacheNavigate::TEntry& schemeEntry,
860
- const TConstArrayRef<NKikimrKqp::TKqpColumnMetadataProto> inputColumns,
861
- const NMiniKQL::TTypeEnvironment& typeEnv) {
851
+ const TConstArrayRef<NKikimrKqp::TKqpColumnMetadataProto> inputColumns) {
862
852
return MakeIntrusive<TColumnShardPayloadSerializer>(
863
- schemeEntry, inputColumns, typeEnv );
853
+ schemeEntry, inputColumns);
864
854
}
865
855
866
856
IPayloadSerializerPtr CreateDataShardPayloadSerializer (
867
857
const NSchemeCache::TSchemeCacheNavigate::TEntry& schemeEntry,
868
858
NSchemeCache::TSchemeCacheRequest::TEntry&& partitionsEntry,
869
- const TConstArrayRef<NKikimrKqp::TKqpColumnMetadataProto> inputColumns,
870
- const NMiniKQL::TTypeEnvironment& typeEnv) {
859
+ const TConstArrayRef<NKikimrKqp::TKqpColumnMetadataProto> inputColumns) {
871
860
return MakeIntrusive<TDataShardPayloadSerializer>(
872
- schemeEntry, std::move (partitionsEntry), inputColumns, typeEnv );
861
+ schemeEntry, std::move (partitionsEntry), inputColumns);
873
862
}
874
863
875
864
namespace {
@@ -1048,8 +1037,7 @@ class TShardedWriteController : public IShardedWriteController {
1048
1037
BeforePartitioningChanged ();
1049
1038
Serializer = CreateColumnShardPayloadSerializer (
1050
1039
schemeEntry,
1051
- InputColumnsMetadata,
1052
- TypeEnv);
1040
+ InputColumnsMetadata);
1053
1041
AfterPartitioningChanged ();
1054
1042
}
1055
1043
@@ -1060,8 +1048,7 @@ class TShardedWriteController : public IShardedWriteController {
1060
1048
Serializer = CreateDataShardPayloadSerializer (
1061
1049
schemeEntry,
1062
1050
std::move (partitionsEntry),
1063
- InputColumnsMetadata,
1064
- TypeEnv);
1051
+ InputColumnsMetadata);
1065
1052
AfterPartitioningChanged ();
1066
1053
}
1067
1054
0 commit comments