Eduard Witteveen wrote:
Johannes Verelst wrote:
Some might've heard about the oracle implementation I've been
building; hereby a small update on its status.
Good work!
The storage code is currently all in CVS in the HEAD (1.8) branch. It
could be backported to 1.7 if anybody needs it, but since there
already are plans to release 1.8 in the near future, I don't see the
added value.
What does it do? For every builder it creates a table
(MM_builder_TABLE), and a view MM_builder that selects fields from the
parent and the table. Triggers on the MM_builder view are created for
'insert', 'update' and 'delete' commands; to delete from the table and
the parent. This means you can use the views just as normal tables,
updates/inserts/deletes on them are automatically propagated to all
parent builders.
How far is it upwards compatible with the 1.6 database.support Oracle
implementation (withviews)?
(like is it easy to upgrade?)
I haven't tested it yet, but Johannes changed a version I checked in
which was based on the withviews. My version was not tested on oracle,
but it created the same structure in MSSQL. The current code checks for
option database-supports-insert-triggers so I guess it will be ok.
- I think I fixed all restricted keywords (the 156 EO builders load
nicely now), but I did create it on trial-and-error; it might not be a
complete list.
Doesnt return oracle the complete list of reservated words?
- An SQLHandler is still in the make to support 'LIMIT' like queries.
This will probably have a performance impact since oracle doesn't
really support this; you might not want to enable it but I will add it
for completeness.
IMHO you should use a:
SELECT %fieldlist%
FROM(
SELECT ROWNUM as recordcounter, mm_object.*
FROM mm_object
ORDER BY number
)
WHERE recordcounter BETWEEN 100 AND 200
limit is not supported?
This will work for all queries
PAGING_PREFIX = "select * from (select rownum a, thedata.* from ( ";
PAGING_POSTFIX = " ) thedata ) where a between ? and ? ";
limitQuery = PAGING_PREFIX + query + PAGING_POSTFIX;
Nico
_______________________________________________
Developers mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/developers