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 0f542d6 EMPIREDB-346 fix
0f542d6 is described below
commit 0f542d6820323d42508354bf61fd739939d3c3db
Author: Rainer Döbele <[email protected]>
AuthorDate: Thu Apr 29 13:31:10 2021 +0200
EMPIREDB-346
fix
---
.../src/main/java/org/apache/empire/db/DBDatabaseDriver.java | 6 +++++-
.../main/java/org/apache/empire/db/expr/column/DBValueExpr.java | 8 +-------
2 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/empire-db/src/main/java/org/apache/empire/db/DBDatabaseDriver.java
b/empire-db/src/main/java/org/apache/empire/db/DBDatabaseDriver.java
index 4aacd7b..bd23db7 100644
--- a/empire-db/src/main/java/org/apache/empire/db/DBDatabaseDriver.java
+++ b/empire-db/src/main/java/org/apache/empire/db/DBDatabaseDriver.java
@@ -713,8 +713,12 @@ public abstract class DBDatabaseDriver implements
Serializable
*/
public String getValueString(Object value, DataType type)
{
+ if (value instanceof Enum<?>)
+ { // convert enum
+ value = ObjectUtils.getEnumValue((Enum<?>)value, type.isNumeric());
+ }
if (ObjectUtils.isEmpty(value))
- {
+ { // null
return getSQLPhrase(SQL_NULL_VALUE);
}
// set string buffer
diff --git
a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBValueExpr.java
b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBValueExpr.java
index 9a61d3b..214a503 100644
--- a/empire-db/src/main/java/org/apache/empire/db/expr/column/DBValueExpr.java
+++ b/empire-db/src/main/java/org/apache/empire/db/expr/column/DBValueExpr.java
@@ -193,15 +193,9 @@ public class DBValueExpr extends DBColumnExpr
}
else
{ DataType dataType = getDataType();
- Object val = value;
- // unwrap enum
- if (value instanceof Enum)
- { // Convert value
- value = ObjectUtils.getEnumValue((Enum<?>) value,
dataType.isNumeric());
- }
// convert value to sql literal
DBDatabaseDriver driver = db.getDriver();
- String text = (driver!=null) ? driver.getValueString(val,
dataType) : String.valueOf(val);
+ String text = (driver!=null) ? driver.getValueString(value,
dataType) : ObjectUtils.getString(value);
buf.append(text);
}
}