String[] featureNames = featuresStr.split(",");
for(String f : featureNames) {
try {
features.add(SQLParserFeature.valueOf(f));
} catch(IllegalArgumentException e) {
throw new InvalidParameterValueException("'" + f + "' for " + CONFIG_PARSER_FEATURES);
}
}
}
if (getBooleanProperty("parserInfixBit", false)) {
features.add(SQLParserFeature.INFIX_BIT_OPERATORS);
}
if (getBooleanProperty("parserInfixLogical", false)) {
features.add(SQLParserFeature.INFIX_LOGICAL_OPERATORS);
}
if (getBooleanProperty("columnAsFunc", false)) {
features.add(SQLParserFeature.MYSQL_COLUMN_AS_FUNCS);
}
String prop = getProperty("parserDoubleQuoted", "identifier");
if (prop.equals("string")) {
features.add(SQLParserFeature.DOUBLE_QUOTED_STRING);
} else if (!prop.equals("identifier")) {
throw new InvalidParameterValueException("'" + prop + "' for parserDoubleQuoted");
}
return features;
}