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)