ahha. so i am replacing one whole subexpr with somthing, and the 
original subexpr is not traversed inside.
if i comment the stop_on.add(), it attempts to traverse the result 
subexpr, not the original one. 
i want the original to be traversed. Something like doing onExit 
instead of current onEntry.
if its too hard, i can probably traverse it twice, once just marking , 
2nd time replaceing things? i'll try

On Wednesday 07 November 2007 20:02:05 svilen wrote:
> On Wednesday 07 November 2007 19:33:22 Michael Bayer wrote:
> > oh....youre *extending* abstractclauseprocessor ???
> >
> > well yes, thats
> > going to change things quite a bit.  I think you should study ACP
> > in its current form; what its doing now is faithfully calling
> > convert_element() for *every* element in the expression, and also
> > is not copying any elements before calling convert_element() -
> > convert_element() always gets components from the original clause
> > only.   if convert_element() returns non-None, the resulting
> > element is assembled into the output, and traversal *stops* for
> > the remainder of that element.  this is different behavior than
> > it was before.  the reason it stops for a replaced element is
> > because its assumed that the replacement value is not part of the
> > expression which is being copied, and therefore should not be
> > copied or processed itself.  if its that second part of the
> > behavior thats breaking it for you, we can add an option to
> > switch it off (comment out line 156, stop_on.add(newelem) to
> > produce this).
>
> this did not change things, the column is still not traversed.
> maybe something else also has to be changed.
>
> i want a copy of original expression, where certain things are
> replaced by my things, and no need to go inside them - so this
> stop_on as u describe is okay... unless: what u mean remainder?
> that the returned element is not further traversed (thats ok), or
> the parent of that element is not traversed anymore (not ok)?
>
> > this new version of ACP can locate things besides just plain
> > Table, Alias and Column objects; it can locate things like Joins
> > embedded in a clause which match the target selectable.
> >

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to