Author: tfischer
Date: Tue Sep 16 20:13:35 2014
New Revision: 1625370

URL: http://svn.apache.org/r1625370
Log:
Fix for oracle which needs the MINUS operator instead of EXCEPT

Modified:
    
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/adapter/AbstractAdapter.java
    
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/adapter/Adapter.java
    
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/adapter/OracleAdapter.java
    
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/sql/SqlBuilder.java

Modified: 
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/adapter/AbstractAdapter.java
URL: 
http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/adapter/AbstractAdapter.java?rev=1625370&r1=1625369&r2=1625370&view=diff
==============================================================================
--- 
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/adapter/AbstractAdapter.java
 (original)
+++ 
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/adapter/AbstractAdapter.java
 Tue Sep 16 20:13:35 2014
@@ -260,7 +260,7 @@ public abstract class AbstractAdapter im
      *
      * @return whether to use the MINUS operator instead of the EXCEPT 
operator.
      */
-    public boolean useExceptForMinus()
+    public boolean useMinusForExcept()
     {
         return false;
     }

Modified: 
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/adapter/Adapter.java
URL: 
http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/adapter/Adapter.java?rev=1625370&r1=1625369&r2=1625370&view=diff
==============================================================================
--- 
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/adapter/Adapter.java
 (original)
+++ 
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/adapter/Adapter.java
 Tue Sep 16 20:13:35 2014
@@ -225,5 +225,5 @@ public interface Adapter extends Seriali
      *
      * @return whether to use the MINUS operator instead of the EXCEPT 
operator.
      */
-    boolean useExceptForMinus();
+    boolean useMinusForExcept();
 }

Modified: 
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/adapter/OracleAdapter.java
URL: 
http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/adapter/OracleAdapter.java?rev=1625370&r1=1625369&r2=1625370&view=diff
==============================================================================
--- 
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/adapter/OracleAdapter.java
 (original)
+++ 
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/adapter/OracleAdapter.java
 Tue Sep 16 20:13:35 2014
@@ -356,7 +356,7 @@ public class OracleAdapter extends Abstr
      * @return whether to use the MINUS operator instead of the EXCEPT 
operator.
      */
     @Override
-    public boolean useExceptForMinus()
+    public boolean useMinusForExcept()
     {
         return true;
     }

Modified: 
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/sql/SqlBuilder.java
URL: 
http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/sql/SqlBuilder.java?rev=1625370&r1=1625369&r2=1625370&view=diff
==============================================================================
--- 
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/sql/SqlBuilder.java
 (original)
+++ 
db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/sql/SqlBuilder.java
 Tue Sep 16 20:13:35 2014
@@ -570,7 +570,22 @@ public final class SqlBuilder
         {
             return;
         }
-        query.setPartOperator(criteria.getSetOperator().toString());
+        final String dbName = criteria.getDbName();
+        final Adapter adapter = Torque.getAdapter(dbName);
+
+        SqlEnum setOperator = criteria.getSetOperator();
+        if (adapter.useMinusForExcept())
+        {
+            if (SqlEnum.EXCEPT == setOperator)
+            {
+                setOperator = SqlEnum.MINUS;
+            }
+            else if (SqlEnum.EXCEPT_ALL == setOperator)
+            {
+                setOperator = SqlEnum.MINUS_ALL;
+            }
+        }
+        query.setPartOperator(setOperator.toString());
         for (Criteria part : criteria.getSetCriteriaParts())
         {
             Query queryPart = buildQuery(part);



---------------------------------------------------------------------
To unsubscribe, e-mail: torque-dev-unsubscr...@db.apache.org
For additional commands, e-mail: torque-dev-h...@db.apache.org

Reply via email to