@@ -79,20 +79,7 @@ folly::dynamic extractPartitionValue<TypeKind::TIMESTAMP>(
7979 return timestamp.toMicros ();
8080}
8181
82- class IcebergFileNameGenerator : public FileNameGenerator {
83- public:
84- IcebergFileNameGenerator () {}
85-
86- std::pair<std::string, std::string> gen (
87- std::optional<uint32_t > bucketId,
88- const std::shared_ptr<const HiveInsertTableHandle> insertTableHandle,
89- const ConnectorQueryCtx& connectorQueryCtx,
90- bool commitRequired) const override ;
91-
92- folly::dynamic serialize () const override ;
93-
94- std::string toString () const override ;
95- };
82+ } // namespace
9683
9784std::pair<std::string, std::string> IcebergFileNameGenerator::gen (
9885 std::optional<uint32_t > bucketId,
@@ -117,8 +104,6 @@ std::string IcebergFileNameGenerator::toString() const {
117104 return " IcebergFileNameGenerator" ;
118105}
119106
120- } // namespace
121-
122107IcebergInsertTableHandle::IcebergInsertTableHandle (
123108 std::vector<IcebergColumnHandlePtr> inputColumns,
124109 LocationHandlePtr locationHandle,
@@ -127,7 +112,8 @@ IcebergInsertTableHandle::IcebergInsertTableHandle(
127112 dwio::common::FileFormat tableStorageFormat,
128113 const std::vector<IcebergSortingColumn>& sortedBy,
129114 std::optional<common::CompressionKind> compressionKind,
130- const std::unordered_map<std::string, std::string>& serdeParameters)
115+ const std::unordered_map<std::string, std::string>& serdeParameters,
116+ std::shared_ptr<const FileNameGenerator> fileNameGenerator)
131117 : HiveInsertTableHandle(
132118 std::vector<std::shared_ptr<const HiveColumnHandle>>(
133119 inputColumns.begin(),
@@ -139,7 +125,7 @@ IcebergInsertTableHandle::IcebergInsertTableHandle(
139125 serdeParameters,
140126 nullptr,
141127 false,
142- std::make_shared< const IcebergFileNameGenerator>( )),
128+ std::move(fileNameGenerator )),
143129 partitionSpec_(std::move(partitionSpec)),
144130 columnTransforms_(
145131 parsePartitionTransformSpecs (partitionSpec_->fields, pool)),
0 commit comments