db-torque-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ramesh Sabeti" ...@reazon.com>
Subject RE: Torque 3.1 and Prepared Statements ....
Date Tue, 02 Dec 2003 16:47:43 GMT
As you noted, doPSSelect and doSelect don't return the same types.  For
Oracle use, you should only use preparedstatements, so doSelect becomes
usesless.  At the same time, doPSSelect returns villageRecords and is
not so useful either.  I ended up having to change all the calls to
BasePeer.doSelect to BasePeer.doPSSelect in all BasexxxPeer classes
created by Torque (yes, you're not supposed to touch those classes,
unless you really have to :).

Now I'm having another problem that's literally crashing Oracle.  Torque
issues a SELECT before every UPDATE.  The SELECT is not a prepared
statement, and fills up Oracle's shared pool in a single day of moderate
use.

The moral is, if you're using it with Oracle, Torque may not be for you.
Torque needs some minor modifications to make it work with Oracle, but I
haven't seen those made.

Hope it helps,

Ramesh.

> -----Original Message-----
> From: Göschl,Siegfried [mailto:Siegfried.Goeschl@drei.com]
> Sent: Tuesday, December 02, 2003 3:19 AM
> To: torque-user@db.apache.org
> Subject: Torque 3.1 and Prepared Statements ....
> 
> Hi folks,
> 
> I try to convince the company I work for to use Torque instead of the
> textbook "use entity beans with a session facade plus manually written
> data transfer object and fill your first dropdown box in two weeks
time".
> To ensure that Torque is doing well I wrote a regression test suite
which
> works fine. The last addition was testing of Prepared Statements which
> showed a few problems
> 
> +) The current implementation returns a List of VillageRecords. Is
there
> any reason why not to generate code which does the following
conversion
> automagically
> 
> Foo.addSelectColumns( criteria );
> ... more criteria wrestling ..
> List recordList = FooPeer.doPSSelect( criteria );
> List result = FooPeer.populateObjects( recordList );
> 
> +) There were question in the mailing list about prepared statements
and a
> lot of statement parsing within Oracle. I'm not pretty good at
database
> and my last encounter with ODBC/JDBC is long and happily forgotten.
But
> looking at the BasePeer.java I think what could be the reason for that
> behaviour mentioned above. A conenction is taken from the pool, a
prepared
> statement is created from this connection, the query is done and at
the
> end the statement is closed. AFAIK these forces the database to do the
> same parsing for the next prepared statement again.
> 
> Does it make sense to store the prepared statement and all the
information
> needed to create it into a result returned from
> BasePeer.createPreparedStatement()?! The prepared statement could be
> reused, if the connection is broken the prepared statement could be
> recreated using a good connection and most of the parameter handling
is
> already there?! Am I completely on the wrong track?!
> 
> Thanks in advance,
> 
> Siegfried Goeschl
> 
> 
> 
> 
> ---------------------------------------------------------------------
> 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