From fbe3cfddfea86caf8872fa5d2723c1c9d8ef27bc Mon Sep 17 00:00:00 2001
From: gmantele <gmantele@ari.uni-heidelberg.de>
Date: Thu, 10 Apr 2014 12:16:01 +0200
Subject: [PATCH] ADQL: Fix big bug: no parenthesis in the SQL translation for
 ADQL constraints with parenthesis ( ex: A AND (B OR C)) )

---
 src/adql/translator/PostgreSQLTranslator.java | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/adql/translator/PostgreSQLTranslator.java b/src/adql/translator/PostgreSQLTranslator.java
index 4e6cbfc..58cdc7a 100644
--- a/src/adql/translator/PostgreSQLTranslator.java
+++ b/src/adql/translator/PostgreSQLTranslator.java
@@ -40,6 +40,7 @@ import adql.query.SelectItem;
 import adql.query.constraint.ADQLConstraint;
 import adql.query.constraint.Between;
 import adql.query.constraint.Comparison;
+import adql.query.constraint.ConstraintsGroup;
 import adql.query.constraint.Exists;
 import adql.query.constraint.In;
 import adql.query.constraint.IsNull;
@@ -83,7 +84,7 @@ import adql.query.operand.function.geometry.RegionFunction;
  * An extension is already available for PgSphere: {@link PgSphereTranslator}.</b></p>
  * 
  * @author Gr&eacute;gory Mantelet (CDS;ARI)
- * @version 1.2 (11/2013)
+ * @version 1.2 (03/2014)
  * 
  * @see PgSphereTranslator
  */
@@ -277,7 +278,10 @@ public class PostgreSQLTranslator implements ADQLTranslator {
 
 	@Override
 	public String translate(ClauseConstraints clause) throws TranslationException{
-		return getDefaultADQLList(clause);
+		if (clause instanceof ConstraintsGroup)
+			return "(" + getDefaultADQLList(clause) + ")";
+		else
+			return getDefaultADQLList(clause);
 	}
 
 	@Override
-- 
GitLab