提交 4b4abc5c 编写于 作者: S serge-rider

Block header config refactoring

上级 dbd58fa7
......@@ -297,9 +297,11 @@ public class SQLRuleManager extends RuleBasedScanner {
wordRule.addWord(type, typeToken);
}
}
final String blockHeaderString = dialect.getBlockHeaderString();
if (!CommonUtils.isEmpty(blockHeaderString)) {
wordRule.addWord(blockHeaderString, blockHeaderToken);
final String[] blockHeaderStrings = dialect.getBlockHeaderStrings();
if (!ArrayUtils.isEmpty(blockHeaderStrings)) {
for (String bhs : blockHeaderStrings) {
wordRule.addWord(bhs, blockHeaderToken);
}
}
String[][] blockBounds = dialect.getBlockBoundStrings();
if (blockBounds != null) {
......
......@@ -147,7 +147,7 @@
</items>
</folder>
<folder type="org.jkiss.dbeaver.ext.oracle.model.OracleProcedureStandalone" label="%tree.procedures.node.name" icon="#procedures" description="Procedures">
<items label="%tree.procedures.node.name" itemLabel="%tree.procedure.node.name" path="procedure" property="procedures" icon="#procedure" id="Procedure">
<items label="%tree.procedure.node.name" itemLabel="%tree.procedure.node.name" path="procedure" property="procedures" icon="#procedure" id="Procedure">
<items label="%tree.arguments.node.name" itemLabel="%tree.argument.node.name" path="argument" property="parameters" icon="#argument" navigable="false" inline="false">
<items ref="ProcedureArgumentAttributes"/>
</items>
......
......@@ -41,14 +41,20 @@ class OracleSQLDialect extends JDBCSQLDialect {
BasicSQLDialect.NON_TRANSACTIONAL_KEYWORDS,
new String[]{
"CREATE", "ALTER", "DROP",
"ANALYZE", "VALIDATE"}
"ANALYZE", "VALIDATE",
}
);
public static final String[][] ORACLE_BEGIN_END_BLOCK = new String[][]{
{SQLConstants.BLOCK_BEGIN, SQLConstants.BLOCK_END},
{"IF", SQLConstants.BLOCK_END},
{"LOOP", SQLConstants.BLOCK_END + " LOOP"},
{"CASE", SQLConstants.BLOCK_END + " CASE"}
{"CASE", SQLConstants.BLOCK_END + " CASE"},
};
public static final String[] ORACLE_BLOCK_HEADERS = new String[]{
"DECLARE",
//"IS",
};
public static final String[] ADVANCED_KEYWORDS = {
......@@ -318,8 +324,8 @@ class OracleSQLDialect extends JDBCSQLDialect {
}
@Override
public String getBlockHeaderString() {
return "DECLARE";
public String[] getBlockHeaderStrings() {
return ORACLE_BLOCK_HEADERS;
}
@NotNull
......
......@@ -288,7 +288,7 @@ public class BasicSQLDialect implements SQLDialect {
@Nullable
@Override
public String getBlockHeaderString() {
public String[] getBlockHeaderStrings() {
return null;
}
......
......@@ -176,7 +176,7 @@ public interface SQLDialect {
* @return block header string or null (not supported)
*/
@Nullable
String getBlockHeaderString();
String[] getBlockHeaderStrings();
/**
* Script block toggle string.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册