private void generateJDOFilterOverTables(Map<String, Object> params, FilterBuilder filterBuilder) throws MetaException { if (keyName.equals(hive_metastoreConstants.HIVE_FILTER_FIELD_OWNER)) { keyName = "this.owner"; } else if (keyName.equals(hive_metastoreConstants.HIVE_FILTER_FIELD_LAST_ACCESS)) { //lastAccessTime expects an integer, so we cannot use the "like operator" if (operator == Operator.LIKE) { filterBuilder.setError("Like is not supported for HIVE_FILTER_FIELD_LAST_ACCESS"); return; } keyName = "this.lastAccessTime"; } else if (keyName.startsWith(hive_metastoreConstants.HIVE_FILTER_FIELD_PARAMS)) { if (!TABLE_FILTER_OPS.contains(operator)) { filterBuilder.setError("Only " + TABLE_FILTER_OPS + " are supported " + "operators for HIVE_FILTER_FIELD_PARAMS"); return; } String paramKeyName = keyName.substring(hive_metastoreConstants.HIVE_FILTER_FIELD_PARAMS.length()); keyName = "this.parameters.get(\"" + paramKeyName + "\")"; //value is persisted as a string in the db, so make sure it's a string here // in case we get a long. value = value.toString(); } else { filterBuilder.setError("Invalid key name in filter. " + "Use constants from org.apache.hadoop.hive.metastore.api"); return; } generateJDOFilterGeneral(params, filterBuilder); }
private String generateJDOFilterOverTables(Map<String, Object> params) throws MetaException { if (keyName.equals(hive_metastoreConstants.HIVE_FILTER_FIELD_OWNER)) { keyName = "this.owner"; } else if (keyName.equals(hive_metastoreConstants.HIVE_FILTER_FIELD_LAST_ACCESS)) { //lastAccessTime expects an integer, so we cannot use the "like operator" if (operator == Operator.LIKE) { throw new MetaException("Like is not supported for HIVE_FILTER_FIELD_LAST_ACCESS"); } keyName = "this.lastAccessTime"; } else if (keyName.startsWith(hive_metastoreConstants.HIVE_FILTER_FIELD_PARAMS)) { if (!TABLE_FILTER_OPS.contains(operator)) { throw new MetaException("Only " + TABLE_FILTER_OPS + " are supported " + "operators for HIVE_FILTER_FIELD_PARAMS"); } String paramKeyName = keyName.substring(hive_metastoreConstants.HIVE_FILTER_FIELD_PARAMS.length()); keyName = "this.parameters.get(\"" + paramKeyName + "\")"; //value is persisted as a string in the db, so make sure it's a string here // in case we get an integer. value = value.toString(); } else { throw new MetaException("Invalid key name in filter. " + "Use constants from org.apache.hadoop.hive.metastore.api"); } return generateJDOFilterGeneral(params); }
private void generateJDOFilterOverTables(Map<String, Object> params, FilterBuilder filterBuilder) throws MetaException { if (keyName.equals(hive_metastoreConstants.HIVE_FILTER_FIELD_OWNER)) { keyName = "this.owner"; } else if (keyName.equals(hive_metastoreConstants.HIVE_FILTER_FIELD_LAST_ACCESS)) { //lastAccessTime expects an integer, so we cannot use the "like operator" if (operator == Operator.LIKE) { filterBuilder.setError("Like is not supported for HIVE_FILTER_FIELD_LAST_ACCESS"); return; } keyName = "this.lastAccessTime"; } else if (keyName.startsWith(hive_metastoreConstants.HIVE_FILTER_FIELD_PARAMS)) { if (!TABLE_FILTER_OPS.contains(operator)) { filterBuilder.setError("Only " + TABLE_FILTER_OPS + " are supported " + "operators for HIVE_FILTER_FIELD_PARAMS"); return; } String paramKeyName = keyName.substring(hive_metastoreConstants.HIVE_FILTER_FIELD_PARAMS.length()); keyName = "this.parameters.get(\"" + paramKeyName + "\")"; //value is persisted as a string in the db, so make sure it's a string here // in case we get a long. value = value.toString(); } else { filterBuilder.setError("Invalid key name in filter. " + "Use constants from org.apache.hadoop.hive.metastore.api"); return; } generateJDOFilterGeneral(params, filterBuilder); }
private void generateJDOFilterOverTables(Map<String, Object> params, FilterBuilder filterBuilder) throws MetaException { if (keyName.equals(hive_metastoreConstants.HIVE_FILTER_FIELD_OWNER)) { keyName = "this.owner"; } else if (keyName.equals(hive_metastoreConstants.HIVE_FILTER_FIELD_LAST_ACCESS)) { //lastAccessTime expects an integer, so we cannot use the "like operator" if (operator == Operator.LIKE) { filterBuilder.setError("Like is not supported for HIVE_FILTER_FIELD_LAST_ACCESS"); return; } keyName = "this.lastAccessTime"; } else if (keyName.startsWith(hive_metastoreConstants.HIVE_FILTER_FIELD_PARAMS)) { if (!TABLE_FILTER_OPS.contains(operator)) { filterBuilder.setError("Only " + TABLE_FILTER_OPS + " are supported " + "operators for HIVE_FILTER_FIELD_PARAMS"); return; } String paramKeyName = keyName.substring(hive_metastoreConstants.HIVE_FILTER_FIELD_PARAMS.length()); keyName = "this.parameters.get(\"" + paramKeyName + "\")"; //value is persisted as a string in the db, so make sure it's a string here // in case we get a long. value = value.toString(); } else { filterBuilder.setError("Invalid key name in filter. " + "Use constants from org.apache.hadoop.hive.metastore.api"); return; } generateJDOFilterGeneral(params, filterBuilder); }