From c04096e65ce88c22e6a9ce3712c5e5e50c0db51d Mon Sep 17 00:00:00 2001 From: hns Date: Wed, 30 Oct 2002 19:23:17 +0000 Subject: [PATCH] Fixed bug in node validation: We did not check if group nodes are still contained by their parents unless they use an accessname, which is often not the case. --- src/helma/objectmodel/db/NodeManager.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/helma/objectmodel/db/NodeManager.java b/src/helma/objectmodel/db/NodeManager.java index 1cdef7cc..380c5c60 100644 --- a/src/helma/objectmodel/db/NodeManager.java +++ b/src/helma/objectmodel/db/NodeManager.java @@ -274,18 +274,19 @@ public final class NodeManager { if (node != null && node.getState() != Node.INVALID) { // check if node is null node (cached null) if (node.isNullNode ()) { - if (node.created() < rel.otherType.getLastDataChange () || - node.created() < rel.ownType.getLastTypeChange()) + if (node.created < rel.otherType.getLastDataChange () || + node.created < rel.ownType.getLastTypeChange()) node = null; // cached null not valid anymore - } else if (!rel.virtual && !rel.usesPrimaryKey ()) { + } else if (!rel.virtual) { // apply different consistency checks for groupby nodes and database nodes: // for group nodes, check if they're contained if (rel.groupby != null) { if (home.contains (node) < 0) node = null; // for database nodes, check if constraints are fulfilled - } else if (!rel.checkConstraints (home, node)) { - node = null; + } else if (!rel.usesPrimaryKey ()) { + if (!rel.checkConstraints (home, node)) + node = null; } } }