You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@metamodel.apache.org by ka...@apache.org on 2017/05/10 03:54:08 UTC
[06/43] metamodel git commit: METAMODEL-1106: Fixed bug when JDBC
column is named like 'index'.
METAMODEL-1106: Fixed bug when JDBC column is named like 'index'.
Closes #117
Project: http://git-wip-us.apache.org/repos/asf/metamodel/repo
Commit: http://git-wip-us.apache.org/repos/asf/metamodel/commit/23925579
Tree: http://git-wip-us.apache.org/repos/asf/metamodel/tree/23925579
Diff: http://git-wip-us.apache.org/repos/asf/metamodel/diff/23925579
Branch: refs/heads/5.x
Commit: 2392557953c0b2473d702852efc14a20a50f195d
Parents: f35bfed
Author: kaspersorensen <i....@gmail.com>
Authored: Fri Jul 29 08:40:49 2016 -0700
Committer: kaspersorensen <i....@gmail.com>
Committed: Fri Jul 29 08:40:49 2016 -0700
----------------------------------------------------------------------
CHANGES.md | 1 +
.../org/apache/metamodel/jdbc/SqlKeywords.java | 62 ++++++++++++--------
2 files changed, 40 insertions(+), 23 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/metamodel/blob/23925579/CHANGES.md
----------------------------------------------------------------------
diff --git a/CHANGES.md b/CHANGES.md
index bd2cec8..f0264c6 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -7,6 +7,7 @@
* [METAMODEL-1086] - Fixed encoding issue when CsvDataContext is instantiated with InputStream.
* [METAMODEL-1094] - Added support for Apache Cassandra version 3.x.
* [METAMODEL-1093] - Close compiled ResultSets.
+ * [METAMODEL-1106] - Fixed bug in JDBC adaptor caused by not quoting columns named as a keyword, e.g. 'index'.
* [METAMODEL-1102] - Separated FixedWidthLineParser.
* [METAMODEL-1107] - Added support for PostgreSQL's "json" and "jsonb" data types.
http://git-wip-us.apache.org/repos/asf/metamodel/blob/23925579/jdbc/src/main/java/org/apache/metamodel/jdbc/SqlKeywords.java
----------------------------------------------------------------------
diff --git a/jdbc/src/main/java/org/apache/metamodel/jdbc/SqlKeywords.java b/jdbc/src/main/java/org/apache/metamodel/jdbc/SqlKeywords.java
index b2207df..7ffb6c9 100644
--- a/jdbc/src/main/java/org/apache/metamodel/jdbc/SqlKeywords.java
+++ b/jdbc/src/main/java/org/apache/metamodel/jdbc/SqlKeywords.java
@@ -23,29 +23,45 @@ import java.util.Set;
class SqlKeywords {
- private static final Set<String> KEYWORDS;
+ private static final Set<String> KEYWORDS;
- static {
- KEYWORDS = new HashSet<String>();
- KEYWORDS.add("SELECT");
- KEYWORDS.add("DISTINCT");
- KEYWORDS.add("AS");
- KEYWORDS.add("COUNT");
- KEYWORDS.add("SUM");
- KEYWORDS.add("MIN");
- KEYWORDS.add("MAX");
- KEYWORDS.add("FROM");
- KEYWORDS.add("WHERE");
- KEYWORDS.add("LIKE");
- KEYWORDS.add("IN");
- KEYWORDS.add("GROUP");
- KEYWORDS.add("BY");
- KEYWORDS.add("HAVING");
- KEYWORDS.add("ORDER");
- }
+ static {
+ KEYWORDS = new HashSet<String>();
+ KEYWORDS.add("SELECT");
+ KEYWORDS.add("DISTINCT");
+ KEYWORDS.add("AS");
+ KEYWORDS.add("COUNT");
+ KEYWORDS.add("SUM");
+ KEYWORDS.add("MIN");
+ KEYWORDS.add("MAX");
+ KEYWORDS.add("FROM");
+ KEYWORDS.add("WHERE");
+ KEYWORDS.add("LIKE");
+ KEYWORDS.add("IN");
+ KEYWORDS.add("GROUP");
+ KEYWORDS.add("BY");
+ KEYWORDS.add("HAVING");
+ KEYWORDS.add("ORDER");
+ KEYWORDS.add("INDEX");
+ KEYWORDS.add("PRIMARY");
+ KEYWORDS.add("KEY");
+ KEYWORDS.add("CONSTRAINT");
+ KEYWORDS.add("UNIQUE");
+ KEYWORDS.add("IS");
+ KEYWORDS.add("NOT");
+ KEYWORDS.add("NULL");
+ KEYWORDS.add("CREATE");
+ KEYWORDS.add("INSERT");
+ KEYWORDS.add("INTO");
+ KEYWORDS.add("UPDATE");
+ KEYWORDS.add("VALUES");
+ KEYWORDS.add("DELETE");
+ KEYWORDS.add("AND");
+ KEYWORDS.add("OR");
+ }
- public static boolean isKeyword(String str) {
- str = str.toUpperCase();
- return KEYWORDS.contains(str);
- }
+ public static boolean isKeyword(String str) {
+ str = str.toUpperCase();
+ return KEYWORDS.contains(str);
+ }
}