Hello Thomas, 
I must say, that i do have objections, as we currently use this method.
Im not quite sure, but i think, the ID-Generator uses these methods too, as the 
Statement implicates (SELECT next_id FROM); the tablerow next_id is only inside 
the ID-Table.
This is a bug, which i stated before, but no one seems to have noticed.
some of the adapters have the false logic (next_id instead of *) in there 
sourcecode, so that you can not use this function in general. i changed that 
localy in my torque code, and we do use this method for locking tables in 
general.

If this Function will be deleted, wich other way will be there to lock a table 
if not using a DB-Specific PS ?
This would bring torque a step away from making the javacode independent to the 
sql-code.

Michael Beier
 

vps Video Print Systeme GmbH 
Dipl.-Inf. Michael Beier

-----Urspr�ngliche Nachricht-----
Von: Thomas Fischer [mailto:[EMAIL PROTECTED]
Gesendet: Freitag, 18. M�rz 2005 11:22
An: Apache Torque Developers List
Betreff: RE: Missing close-operations for Statements






Hendrik,

I cannot imagine a reason why the statement should not be closed. However,
I have looked for references to the lockTable code and found none. So I do
not think this is the cause for your problem.

I have tested that the runtimetest on oracle works without the lockTable
and unlockTable methods in DB.java and the respective adapter (Oracle, in
my case).
I would like to deprecate the methods from the adapter and mark them as
being deleted in a future release. Does anybody have any objections to that
?

    Thomas



Hendrik Busch <[EMAIL PROTECTED]> schrieb am 18.03.2005 10:23:42:

> Hi!
>
> We are currently porting major pieces of our software from MySQL to
> Oracle. I'm currently stuck with the Oracle "too many open cursors"
> failure. Having checked our own software first I have checked the Torque
> sources next.
> The most notable thing I found when searching for unclosed
> JDBC-resources were the missing close()-calla to the Statements used in
> the many DB adapters, including the Oracle adapter. Most methods look
> like this:
>
> public void lockTable(Connection con, String table) throws SQLException
> {
>    Statement statement = con.createStatement();
>
>          StringBuffer stmt = new StringBuffer();
>          stmt.append("SELECT next_id FROM ")
>                  .append(table)
>                  .append(" FOR UPDATE");
>
>          statement.executeQuery(stmt.toString());
> }
>
> The used statement does remain open. Was this done on purpose with an
> intention I don't see or did someone simply forget to close the
> Statements? Since we are performing database operations with a very high
> rate, those things sometimes tend to cause problems.
>
> --
> Mit freundlichen Gr��en / Kind regards
>
> Hendrik Busch - Senior Developer
>
> LexisNexis Deutschland GmbH
> http://www.lexisnexis.de
> Feldstiege 100
> D-48161 M�nster
> phone +49 (0) 2533-9300-455
> fax +49 (0) 02533-9300-50
> [EMAIL PROTECTED]
>
> ---------------------------------------------------------------------
> 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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to