mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
add method OracleUtils.isBultinTable
This commit is contained in:
@@ -183,4 +183,24 @@ public class OracleUtils {
|
||||
|
||||
return functions.contains(function_lower);
|
||||
}
|
||||
|
||||
private static Set<String> builtinTables;
|
||||
|
||||
public static boolean isBuiltinTable(String table) {
|
||||
if (table == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
String table_lower = table.toLowerCase();
|
||||
|
||||
Set<String> tables = builtinTables;
|
||||
|
||||
if (tables == null) {
|
||||
tables = new HashSet<String>();
|
||||
Utils.loadFromFile("META-INF/druid/parser/oracle/builtin_tables", tables);
|
||||
builtinTables = tables;
|
||||
}
|
||||
|
||||
return tables.contains(table_lower);
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -11,5 +11,9 @@ public class OracleUtilsTest extends TestCase {
|
||||
assertTrue(OracleUtils.isBuiltinFunction("nvl"));
|
||||
assertTrue(OracleUtils.isBuiltinFunction("NVL"));
|
||||
assertFalse(OracleUtils.isBuiltinFunction("xxx_nvl"));
|
||||
|
||||
assertTrue(OracleUtils.isBuiltinTable("user_ts_quotas"));
|
||||
assertTrue(OracleUtils.isBuiltinTable("user_TS_quotas"));
|
||||
assertFalse(OracleUtils.isBuiltinTable("user_TS_quotas_xxxxxxxxxxxx"));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user