Skip to content

Commit

Permalink
MultiFileReaderColumnMapping -> MultiFileReaderColumnMappingMode
Browse files Browse the repository at this point in the history
  • Loading branch information
Tishj committed Dec 13, 2024
1 parent d70eeb3 commit 1c9ff9a
Show file tree
Hide file tree
Showing 6 changed files with 17 additions and 20 deletions.
2 changes: 1 addition & 1 deletion extension/parquet/parquet_extension.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ static MultiFileReaderBindData BindSchema(ClientContext &context, vector<Logical
vector<string> schema_col_names;
vector<LogicalType> schema_col_types;
MultiFileReaderBindData bind_data;
bind_data.mapping = MultiFileReaderColumnMapping::BY_FIELD_ID;
bind_data.mapping = MultiFileReaderColumnMappingMode::BY_FIELD_ID;
schema_col_names.reserve(options.schema.size());
schema_col_types.reserve(options.schema.size());
for (const auto &column : options.schema) {
Expand Down
14 changes: 7 additions & 7 deletions src/common/enum_util.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2273,22 +2273,22 @@ MetricsType EnumUtil::FromString<MetricsType>(const char *value) {
return static_cast<MetricsType>(StringUtil::StringToEnum(GetMetricsTypeValues(), 48, "MetricsType", value));
}

const StringUtil::EnumStringLiteral *GetMultiFileReaderColumnMappingValues() {
const StringUtil::EnumStringLiteral *GetMultiFileReaderColumnMappingModeValues() {
static constexpr StringUtil::EnumStringLiteral values[] {
{ static_cast<uint32_t>(MultiFileReaderColumnMapping::BY_NAME), "BY_NAME" },
{ static_cast<uint32_t>(MultiFileReaderColumnMapping::BY_FIELD_ID), "BY_FIELD_ID" }
{ static_cast<uint32_t>(MultiFileReaderColumnMappingMode::BY_NAME), "BY_NAME" },
{ static_cast<uint32_t>(MultiFileReaderColumnMappingMode::BY_FIELD_ID), "BY_FIELD_ID" }
};
return values;
}

template<>
const char* EnumUtil::ToChars<MultiFileReaderColumnMapping>(MultiFileReaderColumnMapping value) {
return StringUtil::EnumToString(GetMultiFileReaderColumnMappingValues(), 2, "MultiFileReaderColumnMapping", static_cast<uint32_t>(value));
const char* EnumUtil::ToChars<MultiFileReaderColumnMappingMode>(MultiFileReaderColumnMappingMode value) {
return StringUtil::EnumToString(GetMultiFileReaderColumnMappingModeValues(), 2, "MultiFileReaderColumnMappingMode", static_cast<uint32_t>(value));
}

template<>
MultiFileReaderColumnMapping EnumUtil::FromString<MultiFileReaderColumnMapping>(const char *value) {
return static_cast<MultiFileReaderColumnMapping>(StringUtil::StringToEnum(GetMultiFileReaderColumnMappingValues(), 2, "MultiFileReaderColumnMapping", value));
MultiFileReaderColumnMappingMode EnumUtil::FromString<MultiFileReaderColumnMappingMode>(const char *value) {
return static_cast<MultiFileReaderColumnMappingMode>(StringUtil::StringToEnum(GetMultiFileReaderColumnMappingModeValues(), 2, "MultiFileReaderColumnMappingMode", value));
}

const StringUtil::EnumStringLiteral *GetNTypeValues() {
Expand Down
9 changes: 3 additions & 6 deletions src/common/multi_file_reader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -119,9 +119,6 @@ bool MultiFileReader::ParseOption(const string &key, const Value &val, MultiFile
options.union_by_name = BooleanValue::Get(val);
} else if (loption == "hive_types_autocast" || loption == "hive_type_autocast") {
options.hive_types_autocast = BooleanValue::Get(val);
} else if (loption == "column_mapping") {
auto mapping = val.GetValue<string>();
options.mapping = EnumUtil::FromString<MultiFileReaderColumnMapping>(mapping);
} else if (loption == "hive_types" || loption == "hive_type") {
if (val.type().id() != LogicalTypeId::STRUCT) {
throw InvalidInputException(
Expand Down Expand Up @@ -474,18 +471,18 @@ void MultiFileReader::CreateNameMapping(const string &file_name,
const MultiFileReaderBindData &bind_data, const string &initial_file,
optional_ptr<MultiFileReaderGlobalState> global_state) {
switch (bind_data.mapping) {
case MultiFileReaderColumnMapping::BY_NAME: {
case MultiFileReaderColumnMappingMode::BY_NAME: {
CreateMappingByName(file_name, local_columns, global_columns, global_column_ids, reader_data, bind_data,
initial_file, global_state);
break;
}
case MultiFileReaderColumnMapping::BY_FIELD_ID: {
case MultiFileReaderColumnMappingMode::BY_FIELD_ID: {
CreateMappingByFieldId(file_name, local_columns, global_columns, global_column_ids, reader_data, bind_data,
initial_file, global_state);
break;
}
default: {
throw InternalException("Unsupported MultiFileReaderColumnMapping type");
throw InternalException("Unsupported MultiFileReaderColumnMappingMode type");
}
}
}
Expand Down
6 changes: 3 additions & 3 deletions src/include/duckdb/common/enum_util.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ enum class MetaPipelineType : uint8_t;

enum class MetricsType : uint8_t;

enum class MultiFileReaderColumnMapping : uint8_t;
enum class MultiFileReaderColumnMappingMode : uint8_t;

enum class NType : uint8_t;

Expand Down Expand Up @@ -646,7 +646,7 @@ template<>
const char* EnumUtil::ToChars<MetricsType>(MetricsType value);

template<>
const char* EnumUtil::ToChars<MultiFileReaderColumnMapping>(MultiFileReaderColumnMapping value);
const char* EnumUtil::ToChars<MultiFileReaderColumnMappingMode>(MultiFileReaderColumnMappingMode value);

template<>
const char* EnumUtil::ToChars<NType>(NType value);
Expand Down Expand Up @@ -1160,7 +1160,7 @@ template<>
MetricsType EnumUtil::FromString<MetricsType>(const char *value);

template<>
MultiFileReaderColumnMapping EnumUtil::FromString<MultiFileReaderColumnMapping>(const char *value);
MultiFileReaderColumnMappingMode EnumUtil::FromString<MultiFileReaderColumnMappingMode>(const char *value);

template<>
NType EnumUtil::FromString<NType>(const char *value);
Expand Down
2 changes: 1 addition & 1 deletion src/include/duckdb/common/multi_file_reader.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ struct MultiFileReaderBindData {
//! (optional) The schema set by the multi file reader
vector<MultiFileReaderColumnDefinition> schema;
//! The method used to map local -> global columns
MultiFileReaderColumnMapping mapping = MultiFileReaderColumnMapping::BY_NAME;
MultiFileReaderColumnMappingMode mapping = MultiFileReaderColumnMappingMode::BY_NAME;

DUCKDB_API void Serialize(Serializer &serializer) const;
DUCKDB_API static MultiFileReaderBindData Deserialize(Deserializer &deserializer);
Expand Down
4 changes: 2 additions & 2 deletions src/include/duckdb/common/multi_file_reader_options.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@ namespace duckdb {
struct BindInfo;
class MultiFileList;

enum class MultiFileReaderColumnMapping : uint8_t { BY_NAME, BY_FIELD_ID };
enum class MultiFileReaderColumnMappingMode : uint8_t { BY_NAME, BY_FIELD_ID };

struct MultiFileReaderOptions {
bool filename = false;
bool hive_partitioning = false;
bool auto_detect_hive_partitioning = true;
bool union_by_name = false;
bool hive_types_autocast = true;
MultiFileReaderColumnMapping mapping = MultiFileReaderColumnMapping::BY_NAME;
MultiFileReaderColumnMappingMode mapping = MultiFileReaderColumnMappingMode::BY_NAME;

case_insensitive_map_t<LogicalType> hive_types_schema;

Expand Down

0 comments on commit 1c9ff9a

Please sign in to comment.