2008/1/15, Thomas Mortagne <[EMAIL PROTECTED]>: > 2008/1/14, rssh <[EMAIL PROTECTED]>: > > On Mon, 14 Jan 2008 15:07:11 +0100, Thomas Mortagne wrote > > > 2008/1/14, rssh <[EMAIL PROTECTED]>: > > > > On Mon, 14 Jan 2008 14:30:30 +0100, Thomas Mortagne wrote > > > > > No as the goal of this code is not to chose the database/schema where > > > > > to works, it set the schema name to use when generating the update > > > > > script for database engines based on schemas. MySQL does not need it > > > > > because MySQL is based on databases. > > > > > > > > > > The only place where database/schema is really changed is > > > > > setDatabase() and only in non virtual mode as far as I know. > > > > > > > > > > > > > May be you mean 'only in virtual mode' ? > > > > > > Yes sorry setDatabase works only in virtual mode. > > > > > > > Or, in such case we have: > > > > scheme-based, non-virtual mode: patch do all work correctly. (ok) > > scheme-based, virtual mode: patch do all work correctly. (ok) > > database-based, non-virtual mode: path does not touch nothing (ok, I > > think) > > database-based, virtual mode: see below: (problem) > > path does not touch nothing for main database, but touch virtual > > databases, > > except case, when we call setDatabase() for main database > > I tested your patch (at last) with "xwiki.db=toto" and > "xwiki.virtual.db.prefix=prefix" and my results are : > - mysql > - virtual : change main wiki database name and correctly apply > prefix (could be usefull) > - non-virtual : do noting (useless) > - hsqldb : > - virtual : change main wiki database name and correctly apply > prefix (could be usefull) > - non-virtual : updateSchipt is done in toto and retrieve/save > document in PUBLIC (not ok) > - derby : > - virtual : change main wiki database name and correctly apply > prefix (could be usefull) > - non-virtual : updateSchipt is done in toto and retrieve/save > document in PUBLIC (not ok)
Not PUBLIC but APP sorry but result is same :) > - postgre : > - non-virtual : do nothing (useless) > - virtual : not implemented > > To summarize : this patch does not works with hsqldb and derby and > only work in virtual mode. As I said before "table.setSchema" does not > change default schema it only set schema to use in update script. > > > > > So, in XWikiHibernateBaseStore.setDatabase() for mysql we need check, that > > this is main database and for main database does not call > > getSchemaForWikiName() > > > > Is this way looks acceptable ? > > > > > > _______________________________________________ > > devs mailing list > > [email protected] > > http://lists.xwiki.org/mailman/listinfo/devs > > > > > -- > Thomas Mortagne > -- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

