> -----Oorspronkelijk bericht----- > Van: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] Namens Johannes Verelst > Verzonden: woensdag 5 oktober 2005 18:45 > Aan: [email protected] > Onderwerp: [Developers] MMBase and Oracle > > > Hi all, > > Some might've heard about the oracle implementation I've been > building; hereby a small update on its status. > > 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. > > Furthermore, a lot of referential constraints are put in. For > example, you can't insert a node with an otype that doesn't > already exist as a number in the mm_object table. If you > enable constraints with 'on delete cascade', it gets even > more fun: the following command will drop all objects from all tables: > DELETE FROM MM_OBJECT WHERE M_NUMBER = 1; > (this behaviour is not enabled by default).
have you taken into account that some of these referential constraints make importing an database export difficult or imposible? We had some trouble with that. Ernst > > There are some caveats in the implementation: > - The maximum identifier length in oracle is 30. If you have > identifiers that are larger, the storage layer will generate > unique identifiers, but they are not very pretty. > - 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. > - Oracle is very strict in 'NOT NULL' values; also the empty > string is considered NULL. For instance the editors don't > understand this very well, and you will see a nice stacktrace > when inserting objects with empty values for NOT NULL columns. > - 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. > - Alter table commands are not yet supported, but should be > fairly easy to make. > - Oracle supports text-indexes; I will try to incorporate > that into the SQL handler. > > Johannes > _______________________________________________ > Developers mailing list > [email protected] > http://lists.mmbase.org/mailman/listinfo/developers > _______________________________________________ Developers mailing list [email protected] http://lists.mmbase.org/mailman/listinfo/developers
