Scott,
I have implemented streaming mode as well as adding the rest of the
original
functionality (except the SQL Error handling), but I am having a problem
getting streaming mode to work properly.
When not in streaming mode, the new code works fine. The difference is
that
I no longer read from the ResultSet on nextNode() and only in _nextsib()
when
the element type is a <ROW> element and if the identity is on the last
row. This
should assure that we only populate rows as they are actually walked.
Now the problem is, the method WalkingIteratorSorted#setRoot actually
walks
the whole tree first prior to processing nodes to the result set. The
effect is that
only one row, the last row, is added since one of the restrictions is
that in streaming
mode the SQLDocument can only be traversed once.
Is there another place where I should be regulating access to the
ResultSet and will
this mess up the setRoot function since the tree will have different
sizes, near empty
when setRoot is called and larger after ??
Any Ideas ??
The code is checked in and a sample stylesheet is attached. For now
Streaming Mode
defaults to false so the code is not broken. Streaming mode is
controlled via two methods
enableStreamingMode and disableStreamingMode.
Regards
JohnG
Title: List of products
Connection make OK
|