Re: Criteria needs write permissions?
Sheldon Ross <[email protected]> Thu, 12 Nov 2009 14:28:17 -0700
| Newsgroups | gmane.comp.jakarta.turbine.torque.user |
|---|---|
| Message-ID | <[email protected]> |
Ok, I think this maybe a bug. After watching the addTable method in DatabaseMap, It appears to add the table to the default database dbMap even if the criteria is querying against a different database. Sheldon Ross wrote: > That would probably work, but It seems a little overkill. Do you know > where the lazy loading happens? > When I run with r/w connection, the dbmap tables hash does appear to > load that way. > However when I run the readonly connection, it just stays empty. > > Thanks > > Greg Monroe wrote: >> FWIW, the dbMap object get populated in a "lazy" manner by default. >> However, >> there is a way to force it to be fully loaded via a code call. You >> do this by calling: >> >> org.apache.torque.linkage.DefaultMapInit.init(); >> >> Not that this class actually exists in the generated classes and not >> in the Torque package. This is because it provided a "known" class >> that "knows" (via extension) the "user settable" om package. >> >> >>> -----Original Message----- >>> From: Sheldon Ross [mailto:[email protected]] >>> Sent: Thursday, November 12, 2009 3:25 PM >>> To: Apache Torque Users List >>> Subject: Re: Criteria needs write permissions? >>> >>> The why is a good question, the table is not found. The tables hashmap >>> in the dbMap appears to be empty. >>> It of course is found when using the other db connection. It looks like >>> I'm gonna have to dig for awhile. >>> >>> Thanks. >>> >>> Thomas Fischer wrote: >>> >>>> The null ointer exception seems to come from reading the table or >>>> >>> column >>> >>>> map. Can you put a breakpoint in SQLBuilder.java:497 and see whether >>>> >>> the >>> >>>> table or the column cannot be found (and why it is not found)? >>>> >>>> Thomas >>>> >>>> >>>> >>>>> Ok so I was trying to make our site a little safer from sql >>>>> >>> injections, >>> >>>>> so I made a database connection that connects with a user that only >>>>> >>> has >>> >>>>> SELECT permissions. And edited Criteria like such >>>>> >>>>> public Criteria() >>>>> { >>>>> this(DEFAULT_CAPACITY); >>>>> this.setDbName("readonlydatabase"); >>>>> } >>>>> >>>>> Now it seems to work for must things, but a couple queries fail with >>>>> >>>>> throws java.lang.Exception java.lang.NullPointerException >>>>> at org.apache.torque.util.SQLBuilder.processOrderBy >>>>> >>>>> >>>> (SQLBuilder.java:497) >>>> >>>> >>>>> at >>>>> >>>>> >>> org.apache.torque.util.SQLBuilder.buildQueryClause(SQLBuilder.java:302) >>> >>>>> at org.apache.torque.util.BasePeer.createQuery(BasePeer.java:730) >>>>> >>>>> This error disappears as soon as I let the criteria use a database >>>>> connection with write privileges. >>>>> I know the user that it connects with has select privileges on every >>>>> public table in the database. >>>>> >>>>> Does criteria need update privileges to work or something? >>>>> >>>>> The query the criteria constructs work fine when I connect as the >>>>> readonly user and run it manually. >>>>> >>>>> Any thoughts? >>>>> >>>>> Thanks >>>>> >>>>> -- >>>>> Sheldon Ross >>>>> >>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: [email protected] >>>>> For additional commands, e-mail: [email protected] >>>>> >>>>> >>>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: [email protected] >>>> For additional commands, e-mail: [email protected] >>>> >>>> >>>> >>>> >>> -- >>> Sheldon Ross >>> Software Development >>> American Simmental Association >>> [email protected] >>> (406)587-4531 ext 102 >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [email protected] >>> For additional commands, e-mail: [email protected] >>> >> >> DukeCE Privacy Statement: >> Please be advised that this e-mail and any files transmitted with >> it are confidential communication or may otherwise be privileged or >> confidential and are intended solely for the individual or entity >> to whom they are addressed. If you are not the intended recipient >> you may not rely on the contents of this email or any attachments, >> and we ask that you please not read, copy or retransmit this >> communication, but reply to the sender and destroy the email, its >> contents, and all copies thereof immediately. Any unauthorized >> dissemination, distribution or copying of this communication is >> strictly prohibited. >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> >> > -- Sheldon Ross Software Development American Simmental Association [email protected] (406)587-4531 ext 102