EMPIREDB-362 code cleanup
diff --git a/empire-db-examples/empire-db-example-advanced/src/main/java/org/apache/empire/samples/db/advanced/SampleAdvApp.java b/empire-db-examples/empire-db-example-advanced/src/main/java/org/apache/empire/samples/db/advanced/SampleAdvApp.java
index 118df1c..291bb32 100644
--- a/empire-db-examples/empire-db-example-advanced/src/main/java/org/apache/empire/samples/db/advanced/SampleAdvApp.java
+++ b/empire-db-examples/empire-db-example-advanced/src/main/java/org/apache/empire/samples/db/advanced/SampleAdvApp.java
@@ -120,7 +120,7 @@
// STEP 2.2: Create a Context
context = new SampleContext(carSales, dbms, conn);
// set optional context features
- context.setPreparedStatementsEnabled(false);
+ context.setPreparedStatementsEnabled(true);
context.setRollbackHandlingEnabled(false);
// STEP 3: Open Database (and create if not existing)
@@ -134,12 +134,13 @@
context.commit();
}
- subqueryQueryDemo();
-
// do simple stuff
- simpleQueryDemo();
simpleUpdateDemo();
+
+
+ simpleQueryDemo();
queryViewDemo();
+ subqueryQueryDemo();
paramQueryDemo();
// Remember RollbackHandling
@@ -538,16 +539,36 @@
.where(BRAND.NAME.is("Tesla"))
.where(MODEL.NAME.is("Model 3").and(MODEL.TRIM.is("Performance")));
*/
+
+ DBCommand sub = context.createCommand();
+ sub.select(BRAND.WMI, BRAND.NAME);
+ sub.where (BRAND.COUNTRY.is("Deutschland"));
+ DBQuery qqry = new DBQuery(sub, "qt");
// create command
DBCommand cmd = context.createCommand()
// increase model base prices by 5%
- .set (MODEL.BASE_PRICE.to(MODEL.BASE_PRICE.multiplyWith(105).divideBy(100).round(0)))
- .join (MODEL.WMI, BRAND.WMI)
+ .select(MODEL.BASE_PRICE.multiplyWith(105).divideBy(100).round(0))
+ .set (MODEL.BASE_PRICE.to(55225))
+ .join (MODEL.WMI, BRAND.WMI) // , BRAND.NAME.is("Tesla")
+ // .join (MODEL.WMI, qqry.column(BRAND.WMI), qqry.column(BRAND.NAME).like("V%"))
// on all Volkswagen Tiguan with Diesel engine
- .where(BRAND.NAME.is("Volkswagen"))
+ .where(BRAND.NAME.like("Volkswagen%"))
.where(MODEL.NAME.is("Tiguan").and(MODEL.ENGINE_TYPE.is(EngineType.D)));
+
+ String sql = cmd.getSelect();
+ Object[] params = cmd.getParamValues();
+ System.out.println(sql);
+ System.out.println(StringUtils.arrayToString(params, "|"));
+
+ // cmd.removeWhereConstraint(MODEL.NAME.is("Tiguan").and(MODEL.ENGINE_TYPE.is(EngineType.D)));
+ // cmd.removeWhereConstraintOn(BRAND.NAME);
+ sql = cmd.getUpdate();
+ params = cmd.getParamValues();
+ System.out.println(sql);
+ System.out.println(StringUtils.arrayToString(params, "|"));
+
// execute Update statement
int count = context.executeUpdate(cmd);
log.info("{} models affected", count);
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBColumnExpr.java b/empire-db/src/main/java/org/apache/empire/db/DBColumnExpr.java
index 53bec52..8cccc1e 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBColumnExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBColumnExpr.java
@@ -409,7 +409,7 @@
public DBCompareColExpr like(String value, char escape)
{
DBValueExpr textExpr = new DBValueExpr(getDatabase(), value, DataType.VARCHAR);
- DBFuncExpr escapeExpr = new DBFuncExpr(textExpr, DBSqlPhrase.SQL_FUNC_ESCAPE, new Object[] { String.valueOf(escape) }, getUpdateColumn(), false, DataType.VARCHAR );
+ DBFuncExpr escapeExpr = new DBFuncExpr(textExpr, DBSqlPhrase.SQL_FUNC_ESCAPE, new Object[] { String.valueOf(escape) }, DataType.VARCHAR);
return cmp(DBCmpType.LIKE, escapeExpr);
}
@@ -690,14 +690,14 @@
* @param dataType the resulting data Type
* @return the new DBCalcExpr object
*/
- protected DBColumnExpr getExprFromPhrase(DBSqlPhrase phrase, Object[] params, DBColumn updateColumn, boolean isAggregate, DataType dataType)
+ protected DBColumnExpr getExprFromPhrase(DBSqlPhrase phrase, Object[] params, DataType dataType)
{
- return new DBFuncExpr(this, phrase, params, updateColumn, isAggregate, dataType);
+ return new DBFuncExpr(this, phrase, params, dataType);
}
- protected DBColumnExpr getExprFromPhrase(DBSqlPhrase phrase, Object[] params, DBColumn updateColumn, boolean isAggregate)
+ protected DBColumnExpr getExprFromPhrase(DBSqlPhrase phrase, Object[] params)
{
- return getExprFromPhrase(phrase, params, updateColumn, isAggregate, getDataType());
+ return getExprFromPhrase(phrase, params, getDataType());
}
/**
@@ -730,7 +730,7 @@
*/
public DBColumnExpr modulo(Object divisor)
{
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_MODULO, new Object[] { divisor }, getUpdateColumn(), false);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_MODULO, new Object[] { divisor });
}
/**
@@ -756,7 +756,7 @@
*/
public DBColumnExpr substring(DBExpr pos)
{ // Get Expression
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_SUBSTRING, new Object[] { pos }, getUpdateColumn(), false);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_SUBSTRING, new Object[] { pos });
}
/**
@@ -781,7 +781,7 @@
*/
public DBColumnExpr substring(DBExpr pos, DBExpr count)
{ // Get Expression
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_SUBSTRINGEX, new Object[] { pos, count }, getUpdateColumn(), false);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_SUBSTRINGEX, new Object[] { pos, count });
}
/**
@@ -833,7 +833,7 @@
*/
public DBColumnExpr replace(Object match, Object replace)
{
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_REPLACE, new Object[] { match, replace }, getUpdateColumn(), false);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_REPLACE, new Object[] { match, replace });
}
/**
@@ -843,7 +843,7 @@
*/
public DBColumnExpr reverse()
{
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_REVERSE, null, getUpdateColumn(), false);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_REVERSE, null);
}
/**
@@ -853,7 +853,7 @@
*/
public DBColumnExpr trim()
{
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_TRIM, null, getUpdateColumn(), false);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_TRIM, null);
}
/**
@@ -863,7 +863,7 @@
*/
public DBColumnExpr trimLeft()
{
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_LTRIM, null, getUpdateColumn(), false);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_LTRIM, null);
}
/**
@@ -873,7 +873,7 @@
*/
public DBColumnExpr trimRight()
{
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_RTRIM, null, getUpdateColumn(), false);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_RTRIM, null);
}
/**
@@ -884,7 +884,7 @@
*/
public DBColumnExpr upper()
{
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_UPPER, null, getUpdateColumn(), false);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_UPPER, null);
}
/**
@@ -895,7 +895,7 @@
*/
public DBColumnExpr lower()
{
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_LOWER, null, getUpdateColumn(), false);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_LOWER, null);
}
/**
@@ -907,7 +907,7 @@
*/
public DBColumnExpr format(String format)
{
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_FORMAT, new Object[] { format }, getUpdateColumn(), false, DataType.VARCHAR);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_FORMAT, new Object[] { format }, DataType.VARCHAR);
}
/**
@@ -917,7 +917,7 @@
*/
public DBColumnExpr length()
{
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_LENGTH, null, getUpdateColumn(), false, DataType.INTEGER);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_LENGTH, null, DataType.INTEGER);
}
/**
@@ -929,7 +929,7 @@
*/
public DBColumnExpr indexOf(Object str)
{
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_STRINDEX, new Object[] { str }, getUpdateColumn(), false, DataType.INTEGER);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_STRINDEX, new Object[] { str }, DataType.INTEGER);
}
/**
@@ -942,7 +942,7 @@
*/
public DBColumnExpr indexOf(Object str, DBExpr fromPos)
{
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_STRINDEXFROM, new Object[] { str, fromPos }, getUpdateColumn(), false, DataType.INTEGER);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_STRINDEXFROM, new Object[] { str, fromPos }, DataType.INTEGER);
}
/**
@@ -965,7 +965,7 @@
*/
public DBColumnExpr abs()
{
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_ABS, null, getUpdateColumn(), false);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_ABS, null);
}
/**
@@ -975,7 +975,7 @@
*/
public DBColumnExpr floor()
{
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_FLOOR, null, getUpdateColumn(), false);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_FLOOR, null);
}
/**
@@ -985,7 +985,7 @@
*/
public DBColumnExpr ceiling()
{
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_CEILING, null, getUpdateColumn(), false);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_CEILING, null);
}
/**
@@ -997,7 +997,7 @@
*/
public DBColumnExpr round(int decimals)
{
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_ROUND, new Object[] { new Integer(decimals) }, getUpdateColumn(), false);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_ROUND, new Object[] { new Integer(decimals) });
}
/**
@@ -1009,7 +1009,7 @@
*/
public DBColumnExpr trunc(int decimals)
{
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_TRUNC, new Object[] { new Integer(decimals) }, getUpdateColumn(), false);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_TRUNC, new Object[] { new Integer(decimals) });
}
/**
@@ -1020,7 +1020,7 @@
*/
public DBColumnExpr year()
{
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_YEAR, null, null, false);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_YEAR, null);
}
/**
@@ -1031,7 +1031,7 @@
*/
public DBColumnExpr month()
{
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_MONTH, null, null, false);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_MONTH, null);
}
/**
@@ -1042,7 +1042,7 @@
*/
public DBColumnExpr day()
{
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_DAY, null, null, false);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_DAY, null);
}
/**
@@ -1053,7 +1053,7 @@
*/
public DBColumnExpr sum()
{
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_SUM, null, null, true);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_SUM, null);
}
/**
@@ -1064,7 +1064,7 @@
*/
public DBColumnExpr min()
{
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_MIN, null, null, true);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_MIN, null);
}
/**
@@ -1075,7 +1075,7 @@
*/
public DBColumnExpr max()
{
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_MAX, null, null, true);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_MAX, null);
}
/**
@@ -1086,7 +1086,7 @@
*/
public DBColumnExpr avg()
{
- return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_AVG, null, null, true);
+ return getExprFromPhrase(DBSqlPhrase.SQL_FUNC_AVG, null);
}
/**
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBCommandExpr.java b/empire-db/src/main/java/org/apache/empire/db/DBCommandExpr.java
index 24fac9a..934e3f4 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBCommandExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBCommandExpr.java
@@ -26,9 +26,7 @@
import org.apache.empire.commons.Options;
import org.apache.empire.data.DataType;
import org.apache.empire.db.expr.compare.DBCompareExpr;
-import org.apache.empire.db.expr.join.DBJoinExpr;
import org.apache.empire.db.expr.order.DBOrderByExpr;
-import org.apache.empire.db.expr.set.DBSetExpr;
import org.apache.empire.dbms.DBMSHandler;
import org.apache.empire.exceptions.InternalException;
import org.apache.empire.exceptions.InvalidArgumentException;
diff --git a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBAbstractFuncExpr.java b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBAbstractFuncExpr.java
index 54704cc..b2cf4a5 100644
--- a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBAbstractFuncExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBAbstractFuncExpr.java
@@ -43,7 +43,6 @@
protected static final Logger log = LoggerFactory.getLogger(DBAbstractFuncExpr.class);
protected final DBColumnExpr expr;
- protected final DBColumn updateColumn; // optional
protected final boolean isAggregate;
protected final DataType dataType;
@@ -56,10 +55,9 @@
* @param isAggregate indicates whether the function is an aggregate function (sum, min, max, avg, ...)
* @param dataType indicates the data type of the function result
*/
- public DBAbstractFuncExpr(DBColumnExpr expr, DBColumn updateColumn, boolean isAggregate, DataType dataType)
+ public DBAbstractFuncExpr(DBColumnExpr expr, boolean isAggregate, DataType dataType)
{
this.expr = expr;
- this.updateColumn = updateColumn;
this.isAggregate = isAggregate || expr.isAggregate();
this.dataType = dataType;
}
@@ -143,7 +141,7 @@
@Override
public DBColumn getUpdateColumn()
{
- return updateColumn;
+ return expr.getUpdateColumn();
}
/**
@@ -262,24 +260,24 @@
@Override
public Element addXml(Element parent, long flags)
{
- Element elem;
- if (updateColumn!=null)
- { // Update Column
- elem = updateColumn.addXml(parent, flags);
- }
- else
- { // Add a column expression for this function
- elem = XMLUtil.addElement(parent, "column");
- elem.setAttribute("name", getName());
- // Add Other Attributes
- if (attributes!=null)
- attributes.addXml(elem, flags);
- // add All Options
- if (options!=null)
- options.addXml(elem, this.dataType);
- }
- // Done
+ // Add a column expression for this function
+ Element elem = XMLUtil.addElement(parent, "column");
+ elem.setAttribute("name", getName());
elem.setAttribute("function", getFunctionName());
+ elem.setAttribute("dataType", getDataType().name());
+ elem.setAttribute("aggregate", String.valueOf(isAggregate));
+ DBColumn source = getSourceColumn();
+ if (source!=null)
+ { Element elemSource = XMLUtil.addElement(elem, "source");
+ source.addXml(elemSource, flags);
+ }
+ // Add Other Attributes
+ if (attributes!=null)
+ attributes.addXml(elem, flags);
+ // add All Options
+ if (options!=null)
+ options.addXml(elem, this.dataType);
+ // Done
return elem;
}
}
\ No newline at end of file
diff --git a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBCoalesceExpr.java b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBCoalesceExpr.java
index ec5891e..2c0d136 100644
--- a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBCoalesceExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBCoalesceExpr.java
@@ -17,7 +17,7 @@
public DBCoalesceExpr(DBColumnExpr expr, Object nullValue)
{
- super(expr, expr.getUpdateColumn(), false, expr.getDataType());
+ super(expr, false, expr.getDataType());
// set the null value
this.nullValue = nullValue;
}
diff --git a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBConcatExpr.java b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBConcatExpr.java
index cc7d616..ff376b4 100644
--- a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBConcatExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBConcatExpr.java
@@ -97,22 +97,6 @@
}
@Override
- public Element addXml(Element parent, long flags)
- {
- Element elem = XMLUtil.addElement(parent, "column");
- elem.setAttribute("name", getName());
- elem.setAttribute("function", "concat");
- // Add Other Attributes
- if (attributes!=null)
- attributes.addXml(elem, flags);
- // add All Options
- if (options!=null)
- options.addXml(elem, getDataType());
- // Done
- return elem;
- }
-
- @Override
public DBColumn getSourceColumn()
{
return left.getSourceColumn();
@@ -188,7 +172,44 @@
left.addSQL(buf, context);
buf.append(template);
buf.append(getObjectValue(getDataType(), right, context, template));
- }
-
+ }
}
+
+ @Override
+ public Element addXml(Element parent, long flags)
+ {
+ Element elem = XMLUtil.addElement(parent, "column");
+ elem.setAttribute("name", getName());
+ elem.setAttribute("function", "concat");
+ DBColumn source = getSourceColumn();
+ if (source!=null)
+ { Element elemSource = XMLUtil.addElement(elem, "source");
+ source.addXml(elemSource, flags);
+ // more
+ Object with = right;
+ while (with instanceof DBExpr)
+ {
+ if (with instanceof DBConcatExpr)
+ {
+ ((DBConcatExpr)with).getSourceColumn().addXml(elemSource, flags);
+ with = ((DBConcatExpr)with).right;
+ continue;
+ }
+ if (with instanceof DBColumnExpr)
+ {
+ ((DBColumnExpr)with).addXml(elemSource, flags);
+ }
+ with = null;
+ }
+ }
+ // Add Other Attributes
+ if (attributes!=null)
+ attributes.addXml(elem, flags);
+ // add All Options
+ if (options!=null)
+ options.addXml(elem, getDataType());
+ // Done
+ return elem;
+ }
+
}
diff --git a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBConcatFuncExpr.java b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBConcatFuncExpr.java
index 1ded662..0ad9ec9 100644
--- a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBConcatFuncExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBConcatFuncExpr.java
@@ -19,6 +19,7 @@
package org.apache.empire.db.expr.column;
import org.apache.empire.data.DataType;
+import org.apache.empire.db.DBColumn;
import org.apache.empire.db.DBColumnExpr;
import org.apache.empire.dbms.DBSqlPhrase;
@@ -40,7 +41,7 @@
*/
public DBConcatFuncExpr(DBColumnExpr first, String separator, DBColumnExpr... others)
{
- super(first, null, false, DataType.VARCHAR);
+ super(first, false, DataType.VARCHAR);
// remember
this.first = first;
this.separator = separator;
@@ -74,6 +75,12 @@
{
return "CONCAT";
}
+
+ @Override
+ public DBColumn getUpdateColumn()
+ {
+ return null;
+ }
/**
* Returns true if other is equal to this expression
diff --git a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBConvertExpr.java b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBConvertExpr.java
index 34c4678..cbf9b6c 100644
--- a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBConvertExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBConvertExpr.java
@@ -44,7 +44,7 @@
*/
public DBConvertExpr(DBColumnExpr expr, DataType dataType, Object format)
{
- super(expr, expr.getUpdateColumn(), false, dataType);
+ super(expr, false, dataType);
// Save Info
this.format = format;
}
diff --git a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBDecodeExpr.java b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBDecodeExpr.java
index 45380e3..9be80c8 100644
--- a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBDecodeExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBDecodeExpr.java
@@ -55,7 +55,7 @@
*/
public DBDecodeExpr(DBColumnExpr expr, Map<?,?> valueMap, Object elseExpr, DataType dataType)
{
- super(expr, expr.getUpdateColumn(), false, dataType);
+ super(expr, false, dataType);
// Save Info
this.valueMap = valueMap;
this.elseExpr = elseExpr;
@@ -64,7 +64,13 @@
@Override
protected String getFunctionName()
{
- return "decode";
+ return "DECODE";
+ }
+
+ @Override
+ public DBColumn getUpdateColumn()
+ {
+ return null;
}
@Override
@@ -136,5 +142,4 @@
// No DBColumnExpr found
return null;
}
-
}
diff --git a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBFuncExpr.java b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBFuncExpr.java
index 6751330..0bbd93c 100644
--- a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBFuncExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBFuncExpr.java
@@ -62,9 +62,9 @@
* @param isAggregate indicates whether the function is an aggregate function (sum, min, max, avg, ...)
* @param dataType indicates the data type of the function result
*/
- public DBFuncExpr(DBColumnExpr expr, DBSqlPhrase phrase, Object[] params, DBColumn updateColumn, boolean isAggregate, DataType dataType)
+ public DBFuncExpr(DBColumnExpr expr, DBSqlPhrase phrase, Object[] params, DataType dataType)
{
- super(expr, updateColumn, isAggregate, dataType);
+ super(expr, phrase.isAggregate(), dataType);
// Set Phrase and Params
this.phrase = phrase;
this.params = params;
@@ -87,9 +87,9 @@
* @param isAggregate indicates whether the function is an aggregate function (sum, min, max, avg, ...)
* @param dataType indicates the data type of the function result
*/
- public DBFuncExpr(DBColumnExpr expr, String template, Object[] params, DBColumn updateColumn, boolean isAggregate, DataType dataType)
+ public DBFuncExpr(DBColumnExpr expr, String template, Object[] params, boolean isAggregate, DataType dataType)
{
- super(expr, updateColumn, isAggregate, dataType);
+ super(expr, isAggregate, dataType);
// Set Phrase and Params
this.phrase = null;
this.params = params;
diff --git a/empire-db/src/main/java/org/apache/empire/dbms/hsql/DBCommandHSql.java b/empire-db/src/main/java/org/apache/empire/dbms/hsql/DBCommandHSql.java
index d9a3c39..be53a54 100644
--- a/empire-db/src/main/java/org/apache/empire/dbms/hsql/DBCommandHSql.java
+++ b/empire-db/src/main/java/org/apache/empire/dbms/hsql/DBCommandHSql.java
@@ -18,21 +18,10 @@
*/
package org.apache.empire.dbms.hsql;
-import java.util.ArrayList;
-import java.util.HashSet;
import java.util.List;
-import java.util.Set;
-import org.apache.empire.data.DataType;
-import org.apache.empire.db.DBCmdParam;
-import org.apache.empire.db.DBColumn;
-import org.apache.empire.db.DBColumnExpr;
import org.apache.empire.db.DBCommand;
import org.apache.empire.db.DBRowSet;
-import org.apache.empire.db.expr.column.DBAliasExpr;
-import org.apache.empire.db.expr.column.DBValueExpr;
-import org.apache.empire.db.expr.compare.DBCompareColExpr;
-import org.apache.empire.db.expr.compare.DBCompareExpr;
import org.apache.empire.db.expr.join.DBColumnJoinExpr;
import org.apache.empire.db.expr.join.DBJoinExpr;
import org.apache.empire.db.expr.set.DBSetExpr;
diff --git a/empire-db/src/test/java/org/apache/empire/db/MockDriver.java b/empire-db/src/test/java/org/apache/empire/db/MockDriver.java
index ed6521e..7bc47f5 100644
--- a/empire-db/src/test/java/org/apache/empire/db/MockDriver.java
+++ b/empire-db/src/test/java/org/apache/empire/db/MockDriver.java
@@ -48,7 +48,7 @@
@Override
public DBColumnExpr getNextSequenceValueExpr(DBTableColumn column)
{
- return new DBFuncExpr(column, "nextval()", null, column, false, DataType.INTEGER);
+ return new DBFuncExpr(column, "nextval()", null, false, DataType.INTEGER);
}
@Override
diff --git a/empire-db/src/test/java/org/apache/empire/db/PreparedStatementTest.java b/empire-db/src/test/java/org/apache/empire/db/PreparedStatementTest.java
index 34a4ab6..ee97b36 100644
--- a/empire-db/src/test/java/org/apache/empire/db/PreparedStatementTest.java
+++ b/empire-db/src/test/java/org/apache/empire/db/PreparedStatementTest.java
@@ -76,8 +76,8 @@
// set param value
empIdParam.setValue(id);
// check command
- assertNotNull(cmd.getParamValues());
assertTrue(cmd.getSelect().indexOf('?') > 0);
+ assertNotNull(cmd.getParamValues());
DBReader r = new DBReader(context);
try {