You are viewing a plain text version of this content. The canonical link for it is here.
Posted to torque-dev@db.apache.org by tf...@apache.org on 2011/06/23 15:01:47 UTC

svn commit: r1138863 - /db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/util/BasePeerImpl.java

Author: tfischer
Date: Thu Jun 23 13:01:46 2011
New Revision: 1138863

URL: http://svn.apache.org/viewvc?rev=1138863&view=rev
Log:
TORQUE-113: Throw exception on invalid column in delete statement
TORQUE-118: Do not delete all records on a delete with a join

Modified:
    db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/util/BasePeerImpl.java

Modified: db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/util/BasePeerImpl.java
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/util/BasePeerImpl.java?rev=1138863&r1=1138862&r2=1138863&view=diff
==============================================================================
--- db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/util/BasePeerImpl.java (original)
+++ db/torque/torque4/trunk/torque-runtime/src/main/java/org/apache/torque/util/BasePeerImpl.java Thu Jun 23 13:01:46 2011
@@ -344,12 +344,26 @@ public class BasePeerImpl implements Ser
         Query query = SqlBuilder.buildQuery(criteria);
 
         query.setType(Query.Type.DELETE);
-        query.getFromClause().clear();
+        
         String fullTableName = SqlBuilder.getFullTableName(
                 tableName,
                 criteria.getDbName());
-        query.getFromClause().add(
-                new Query.FromElement(fullTableName, null, null));
+        boolean ownTableAdded = false;
+        for (Query.FromElement fromElement : query.getFromClause())
+        {
+            // Table names are case insensitive in known databases
+            // so use case-insensitive compare
+            if (fullTableName.equalsIgnoreCase(fromElement.getTableName()))
+            {
+                ownTableAdded = true;
+                break;
+            }
+        }
+        if (!ownTableAdded)
+        {
+            query.getFromClause().add(
+                    new Query.FromElement(fullTableName, null, null));
+        }
         String sql = query.toString();
 
         PreparedStatement preparedStatement = null;



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