@@ -413,14 +413,14 @@ static std::unique_ptr<PaxColumn> BuildEncodingColumn(
413413 const ColumnEncoding &data_encoding, bool is_vec) {
414414 uint32 not_null_rows = 0 ;
415415 uint64 data_stream_len = 0 ;
416- std::shared_ptr <DataBuffer<T>> data_stream_buffer;
416+ std::unique_ptr <DataBuffer<T>> data_stream_buffer;
417417
418418 Assert (data_stream.kind () == pax::porc::proto::Stream_Kind_DATA);
419419
420420 not_null_rows = static_cast <uint32>(data_stream.column ());
421421 data_stream_len = static_cast <uint64>(data_stream.length ());
422422
423- data_stream_buffer = std::make_shared <DataBuffer<T>>(
423+ data_stream_buffer = std::make_unique <DataBuffer<T>>(
424424 reinterpret_cast <T *>(data_buffer->GetAvailableBuffer ()), data_stream_len,
425425 false , false );
426426
@@ -443,7 +443,7 @@ static std::unique_ptr<PaxColumn> BuildEncodingColumn(
443443 auto pax_column =
444444 traits::ColumnOptCreateTraits<PaxVecEncodingColumn, T>::create_decoding (
445445 alloc_size, decoding_option);
446- pax_column->Set (data_stream_buffer, (size_t )not_null_rows);
446+ pax_column->Set (std::move ( data_stream_buffer) , (size_t )not_null_rows);
447447 return pax_column;
448448 } else {
449449 AssertImply (data_encoding.kind () ==
@@ -455,7 +455,7 @@ static std::unique_ptr<PaxColumn> BuildEncodingColumn(
455455 auto pax_column =
456456 traits::ColumnOptCreateTraits<PaxEncodingColumn, T>::create_decoding (
457457 alloc_size, decoding_option);
458- pax_column->Set (data_stream_buffer);
458+ pax_column->Set (std::move ( data_stream_buffer) );
459459 return pax_column;
460460 }
461461}
@@ -466,14 +466,14 @@ static std::unique_ptr<PaxColumn> BuildEncodingBitPackedColumn(
466466 bool is_vec) {
467467 uint32 not_null_rows = 0 ;
468468 uint64 column_data_len = 0 ;
469- std::shared_ptr <DataBuffer<int8>> column_data_buffer;
469+ std::unique_ptr <DataBuffer<int8>> column_data_buffer;
470470
471471 Assert (data_stream.kind () == pax::porc::proto::Stream_Kind_DATA);
472472
473473 not_null_rows = static_cast <uint32>(data_stream.column ());
474474 column_data_len = static_cast <uint64>(data_stream.length ());
475475
476- column_data_buffer = std::make_shared <DataBuffer<int8>>(
476+ column_data_buffer = std::make_unique <DataBuffer<int8>>(
477477 reinterpret_cast <int8 *>(data_buffer->GetAvailableBuffer ()),
478478 column_data_len, false , false );
479479
@@ -496,7 +496,7 @@ static std::unique_ptr<PaxColumn> BuildEncodingBitPackedColumn(
496496 auto pax_column =
497497 traits::ColumnOptCreateTraits2<PaxVecBitPackedColumn>::create_decoding (
498498 alloc_size, decoding_option);
499- pax_column->Set (column_data_buffer, (size_t )not_null_rows);
499+ pax_column->Set (std::move ( column_data_buffer) , (size_t )not_null_rows);
500500 return pax_column;
501501 } else {
502502 AssertImply (data_encoding.kind () ==
@@ -508,7 +508,7 @@ static std::unique_ptr<PaxColumn> BuildEncodingBitPackedColumn(
508508 auto pax_column =
509509 traits::ColumnOptCreateTraits2<PaxBitPackedColumn>::create_decoding (
510510 alloc_size, decoding_option);
511- pax_column->Set (column_data_buffer);
511+ pax_column->Set (std::move ( column_data_buffer) );
512512 return pax_column;
513513 }
514514}
@@ -521,16 +521,16 @@ static std::unique_ptr<PaxColumn> BuildEncodingDecimalColumn(
521521 uint32 not_null_rows = 0 ;
522522 uint64 offset_stream_len = 0 ;
523523 uint64 data_stream_len = 0 ;
524- std::shared_ptr <DataBuffer<int32>> offset_stream_buffer;
525- std::shared_ptr <DataBuffer<char >> data_stream_buffer;
524+ std::unique_ptr <DataBuffer<int32>> offset_stream_buffer;
525+ std::unique_ptr <DataBuffer<char >> data_stream_buffer;
526526 std::unique_ptr<PaxNonFixedColumn> pax_column;
527527 uint64 padding = 0 ;
528528
529529 not_null_rows = static_cast <uint32>(len_stream.column ());
530530 offset_stream_len = static_cast <uint64>(len_stream.length ());
531531 padding = len_stream.padding ();
532532
533- offset_stream_buffer = std::make_shared <DataBuffer<int32>>(
533+ offset_stream_buffer = std::make_unique <DataBuffer<int32>>(
534534 reinterpret_cast <int32 *>(data_buffer->GetAvailableBuffer ()),
535535 offset_stream_len, false , false );
536536
@@ -560,7 +560,7 @@ static std::unique_ptr<PaxColumn> BuildEncodingDecimalColumn(
560560 }
561561#endif
562562
563- data_stream_buffer = std::make_shared <DataBuffer<char >>(
563+ data_stream_buffer = std::make_unique <DataBuffer<char >>(
564564 data_buffer->GetAvailableBuffer (), data_stream_len, false , false );
565565 data_stream_buffer->BrushAll ();
566566 data_buffer->Brush (data_stream_len);
@@ -591,7 +591,7 @@ static std::unique_ptr<PaxColumn> BuildEncodingDecimalColumn(
591591 data_cap, offsets_cap, std::move (decoding_option));
592592
593593 // current memory will be freed in pax_columns->data_
594- pax_column->Set (data_stream_buffer, offset_stream_buffer, data_stream_len);
594+ pax_column->Set (std::move ( data_stream_buffer), std::move ( offset_stream_buffer) , data_stream_len);
595595 return pax_column;
596596}
597597
@@ -601,7 +601,7 @@ static std::unique_ptr<PaxColumn> BuildVecEncodingDecimalColumn(
601601 const ColumnEncoding &data_encoding, bool is_vec) {
602602 uint32 not_null_rows = 0 ;
603603 uint64 data_stream_len = 0 ;
604- std::shared_ptr <DataBuffer<int8>> data_stream_buffer;
604+ std::unique_ptr <DataBuffer<int8>> data_stream_buffer;
605605
606606 CBDB_CHECK (is_vec, cbdb::CException::ExType::kExTypeLogicError );
607607
@@ -610,7 +610,7 @@ static std::unique_ptr<PaxColumn> BuildVecEncodingDecimalColumn(
610610 not_null_rows = static_cast <uint32>(data_stream.column ());
611611 data_stream_len = static_cast <uint64>(data_stream.length ());
612612
613- data_stream_buffer = std::make_shared <DataBuffer<int8>>(
613+ data_stream_buffer = std::make_unique <DataBuffer<int8>>(
614614 reinterpret_cast <int8 *>(data_buffer->GetAvailableBuffer ()),
615615 data_stream_len, false , false );
616616
@@ -630,7 +630,7 @@ static std::unique_ptr<PaxColumn> BuildVecEncodingDecimalColumn(
630630
631631 auto pax_column = traits::ColumnOptCreateTraits2<PaxShortNumericColumn>:: //
632632 create_decoding (alloc_size, decoding_option);
633- pax_column->Set (data_stream_buffer, (size_t )not_null_rows);
633+ pax_column->Set (std::move ( data_stream_buffer) , (size_t )not_null_rows);
634634
635635 return pax_column;
636636}
@@ -644,8 +644,8 @@ static std::unique_ptr<PaxColumn> BuildEncodingVecNonFixedColumn(
644644 uint64 offset_stream_len = 0 ;
645645 uint64 padding = 0 ;
646646 uint64 data_stream_len = 0 ;
647- std::shared_ptr <DataBuffer<int32>> offset_stream_buffer;
648- std::shared_ptr <DataBuffer<char >> data_stream_buffer;
647+ std::unique_ptr <DataBuffer<int32>> offset_stream_buffer;
648+ std::unique_ptr <DataBuffer<char >> data_stream_buffer;
649649 std::unique_ptr<PaxVecNonFixedColumn> pax_column;
650650 PaxDecoder::DecodingOption decoding_option;
651651 size_t data_cap, offsets_cap;
@@ -658,7 +658,7 @@ static std::unique_ptr<PaxColumn> BuildEncodingVecNonFixedColumn(
658658 offset_stream_len = static_cast <uint64>(len_stream.length ());
659659 padding = len_stream.padding ();
660660
661- offset_stream_buffer = std::make_shared <DataBuffer<int32>>(
661+ offset_stream_buffer = std::make_unique <DataBuffer<int32>>(
662662 reinterpret_cast <int32 *>(data_buffer->GetAvailableBuffer ()),
663663 offset_stream_len, false , false );
664664
@@ -676,7 +676,7 @@ static std::unique_ptr<PaxColumn> BuildEncodingVecNonFixedColumn(
676676 }
677677
678678 data_buffer->Brush (offset_stream_len);
679- data_stream_buffer = std::make_shared <DataBuffer<char >>(
679+ data_stream_buffer = std::make_unique <DataBuffer<char >>(
680680 data_buffer->GetAvailableBuffer (), data_stream_len, false , false );
681681
682682 decoding_option.column_encode_type = data_encoding.kind ();
@@ -730,7 +730,7 @@ static std::unique_ptr<PaxColumn> BuildEncodingVecNonFixedColumn(
730730 create_decoding (data_cap, offsets_cap, std::move (decoding_option));
731731 }
732732 }
733- pax_column->Set (data_stream_buffer, offset_stream_buffer, data_stream_len,
733+ pax_column->Set (std::move ( data_stream_buffer), std::move ( offset_stream_buffer) , data_stream_len,
734734 not_null_rows);
735735 return pax_column;
736736}
@@ -743,8 +743,8 @@ static std::unique_ptr<PaxColumn> BuildEncodingNonFixedColumn(
743743 [[maybe_unused]] uint32 not_null_rows = 0 ;
744744 uint64 offset_stream_len = 0 ;
745745 uint64 data_stream_len = 0 ;
746- std::shared_ptr <DataBuffer<int32>> offset_stream_buffer;
747- std::shared_ptr <DataBuffer<char >> data_stream_buffer;
746+ std::unique_ptr <DataBuffer<int32>> offset_stream_buffer;
747+ std::unique_ptr <DataBuffer<char >> data_stream_buffer;
748748 std::unique_ptr<PaxNonFixedColumn> pax_column;
749749 uint64 padding = 0 ;
750750 PaxDecoder::DecodingOption decoding_option;
@@ -754,7 +754,7 @@ static std::unique_ptr<PaxColumn> BuildEncodingNonFixedColumn(
754754 offset_stream_len = static_cast <uint64>(len_stream.length ());
755755 padding = len_stream.padding ();
756756
757- offset_stream_buffer = std::make_shared <DataBuffer<int32>>(
757+ offset_stream_buffer = std::make_unique <DataBuffer<int32>>(
758758 reinterpret_cast <int32 *>(data_buffer->GetAvailableBuffer ()),
759759 offset_stream_len, false , false );
760760
@@ -776,7 +776,7 @@ static std::unique_ptr<PaxColumn> BuildEncodingNonFixedColumn(
776776 }
777777#endif
778778
779- data_stream_buffer = std::make_shared <DataBuffer<char >>(
779+ data_stream_buffer = std::make_unique <DataBuffer<char >>(
780780 data_buffer->GetAvailableBuffer (), data_stream_len, false , false );
781781 data_stream_buffer->BrushAll ();
782782 data_buffer->Brush (data_stream_len);
@@ -819,7 +819,7 @@ static std::unique_ptr<PaxColumn> BuildEncodingNonFixedColumn(
819819 }
820820
821821 // current memory will be freed in pax_columns->data_
822- pax_column->Set (data_stream_buffer, offset_stream_buffer, data_stream_len);
822+ pax_column->Set (std::move ( data_stream_buffer), std::move ( offset_stream_buffer) , data_stream_len);
823823 return pax_column;
824824}
825825
0 commit comments