This is an automated email from the ASF dual-hosted git repository.

doebele pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/empire-db.git


The following commit(s) were added to refs/heads/master by this push:
     new 93f65545 EMPIREDB-411 Skip alias expression for calculations 
(DBCalcExpr)
93f65545 is described below

commit 93f65545c4b0d4e870a531f4f10d8fbefd32a6ab
Author: Rainer Döbele <[email protected]>
AuthorDate: Mon May 15 14:32:50 2023 +0200

    EMPIREDB-411
    Skip alias expression for calculations (DBCalcExpr)
---
 .../src/main/java/org/apache/empire/db/expr/column/DBAliasExpr.java   | 4 ++--
 .../src/main/java/org/apache/empire/db/expr/column/DBCalcExpr.java    | 1 +
 .../main/java/org/apache/empire/db/expr/column/DBParenthesisExpr.java | 4 ++--
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git 
a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBAliasExpr.java 
b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBAliasExpr.java
index 84cd804f..89dbb18a 100644
--- a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBAliasExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBAliasExpr.java
@@ -54,7 +54,7 @@ public class DBAliasExpr extends DBColumnExpr implements 
Unwrappable<DBColumnExp
     public DBAliasExpr(DBColumnExpr expr, String alias)
     {
         // Check whether already a AliasExpr
-        if (expr.getClass().equals(getClass()))
+        if (expr instanceof DBAliasExpr)
             this.expr = ((DBAliasExpr) expr).expr;
         else
             this.expr = expr;
@@ -196,7 +196,7 @@ public class DBAliasExpr extends DBColumnExpr implements 
Unwrappable<DBColumnExp
     { // Append alias
         if((context & CTX_ALIAS)!=0)
         {   // Add the column expression
-            expr.addSQL(sql, context);
+            expr.addSQL(sql, (context & ~CTX_ALIAS));
             // Rename
             DBMSHandler dbms = getDatabase().getDbms();
             String asExpr = dbms.getSQLPhrase(DBSqlPhrase.SQL_RENAME_COLUMN);
diff --git 
a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBCalcExpr.java 
b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBCalcExpr.java
index e7311bc2..625bca0a 100644
--- a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBCalcExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBCalcExpr.java
@@ -214,6 +214,7 @@ public class DBCalcExpr extends DBColumnExpr
     @Override
     public void addSQL(DBSQLBuilder sql, long context)
     {
+        context &= ~CTX_ALIAS; // No column aliases
         // Zusammenbauen
         expr.addSQL(sql, context);
         sql.append(op);
diff --git 
a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBParenthesisExpr.java
 
b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBParenthesisExpr.java
index c506d189..796fb66d 100644
--- 
a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBParenthesisExpr.java
+++ 
b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBParenthesisExpr.java
@@ -47,8 +47,8 @@ public class DBParenthesisExpr extends DBColumnExpr 
implements Unwrappable<DBCol
      */
     public DBParenthesisExpr(DBColumnExpr expr)
     {
-        // Check whether already a AliasExpr
-        if (expr.getClass().equals(getClass()))
+        // Check whether already a DBParenthesisExpr
+        if (expr instanceof DBParenthesisExpr)
             this.wrapped = ((DBParenthesisExpr) expr).wrapped;
         else
             this.wrapped = expr;

Reply via email to