1 | /* |
2 | |
3 | Derby - Class org.apache.derby.impl.tools.ij.AsyncStatement |
4 | |
5 | Copyright 1997, 2004 The Apache Software Foundation or its licensors, as applicable. |
6 | |
7 | Licensed under the Apache License, Version 2.0 (the "License"); |
8 | you may not use this file except in compliance with the License. |
9 | You may obtain a copy of the License at |
10 | |
11 | http://www.apache.org/licenses/LICENSE-2.0 |
12 | |
13 | Unless required by applicable law or agreed to in writing, software |
14 | distributed under the License is distributed on an "AS IS" BASIS, |
15 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
16 | See the License for the specific language governing permissions and |
17 | limitations under the License. |
18 | |
19 | */ |
20 | |
21 | package org.apache.derby.impl.tools.ij; |
22 | |
23 | import java.sql.Connection; |
24 | import java.sql.Statement; |
25 | import java.sql.SQLException; |
26 | //import java.io.PrintStream; |
27 | |
28 | class AsyncStatement extends Thread { |
29 | Connection conn; |
30 | String stmt; |
31 | ijResult result; |
32 | |
33 | AsyncStatement(Connection theConn, String theStmt) { |
34 | conn = theConn; |
35 | stmt = theStmt; |
36 | } |
37 | |
38 | public void run() { |
39 | Statement aStatement = null; |
40 | try { |
41 | aStatement = conn.createStatement(); |
42 | aStatement.execute(stmt); |
43 | result = new ijStatementResult(aStatement,true); |
44 | // caller must release its resources |
45 | } catch (SQLException e) { |
46 | result = new ijExceptionResult(e); |
47 | if (aStatement!=null) |
48 | try { |
49 | aStatement.close(); |
50 | } catch (SQLException e2) { |
51 | // not a lot we can do here... |
52 | } |
53 | } |
54 | aStatement = null; |
55 | } |
56 | |
57 | public ijResult getResult() { return result; } |
58 | } |