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)