diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetastoreDirectSqlUtils.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetastoreDirectSqlUtils.java index e476f8ae43..0d35fe459f 100644 --- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetastoreDirectSqlUtils.java +++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/MetastoreDirectSqlUtils.java @@ -516,6 +516,15 @@ static Boolean extractSqlBoolean(Object value) throws MetaException { if (value instanceof Boolean) { return (Boolean)value; } + + // check if oracle db returned 0 or 1 for boolean value + if (value instanceof Number) { + try { + return BooleanUtils.toBooleanObject(Integer.valueOf(((Number) value).intValue()), 1, 0, null); + } catch (IllegalArgumentException iae) { + // NOOP + } + } if (value instanceof String) { try { return BooleanUtils.toBooleanObject((String) value, "Y", "N", null);