Skip to content

Commit d4c862c

Browse files
idodeclareVladimir Kotal
authored andcommitted
Fix PLSQL to use PLSQLConsts. Move SQL consts to Java source.
1 parent e8ba77c commit d4c862c

File tree

10 files changed

+363
-1543
lines changed

10 files changed

+363
-1543
lines changed

opengrok-indexer/src/main/java/org/opengrok/indexer/analysis/sql/Consts.java

Lines changed: 321 additions & 36 deletions
Large diffs are not rendered by default.

opengrok-indexer/src/main/java/org/opengrok/indexer/analysis/sql/PLSQLConsts.java

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -19,55 +19,55 @@
1919

2020
/*
2121
* Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
22-
* Portions Copyright (c) 2018, Chris Fraire <[email protected]>.
22+
* Portions Copyright (c) 2018-2019, Chris Fraire <[email protected]>.
2323
*/
2424
package org.opengrok.indexer.analysis.sql;
2525

26-
import java.io.BufferedReader;
27-
import java.io.IOException;
28-
import java.io.InputStreamReader;
29-
import java.nio.charset.StandardCharsets;
3026
import java.util.Collections;
3127
import java.util.HashSet;
32-
import java.util.Locale;
3328
import java.util.Set;
3429

35-
@SuppressWarnings("PMD.AvoidThrowingRawExceptionTypes")
3630
public final class PLSQLConsts {
37-
private static final Set<String> reservedKeywords;
38-
static {
39-
HashSet<String> kwds = new HashSet<String>();
40-
try {
41-
//populateKeywordSet(kwds, "sql2003reserved.dat");
42-
//populateKeywordSet(kwds, "sql2008reserved.dat");
43-
populateKeywordSet(kwds, "/analysis/sql/sql2011reserved.dat");
44-
populateKeywordSet(kwds, "/analysis/sql/plsql2011reserved.dat"); // this is just diff on top of sql iso
45-
} catch (IOException ioe) {
46-
throw new RuntimeException(ioe);
47-
}
48-
reservedKeywords = Collections.unmodifiableSet(kwds);
49-
}
31+
private static final Set<String> kwd = new HashSet<>();
5032

51-
private PLSQLConsts() {
52-
// Util class, can not be constructed.
53-
}
33+
static final Set<String> KEYWORDS = Collections.unmodifiableSet(kwd);
5434

55-
private static void populateKeywordSet(Set<String> set, String file) throws IOException {
56-
try (BufferedReader reader = new BufferedReader(new InputStreamReader(
57-
Consts.class.getResourceAsStream(file), StandardCharsets.UTF_8))) {
58-
String line;
59-
while ((line = reader.readLine()) != null) {
60-
line = line.trim();
61-
String lline = line.toLowerCase(Locale.ROOT);
62-
if (line.charAt(0) != '#') {
63-
set.add(line);
64-
set.add(lline);
65-
}
66-
}
67-
}
35+
static {
36+
kwd.addAll(org.opengrok.indexer.analysis.sql.Consts.KEYWORDS);
37+
38+
kwd.add("asc"); // plsql2011reserved
39+
kwd.add("clusters"); // plsql2011reserved
40+
kwd.add("cluster"); // plsql2011reserved
41+
kwd.add("colauth"); // plsql2011reserved
42+
kwd.add("columns"); // plsql2011reserved
43+
kwd.add("compress"); // plsql2011reserved
44+
kwd.add("crash"); // plsql2011reserved
45+
kwd.add("desc"); // plsql2011reserved
46+
kwd.add("exception"); // plsql2011reserved
47+
kwd.add("exclusive"); // plsql2011reserved
48+
kwd.add("goto"); // plsql2011reserved
49+
kwd.add("identified"); // plsql2011reserved
50+
kwd.add("if"); // plsql2011reserved
51+
kwd.add("index"); // plsql2011reserved
52+
kwd.add("indexes"); // plsql2011reserved
53+
kwd.add("lock"); // plsql2011reserved
54+
kwd.add("minus"); // plsql2011reserved
55+
kwd.add("mode"); // plsql2011reserved
56+
kwd.add("nocompress"); // plsql2011reserved
57+
kwd.add("nowait"); // plsql2011reserved
58+
kwd.add("option"); // plsql2011reserved
59+
kwd.add("public"); // plsql2011reserved
60+
kwd.add("resource"); // plsql2011reserved
61+
kwd.add("share"); // plsql2011reserved
62+
kwd.add("size"); // plsql2011reserved
63+
kwd.add("subtype"); // plsql2011reserved
64+
kwd.add("tabauth"); // plsql2011reserved
65+
kwd.add("type"); // plsql2011reserved
66+
kwd.add("view"); // plsql2011reserved
67+
kwd.add("views"); // plsql2011reserved
6868
}
6969

70-
static Set<String> getReservedKeywords() {
71-
return reservedKeywords;
70+
/** Private to enforce static. */
71+
private PLSQLConsts() {
7272
}
7373
}

opengrok-indexer/src/main/resources/analysis/sql/PLSQLXref.lex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
/*
2121
* Copyright (c) 2012, 2018 Oracle and/or its affiliates. All rights reserved.
22-
* Portions Copyright (c) 2017, Chris Fraire <[email protected]>.
22+
* Portions Copyright (c) 2017, 2019, Chris Fraire <[email protected]>.
2323
*/
2424

2525
package org.opengrok.indexer.analysis.sql;
@@ -86,7 +86,7 @@ Identifier = [a-zA-Z] [a-zA-Z0-9_$#]*
8686
{Identifier} {
8787
chkLOC();
8888
String id = yytext();
89-
onFilteredSymbolMatched(id, yychar, Consts.getReservedKeywords());
89+
onFilteredSymbolMatched(id, yychar, PLSQLConsts.KEYWORDS);
9090
}
9191

9292
{Number} {

opengrok-indexer/src/main/resources/analysis/sql/SQLXref.lex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
/*
2121
* Copyright (c) 2007, 2018, Oracle and/or its affiliates. All rights reserved.
22-
* Portions Copyright (c) 2017, Chris Fraire <[email protected]>.
22+
* Portions Copyright (c) 2017, 2019, Chris Fraire <[email protected]>.
2323
*/
2424

2525
package org.opengrok.indexer.analysis.sql;
@@ -87,7 +87,7 @@ Identifier = [a-zA-Z] [a-zA-Z0-9_]*
8787
{Identifier} {
8888
chkLOC();
8989
String id = yytext();
90-
onFilteredSymbolMatched(id, yychar, Consts.getReservedKeywords());
90+
onFilteredSymbolMatched(id, yychar, Consts.KEYWORDS);
9191
}
9292

9393
{Number} {

opengrok-indexer/src/main/resources/analysis/sql/plsql2011nonreserved.dat

Lines changed: 0 additions & 241 deletions
This file was deleted.

0 commit comments

Comments
 (0)