From 17f0ec65c2bb8e505e26ccc7ace435f8c526be2e Mon Sep 17 00:00:00 2001
From: gmantele <gmantele@ari.uni-heidelberg.de>
Date: Tue, 10 Feb 2015 17:56:18 +0100
Subject: [PATCH] [ADQL] Add NULL tests over the ADQL schema and catalog names.

---
 src/adql/db/SearchColumnList.java |  4 ++--
 src/adql/db/SearchTableList.java  | 28 +++++++++++++++-------------
 2 files changed, 17 insertions(+), 15 deletions(-)

diff --git a/src/adql/db/SearchColumnList.java b/src/adql/db/SearchColumnList.java
index e385cb7..b3117d6 100644
--- a/src/adql/db/SearchColumnList.java
+++ b/src/adql/db/SearchColumnList.java
@@ -46,7 +46,7 @@ import cds.utils.TextualSearchList;
  * </i></p>
  * 
  * @author Gr&eacute;gory Mantelet (CDS;ARI)
- * @version 1.2 (11/2013)
+ * @version 1.3 (02/2015)
  */
 public class SearchColumnList extends TextualSearchList<DBColumn> {
 	private static final long serialVersionUID = 1L;
@@ -284,7 +284,7 @@ public class SearchColumnList extends TextualSearchList<DBColumn> {
 					}
 
 					// test the schema name:
-					if (schema != null){
+					if (schema != null && matchTable.getADQLSchemaName() != null){
 						if (IdentifierField.SCHEMA.isCaseSensitive(caseSensitivity)){
 							if (!matchTable.getADQLSchemaName().equals(schema))
 								continue;
diff --git a/src/adql/db/SearchTableList.java b/src/adql/db/SearchTableList.java
index d025be9..7de6ec5 100644
--- a/src/adql/db/SearchTableList.java
+++ b/src/adql/db/SearchTableList.java
@@ -36,7 +36,7 @@ import cds.utils.TextualSearchList;
  * </p>
  * 
  * @author Gr&eacute;gory Mantelet (CDS;ARI)
- * @version 1.3 (08/2014)
+ * @version 1.3 (02/2015)
  */
 public class SearchTableList extends TextualSearchList<DBTable> {
 	private static final long serialVersionUID = 1L;
@@ -156,22 +156,24 @@ public class SearchTableList extends TextualSearchList<DBTable> {
 			ArrayList<DBTable> result = new ArrayList<DBTable>();
 
 			for(DBTable match : tmpResult){
-				if (IdentifierField.SCHEMA.isCaseSensitive(caseSensitivity)){
-					if (!match.getADQLSchemaName().equals(schema))
-						continue;
-				}else{
-					if (!match.getADQLSchemaName().equalsIgnoreCase(schema))
-						continue;
-				}
-
-				if (catalog != null){
-					if (IdentifierField.CATALOG.isCaseSensitive(caseSensitivity)){
-						if (!match.getADQLCatalogName().equals(catalog))
+				if (match.getADQLSchemaName() != null){
+					if (IdentifierField.SCHEMA.isCaseSensitive(caseSensitivity)){
+						if (!match.getADQLSchemaName().equals(schema))
 							continue;
 					}else{
-						if (!match.getADQLCatalogName().equalsIgnoreCase(catalog))
+						if (!match.getADQLSchemaName().equalsIgnoreCase(schema))
 							continue;
 					}
+
+					if (catalog != null && match.getADQLCatalogName() != null){
+						if (IdentifierField.CATALOG.isCaseSensitive(caseSensitivity)){
+							if (!match.getADQLCatalogName().equals(catalog))
+								continue;
+						}else{
+							if (!match.getADQLCatalogName().equalsIgnoreCase(catalog))
+								continue;
+						}
+					}
 				}
 
 				result.add(match);
-- 
GitLab