MCPcopy Create free account
hub / github.com/apache/impala / AddFileAux

Method AddFileAux

be/src/runtime/dml-exec-state.cc:764–799  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

762}
763
764void DmlExecState::AddFileAux(const OutputPartition& partition, bool is_iceberg,
765 const IcebergFileStats& insert_stats, bool is_delete) {
766 lock_guard<mutex> l(lock_);
767
768 // Special handling for puffin files with deletion vectors
769 bool is_puffin = partition.writer && partition.writer->file_extension() == "puffin";
770 if (is_puffin && is_delete && is_iceberg) {
771 // For puffin files, create one entry per data file with deletion vectors
772 AddPuffinDeletionVectorEntries(partition);
773 return;
774 }
775
776 // Regular file handling (non-puffin or non-delete files)
777 PartitionStatusMap::iterator entry =
778 per_partition_status_.find(partition.partition_name);
779 DCHECK(entry != per_partition_status_.end());
780 DmlFileStatusPb* file;
781 if (is_delete) {
782 file = entry->second.add_created_delete_files();
783 } else {
784 file = entry->second.add_created_files();
785 }
786 if (partition.current_file_final_name.empty()) {
787 file->set_final_path(partition.current_file_name);
788 } else {
789 file->set_final_path(partition.current_file_final_name);
790 file->set_staging_path(partition.current_file_name);
791 }
792 file->set_num_rows(partition.current_file_rows);
793 file->set_size(partition.current_file_bytes);
794 if (is_iceberg) {
795 file->set_iceberg_data_file_fb(
796 createIcebergDataFileString(partition, file->final_path(), file->num_rows(),
797 file->size(), insert_stats));
798 }
799}
800
801vector<string> DmlExecState::CreateIcebergDataFilesVector() {
802 vector<string> ret;

Callers

nothing calls this directly

Calls 8

set_num_rowsMethod · 0.80
file_extensionMethod · 0.45
findMethod · 0.45
endMethod · 0.45
emptyMethod · 0.45
num_rowsMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected