This is an automated email from the ASF dual-hosted git repository.
lidavidm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-adbc.git
The following commit(s) were added to refs/heads/main by this push:
new ee13bfb51 refactor(c/driver/postgresql): remove workaround for GCC 4.8
(#4790)
ee13bfb51 is described below
commit ee13bfb51bab5d6a7282c7f93d55d46eed11152d
Author: David Li <[email protected]>
AuthorDate: Fri Sep 18 08:00:44 2026 +0900
refactor(c/driver/postgresql): remove workaround for GCC 4.8 (#4790)
---
c/driver/postgresql/postgres_type.h | 16 +++++++---------
1 file changed, 7 insertions(+), 9 deletions(-)
diff --git a/c/driver/postgresql/postgres_type.h
b/c/driver/postgresql/postgres_type.h
index 68c4aef1d..825d9bbf9 100644
--- a/c/driver/postgresql/postgres_type.h
+++ b/c/driver/postgresql/postgres_type.h
@@ -491,7 +491,7 @@ class PostgresTypeResolver {
// Resolve the oid for a given type_id. Returns 0 if the oid cannot be
// resolved.
uint32_t GetOID(PostgresTypeId type_id) const {
- auto result = reverse_mapping_.find(static_cast<int32_t>(type_id));
+ auto result = reverse_mapping_.find(type_id);
if (result == reverse_mapping_.end()) {
return 0;
} else {
@@ -524,7 +524,7 @@ class PostgresTypeResolver {
PostgresType child;
NANOARROW_RETURN_NOT_OK(Find(item.child_oid, &child, error));
mapping_.insert({item.oid, child.Array(item.oid, item.typname)});
- reverse_mapping_.insert({static_cast<int32_t>(base.type_id()),
item.oid});
+ reverse_mapping_.insert({base.type_id(), item.oid});
array_mapping_.insert({child.oid(), item.oid});
break;
}
@@ -541,7 +541,7 @@ class PostgresTypeResolver {
}
mapping_.insert({item.oid, out.WithPgTypeInfo(item.oid,
item.typname)});
- reverse_mapping_.insert({static_cast<int32_t>(base.type_id()),
item.oid});
+ reverse_mapping_.insert({base.type_id(), item.oid});
break;
}
@@ -549,7 +549,7 @@ class PostgresTypeResolver {
PostgresType base_type;
NANOARROW_RETURN_NOT_OK(Find(item.base_oid, &base_type, error));
mapping_.insert({item.oid, base_type.Domain(item.oid, item.typname)});
- reverse_mapping_.insert({static_cast<int32_t>(base.type_id()),
item.oid});
+ reverse_mapping_.insert({base.type_id(), item.oid});
break;
}
@@ -557,13 +557,13 @@ class PostgresTypeResolver {
PostgresType base_type;
NANOARROW_RETURN_NOT_OK(Find(item.base_oid, &base_type, error));
mapping_.insert({item.oid, base_type.Range(item.oid, item.typname)});
- reverse_mapping_.insert({static_cast<int32_t>(base.type_id()),
item.oid});
+ reverse_mapping_.insert({base.type_id(), item.oid});
break;
}
default:
mapping_.insert({item.oid, type});
- reverse_mapping_.insert({static_cast<int32_t>(base.type_id()),
item.oid});
+ reverse_mapping_.insert({base.type_id(), item.oid});
break;
}
@@ -586,9 +586,7 @@ class PostgresTypeResolver {
private:
std::unordered_map<uint32_t, PostgresType> mapping_;
- // We can't use PostgresTypeId as an unordered map key because there is no
- // built-in hasher for an enum on gcc 4.8 (i.e., R 3.6 on Windows).
- std::unordered_map<int32_t, uint32_t> reverse_mapping_;
+ std::unordered_map<PostgresTypeId, uint32_t> reverse_mapping_;
std::unordered_map<uint32_t, uint32_t> array_mapping_;
std::unordered_map<uint32_t, std::vector<std::pair<std::string, uint32_t>>>
classes_;
std::unordered_map<std::string, PostgresType> base_;