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