Can you open a feature request for this, and assign it to me (dsundstrom)?
Thanks -dain Stephen Coy wrote: > See annotations below: > > On Tuesday, April 16, 2002, at 12:10 PM, David Jencks wrote: > >> 1. I agree with you. >> >> 2. I've been wondering about something >> >> As I recall in Oracle if youre user name = schema name you don't need to >> prefix table names with the schema name? > > > Yes. > >> The tables in different schemas are completely independent, right? >> > > Yes. But I believe that you can have cross-schema relationships. Foreign > keys for example can point into different schema. > >> Someone wanted to have users login name translate to schema login... does >> this happen automatically if you do nothing in Oracle? (this might be my >> first question again) I think they want each schema to have exactly the >> same tables. >> > > That was me. Because we're sharing a single Oracle instance amongst many > developers. > The developers are all working on the same product. If one of them adds > a cmp field to an entity bean, we don't want that to bring down everyone > else. > > The hack shown below is needed because DatabaseMetaData.getTables() > returns results from all schemas that contain a table called tableName > if a null schema name is passed. > > >> What would happen if one did this? would you need to make sure that no >> two >> primary keys in tables of the same name but different schemas were >> identical? (So the entity beans were distinguished) Is there a convenient >> way to assure this in Oracle? >> > > No. Tables in different schemas are independent of one another and have > their own indexes. > > I believe that adding the <schema> tags will allow JBoss users to > exploit the schema implementation of their favourite database as they > see fit, if they so desire. In our situation, we would also need xdoclet > support for same. You would also need to be careful with foreign key > references. > > >> Thanks >> david jencks >> >> On 2002.04.15 20:16:43 -0400 Stephen Coy wrote: >> >>> I think that adding a schema name element as described below would be a >>> great idea. At the present moment, I am hacking >>> JDBCStartCommand.tableExists: >>> >>> DatabaseMetaData dmd = con.getMetaData(); >>> rs = dmd.getTables(con.getCatalog(), dmd.getUserName(), >>> tableName, null); >>> >>> But I might point out that for us, this is just for the practical >>> convenience of sharing a single Oracle instance amongst half a dozen >>> developers. I suspect that it's not very portable across dbms's. >>> >>> Adding an optional <schema> element to jbosscmp-jdbc.xml would certainly >>> resolve my problem in a platform independent way. >>> >>> BTW. I don't think that using: >>> <TABLE>myschema.mytable</TABLE> >>> will work in the current implementation anyway, because the table name >>> is also used for generating the pk constraint name. The above will yield >>> something like "pk_myschema.mytable", which probably won't work. >>> >>> >>> On Tuesday, April 16, 2002, at 02:32 AM, Dain Sundstrom wrote: >>> >>>> Yes, it is the same work if you are going to specify both. The real >>>> benefit comes from being able to specify <schema-name> in the defaults >>>> section. >>>> >>>> -dain >>>> >>>> Ignacio Coloma wrote: >>>> >>>>> I don't see how that is different than using MYSPACE.MYTABLE. Same >>>>> amount of code for the user, but you would have to support Yet Another >>>>> Feature. IMHO it's the same to write: >>>>> <SCHEMA>myschema</SCHEMA> >>>>> <TABLE>mytable</TABLE> >>>>> than >>>>> <TABLE>myschema.mytable</TABLE> >>>>> Do other environments support this? This should be a common problem. >>>> >>> As >>> >>>>> far as I remember Delphi left you alone on this one. >>>>> On Mon, 2002-04-15 at 15:56, Dain Sundstrom wrote: >>>>> >>>>>> This looks like a hack to me. Should we consider adding a >>>>>> schema-name element to the table configuration? By this I mean that >>>>>> where ever we have table-name in the jbosscmp-jdbc.xml file we can >>>>>> have an optional schema-name element. Also in the getTables call in >>>>>> we would pass the schema name as the second argument. >>>>>> >>>>>> Does this make since? >>>>>> >>>>>> Does anyone else have an opinion on this? >>>>>> >>>>>> -dain >>>>>> >>>>>> [EMAIL PROTECTED] wrote: >>>>>> >>>>>> >>>>>>> Maybe you could take only the last period delimited token (meaning >>>>>> >>> in >>> >>>>>>> >>>>>>> MYSCHEMA.MYTABLE use MYTABLE) as the tablename when you must be >>>>>> >>> using >>> >>>>>>> >>>>>>> only a table name, not a qualified tablename. I would expect that >>>>>>> >>>>>>> most RDBMS products, open or closed source, use this convention >>>>>>> of "." >>>>>>> >>>>>>> delimiting tokens in table and column names. >>>>>>> >>>>>>> Cheers >>>>>>> >>>>>>> >>>>>>> >>>>>>>> From: Dain Sundstrom <[EMAIL PROTECTED]> >>>>>>>> Date: 2002/04/15 Mon AM 10:40:32 EDT >>>>>>>> To: [EMAIL PROTECTED] >>>>>>>> Subject: Re: [JBoss-dev] Problem in JDBCStartCommand.java >>>>>>>> >>>>>>>> JL@esial wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> Hello, >>>>>>>>> >>>>>>>>> I am using JBoss 3.0.0beta2(200204150942) on Win2k SP2. >>>>>>>>> The function tableExists in this class makes the following jdbc >>>>>>>>> call: >>>>>>>>> rs = dmd.getTables(con.getCatalog(), null, tableName, null); >>>>>>>>> >>>>>>>>> I am using DB2 as dbms, and this piece of code will not work if >>>>>>>>> tableName contains a prefix. >>>>>>>>> >>>>>>>> Why would it have a prefix? >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> Indeed, I have to configure my >>>>>>>>> jbosscmp-jdbc.xml ejb/table mappings like that: >>>>>>>>> <table-name>MYSCHEMA.MYTABLE</table-name> to get the SQL >>>>>>>>> statements work properly with DB2. But then the >>>>>>>>> tableExists method will always return false since it takes >>>>>>>>> MYSCHEMA.MYTABLE as tableName. >>>>>>>>> >>>>>>>>> >>>>>>>> JBossCMP tries it's best to autogenerate tables, but it can not >>>>>>>> solve all problems. I shoot for 80%. If you need an exact >>>>>>>> mapping, you will have to create the tables by hand (you should >>>>>>>> also do this before sending the application to production). >>>>>>>> >>>>>>>> If you have a *SIMPLE* solution that works on all of the major >>>>>>>> commercial and all opensource DBs, then I am open to the >>>>>>>> suggestion/ patch. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> Is there an easy way to set a tablename prefix or even a schema >>>>>>>>> >>>>>>>>> name in jbosscmp-jdbc.xml ? Right now, I think I will have to >>>>>>>>> patch my own code, but I believe many people out there using >>>>>>>>> DB2 or Oracle might encounter the same problem. >>>>>>>>> >>>>>>>>> >>>>>>>> I don't think others have this problem, as you are the first to >>>>>>>> report it as a problem. >>>>>>>> >>>>>>>> -dain >>>>>>>> > > > _______________________________________________ > Jboss-development mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/jboss-development _______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development
