From 795e6d953650107202f04680c3f3c6a386efd96c Mon Sep 17 00:00:00 2001 From: zell Date: Mon, 20 Aug 2007 18:54:40 +0000 Subject: [PATCH] Let's explain that a bit more hands-on git-svn-id: https://samskivert.googlecode.com/svn/trunk@2196 6335cc39-0255-0410-8fd6-9bcaacd3b74c --- src/java/com/samskivert/jdbc/depot/BuildVisitor.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/java/com/samskivert/jdbc/depot/BuildVisitor.java b/src/java/com/samskivert/jdbc/depot/BuildVisitor.java index ed99a722..5a0d6516 100644 --- a/src/java/com/samskivert/jdbc/depot/BuildVisitor.java +++ b/src/java/com/samskivert/jdbc/depot/BuildVisitor.java @@ -511,8 +511,10 @@ public abstract class BuildVisitor implements ExpressionVisitor // first, see if there's a field override FieldOverride override = fieldOverrides.get(field); if (override != null) { - // overrides point to a raw column even when that column is overridden - // for the purposes of the query itself + // If a FieldOverride's target is in turn another FieldOverride, the second + // one is ignored. As an example, when creating ItemRecords from CloneRecords, + // we make Item.itemId = Clone.itemId. We also make Item.parentId = Item.itemId + // and would be dismayed to find Item.parentID = Item.itemId = Clone.itemId. _ignoreOverrides = true; override.accept(this); _ignoreOverrides = false;