You are viewing a plain text version of this content. The canonical link for it is here.
Posted to gitbox@hive.apache.org by GitBox <gi...@apache.org> on 2022/08/15 22:24:14 UTC

[GitHub] [hive] nrg4878 commented on a diff in pull request #3276: HIVE-26046: MySQL's bit datatype is default to void datatype in hive

nrg4878 commented on code in PR #3276:
URL: https://github.com/apache/hive/pull/3276#discussion_r946175305


##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/dataconnector/jdbc/MySQLConnectorProvider.java:
##########
@@ -90,10 +90,20 @@ protected String getDataType(String dbDataType, int size) {
     // map any db specific types here.
     switch (dbDataType.toLowerCase())
     {
+    case "bit":
+      return toHiveBitType(size);
     default:
       mappedType = ColumnType.VOID_TYPE_NAME;
       break;
     }
     return mappedType;
   }
+
+  private String toHiveBitType(int size) {
+    if (size <= 1) {
+      return ColumnType.BOOLEAN_TYPE_NAME;
+    } else {
+      return ColumnType.BIGINT_TYPE_NAME;

Review Comment:
   @zhangbutao Sorry for a delayed response. 
   So with option #1, HMS would replace the bit type columns for MySQL with bin(column_name). I kinda like this option in that it simplifies the logic and pushes the onus on the JDBC datasource natively. 
   Option #2 uses hive UDF which maybe different from the native implementation. And it also involves computation on the hive side.
   What do you think?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: gitbox-unsubscribe@hive.apache.org
For additional commands, e-mail: gitbox-help@hive.apache.org