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 2eb4ad0 EMPIREDB-282 small fix
2eb4ad0 is described below
commit 2eb4ad0015cca9b2509a25e72a00d15d1d7b9673
Author: Rainer Döbele <[email protected]>
AuthorDate: Thu Oct 10 19:06:37 2019 +0200
EMPIREDB-282
small fix
---
.../java/org/apache/empire/db/expr/column/DBValueExpr.java | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
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 429e992..1ae26c6 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
@@ -191,9 +191,19 @@ public class DBValueExpr extends DBColumnExpr
((DBExpr)value).addSQL(buf, context);
}
else
- { // convert value to sql literal
+ { DataType dataType = getDataType();
+ Object val = value;
+ // unwrap enum
+ if (value instanceof Enum)
+ { // its an enum
+ if (dataType.isNumeric())
+ val = ((Enum<?>) value).ordinal();
+ else
+ val = ((Enum<?>) value).name();
+ }
+ // convert value to sql literal
DBDatabaseDriver driver = db.getDriver();
- String text = (driver!=null) ? driver.getValueString(value,
getDataType()) : String.valueOf(value);
+ String text = (driver!=null) ? driver.getValueString(val,
dataType) : String.valueOf(val);
buf.append(text);
}
}