You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Jiangtao Peng (Jira)" <ji...@apache.org> on 2021/07/12 09:09:00 UTC
[jira] [Created] (ARROW-13306) [Java][JDBC] use
ResultSetMetaData.getColumnLabel instead of ResultSetMetaData.getColumnName
Jiangtao Peng created ARROW-13306:
-------------------------------------
Summary: [Java][JDBC] use ResultSetMetaData.getColumnLabel instead of ResultSetMetaData.getColumnName
Key: ARROW-13306
URL: https://issues.apache.org/jira/browse/ARROW-13306
Project: Apache Arrow
Issue Type: Improvement
Components: Java
Reporter: Jiangtao Peng
when using JDBC to Arrow utils, sometimes, column alias can not be displayed in final arrow results.
For example, here is a result set from query
{code:sql}
SELECT col AS a FROM table{code}
postgres can works properly, arrow result schema contains "a", but mysql arrow result schema contains "col".
This is because postgres use field label as column name and column label ([postgres jdbc|https://github.com/pgjdbc/pgjdbc/blob/f61fbfe7b72ccf2ca0ac2e2c366230fdb93260e5/pgjdbc/src/main/java/org/postgresql/jdbc/PgResultSetMetaData.java#L144]), but mysql use column name as label, original column name as name ([mysql jdbc|https://github.com/mysql/mysql-connector-j/blob/18bbd5e68195d0da083cbd5bd0d05d76320df7cd/src/main/user-impl/java/com/mysql/cj/jdbc/result/ResultSetMetaData.java#L176]).
Maybe "getColumnLabel" is more fittable for arrow results, instead of "getColumnName".
--
This message was sent by Atlassian Jira
(v8.3.4#803005)