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);
         }
     }

Reply via email to