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;