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

Reply via email to