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);
+    }
 }