提交 10e8543a 编写于 作者: S ShadelessFox

#8095 PL/SQL: Allow parsing 'PACKAGE' and 'RECORD'

上级 cb887762
......@@ -61,6 +61,7 @@ public class OracleSQLDialect extends JDBCSQLDialect {
public static final String[] ORACLE_BLOCK_HEADERS = new String[]{
"DECLARE",
"PACKAGE"
};
public static final String[] ORACLE_INNER_BLOCK_PREFIXES = new String[]{
......@@ -83,6 +84,8 @@ public class OracleSQLDialect extends JDBCSQLDialect {
"PACKAGE",
"FUNCTION",
"TYPE",
"BODY",
"RECORD",
"TRIGGER",
"MATERIALIZED",
"IF",
......@@ -156,6 +159,7 @@ public class OracleSQLDialect extends JDBCSQLDialect {
"INSTR2",
"INSTR4",
"LENGTHB",
"LENGTH",
//Datetime Functions:
"ADD_MONTHS",
......
......@@ -151,7 +151,7 @@ public class SQLScriptParser
// that block is not preceded by the prefix e.g 'AS', because in many dialects
// there's no direct header block terminators
// like 'BEGIN ... END' but 'DECLARE ... BEGIN ... END'
if (curBlock != null && curBlock.isHeader && !ArrayUtils.contains(dialect.getInnerBlockPrefixes(), lastKeyword)) {
if (curBlock != null && curBlock.isHeader && !ArrayUtils.containsIgnoreCase(dialect.getInnerBlockPrefixes(), lastKeyword)) {
curBlock = curBlock.parent;
}
curBlock = new ScriptBlockInfo(curBlock, false);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册