<Pierre van Rooden:>
> I see no reason to make it a staic method.
> A reason I can see to NOT make it static is that you cannot override the
> methods if you make them static.
They are not instance methods because they are not tied to a builder
instance.
In addition, I sees no reason to override them, on the contrary: I think
this should be prevented.
> I added a few dummy methods (throw UnsupportedOperationExceptions),
> because CVS was horribly broken, but they need a proper implementation
> (I'm willing to assist but I am currently caught up in the release).
Sorry for breaking the build. It seems the build script prevents me from
doing a proper clean build, I'll sort it out.
I'll provide implentations for the dummy methods next week.
> Btw what would be useful would be a
>
> public SearchQuery getSearchQuery();
>
> method, which returns a simple query that searches for nodes in the
> current builder. That query can then be extended with constraints.
This is already achieved by NodeSearchQuery (in
org.mmbase.storage.search.implementation):
query = new NodeSearchQuery(builder);
creates a query that retrieves nodes of the nodetype specified by the
builder.
> Btw I am interested in your ideas on how to solve bug #4157.
> Current ideas I have is either:
> - rerun the query on the derived buidlers
> - not reload the nodes in readsearchResults, but recats the builder
> (easy to do) and mark them 'partially loaded'. When you request new data
> from a node that is partially loaded, the node loads itself anew (and
> fully), but only when needed.
Reloading 'partially loaded' nodes is a bad solution performancewise, as
each such node requires a separate database lookup.
The queries on derived builders should be split in smaller queries when
needed to avoid sqlquery statement overflow.
(The maximum statement length can be retrieved from the
java.sql.DatabaseMetaData method getMaxStatementLength()).
Rob van Maris
Developer
Finalist IT Group
Java Specialists
-------------------------------------------------------------
Amsterdam, The Netherlands
Office: +31 20 5962321 (Direct)
Mobile: +31 651444006
Fax: +31 20 5962331
-------------------------------------------------------------