From e37d26f94dfc2a26a8b32d85e0b1bb3ca4a950e8 Mon Sep 17 00:00:00 2001 From: hns Date: Mon, 11 Nov 2002 19:20:26 +0000 Subject: [PATCH] Do not append "WHERE" when calling Relation.buildQuery() because the relation may not need a where clause. Also returned to the way things were before when getting a node using a hand-set subnodeRelation. --- src/helma/objectmodel/db/NodeManager.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/helma/objectmodel/db/NodeManager.java b/src/helma/objectmodel/db/NodeManager.java index 48f374d7..ee32c517 100644 --- a/src/helma/objectmodel/db/NodeManager.java +++ b/src/helma/objectmodel/db/NodeManager.java @@ -754,8 +754,7 @@ public final class NodeManager { q.append (home.getSubnodeRelation()); } else { // let relation object build the query - q.append (" where "); - q.append (rel.buildQuery (home, home.getNonVirtualParent (), null, "", false)); + q.append (rel.buildQuery (home, home.getNonVirtualParent (), null, " WHERE ", false)); if (rel.getOrder () != null) q.append (" order by "+rel.getOrder ()); } @@ -1097,15 +1096,15 @@ public final class NodeManager { StringBuffer q = dbm.getSelect (); if (home.getSubnodeRelation () != null) { // combine our key with the constraints in the manually set subnode relation - q.append (home.getSubnodeRelation ()); - q.append (" and "); + q.append (" WHERE "); q.append (rel.accessor); q.append (" = '"); q.append (escape(kstr)); q.append ("'"); + q.append (" AND "); + q.append (home.getSubnodeRelation().trim().substring(5)); } else { - q.append (" where "); - q.append (rel.buildQuery (home, home.getNonVirtualParent (), kstr, "", false)); + q.append (rel.buildQuery (home, home.getNonVirtualParent (), kstr, " WHERE ", false)); } if (logSql) app.logEvent ("### getNodeByRelation: "+q.toString());