23 #include <unordered_set>
25 namespace import_export {
42 static std::unique_ptr<QueryExporter>
create(
const FileType file_type);
44 virtual void beginExport(
const std::string& file_path,
45 const std::string& layer_name,
47 const std::vector<TargetMetaInfo>& column_info,
50 virtual void exportResults(
const std::vector<AggregatedResult>& query_results) = 0;
57 const std::string& file_path,
58 const std::string& file_type,
59 const std::unordered_set<std::string>& valid_extensions)
const;
60 std::string
safeColumnName(
const std::string& resname,
const int column_index);
const FileType file_type_
std::string safeColumnName(const std::string &resname, const int column_index)
static std::unique_ptr< QueryExporter > create(const FileType file_type)
virtual void endExport()=0
virtual void beginExport(const std::string &file_path, const std::string &layer_name, const CopyParams ©_params, const std::vector< TargetMetaInfo > &column_info, const FileCompression file_compression, const ArrayNullHandling array_null_handling)=0
virtual void exportResults(const std::vector< AggregatedResult > &query_results)=0
void validateFileExtensions(const std::string &file_path, const std::string &file_type, const std::unordered_set< std::string > &valid_extensions) const