01: /* Copyright (c) 2001-2005, The HSQL Development Group
02: * All rights reserved.
03: *
04: * Redistribution and use in source and binary forms, with or without
05: * modification, are permitted provided that the following conditions are met:
06: *
07: * Redistributions of source code must retain the above copyright notice, this
08: * list of conditions and the following disclaimer.
09: *
10: * Redistributions in binary form must reproduce the above copyright notice,
11: * this list of conditions and the following disclaimer in the documentation
12: * and/or other materials provided with the distribution.
13: *
14: * Neither the name of the HSQL Development Group nor the names of its
15: * contributors may be used to endorse or promote products derived from this
16: * software without specific prior written permission.
17: *
18: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19: * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21: * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG,
22: * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23: * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24: * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25: * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26: * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28: * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29: */
30:
31: package org.hsqldb;
32:
33: /**
34: * Interface to Session and its remote proxy objects. Used by the
35: * implementations of JDBC interfaces to communicate with the database at
36: * the session level.
37: *
38: * @author fredt@users
39: * @version 1.7.2
40: * @since 1.7.2
41: */
42: public interface SessionInterface {
43:
44: // fredt@users - marked as used
45: int INFO_DATABASE = 0;
46: int INFO_USER = 1;
47: int INFO_SESSION_ID = 2;
48: int INFO_ISOLATION = 3;
49: int INFO_AUTOCOMMIT = 4; // used
50: int INFO_DATABASE_READONLY = 5;
51: int INFO_CONNECTION_READONLY = 6; // used
52:
53: //
54: int TX_READ_UNCOMMITTED = 1;
55: int TX_READ_COMMITTED = 2;
56: int TX_REPEATABLE_READ = 4;
57: int TX_SERIALIZABLE = 8;
58:
59: Result execute(Result r) throws HsqlException;
60:
61: void close();
62:
63: boolean isClosed();
64:
65: boolean isReadOnly() throws HsqlException;
66:
67: void setReadOnly(boolean readonly) throws HsqlException;
68:
69: boolean isAutoCommit() throws HsqlException;
70:
71: void setAutoCommit(boolean autoCommit) throws HsqlException;
72:
73: void setIsolation(int level) throws HsqlException;
74:
75: int getIsolation() throws HsqlException;
76:
77: void startPhasedTransaction() throws HsqlException;
78:
79: void prepareCommit() throws HsqlException;
80:
81: void commit() throws HsqlException;
82:
83: void rollback() throws HsqlException;
84:
85: int getId();
86:
87: void resetSession() throws HsqlException;
88: }
|