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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to