db-torque-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve Vanspall" <svansp...@madman.com.au>
Subject RE: weird problem creating sql suery string from criteria
Date Thu, 29 Jun 2006 23:25:42 GMT
Oh right no problem

The odd problem is that my code works about 85% of the time with the
same criteria beign set.

It's more the lack of consistency that concerns me. Why should Torque
not perform the task correctly only some of the time.

But thanks I will look into the counthelper

Steve

-----Original Message-----
From: Thomas Fischer [mailto:tfischer@apache.org] 
Sent: Thursday, 29 June 2006 7:19 PM
To: Apache Torque Users List
Subject: Re: weird problem creating sql suery string from criteria

The problem is that count(*) as only select column will not work. Torque

neends some hint on which table the select runs on (unfortunately, the 
peer class does not do that), and it uses the select column name to do 
that.

Have you looked at the CountHelper class in Torque 3.2 ? I'd recommend 
using it, or, if that is not possible, enhance its source code.

     Thomas

On Wed, 28 Jun 2006, Steve Vanspall wrote:

> Hi
>
>
>
> I have a problem where If I set criteria add a select column, 95% of
the
> time getting a SQL query string from the criteria works. But
> occasionally it doesn't create a calid SQL string.
>
>
>
> This is the code
>
>
>
>            // create the count criteria
>
>            Criteria rarCriteria = new Criteria();
>
>            rarCriteria.addSelectColumn("COUNT(*)");
>
>            getReturnAuthorisationRequestSearchCriteria(rarCriteria);
>
>            String query = ReturnAuthorisationRequestPeer
>
>                        .createQueryString(rarCriteria);
>
>            List list = ReturnAuthorisationRequestPeer.executeQuery(
>
>
> ReturnAuthorisationRequestPeer.createQueryString(rarCriteria),
>
>                        ReturnAuthorisationRequestPeer.DATABASE_NAME);
>
>            return ((Record) list.get(0)).getValue(1).asInt();
>
>
>
>
>
> /*
>
> getReturnAuthorisationRequestSearchCriteria(rarCriteria); just adds
the
> criteria using the standard Torque methods. add, some criterion and's,
> and depending on the conditions a join.
>
> */
>
>
>
> Now when I run this once, with all the same settings it will work.
> Occasionally it will throw a SQL syntax error in my sql.
>
>
>
> All the conditions fo creating the criteria will be the same as the
> previous (succesful) criteria build.
>
>
>
> When it fails,
> ReturnAuthorisationRequestPeer.createQueryString(rarCriteria) create a
> string "Select COUNT(*) FROM" with nothin else. Obvioulsy when it
works
> it produces the complete SQL string.
>
>
>
> Why does Torque selectively create the SQL differently? Is this a bug?
> Is there any way to guarantee that this will work every time.
Otherwise
> I will have ot manually build an SQL string.
>
>
>
> Any help would be appreciated
>
>
>
> Regards
>
>
>
> Steve
>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
For additional commands, e-mail: torque-user-help@db.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
For additional commands, e-mail: torque-user-help@db.apache.org


Mime
View raw message