帆软使用的第三方框架。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

156 lines
4.4 KiB

/* Copyright (c) 2001-2016, The HSQL Development Group
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* Neither the name of the HSQL Development Group nor the names of its
* contributors may be used to endorse or promote products derived from this
* software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG,
* OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package com.fr.third.org.hsqldb;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import com.fr.third.org.hsqldb.types.TimestampData;
import com.fr.third.org.hsqldb.jdbc.JDBCConnection;
import com.fr.third.org.hsqldb.navigator.RowSetNavigatorClient;
import com.fr.third.org.hsqldb.persist.HsqlProperties;
import com.fr.third.org.hsqldb.result.Result;
import com.fr.third.org.hsqldb.result.ResultLob;
import com.fr.third.org.hsqldb.types.BlobDataID;
import com.fr.third.org.hsqldb.types.ClobDataID;
/**
* Interface to Session and its remote proxy objects. Used by the
* implementations of JDBC interfaces to communicate with the database at
* the session level.
*
* @author Fred Toussi (fredt@users dot sourceforge.net)
* @version 2.2.9
* @since 1.7.2
*/
public interface SessionInterface {
int INFO_ID = 0; // used
int INFO_INTEGER = 1; // used
int INFO_BOOLEAN = 2; // used
int INFO_VARCHAR = 3; // used
int INFO_LIMIT = 4;
//
int INFO_ISOLATION = 0; // used
int INFO_AUTOCOMMIT = 1; // used
int INFO_CONNECTION_READONLY = 2; // used
int INFO_CATALOG = 3; // used
//
int TX_READ_UNCOMMITTED = 1;
int TX_READ_COMMITTED = 2;
int TX_REPEATABLE_READ = 4;
int TX_SERIALIZABLE = 8;
//
int lobStreamBlockSize = 512 * 1024;
Result execute(Result r);
RowSetNavigatorClient getRows(long navigatorId, int offset, int size);
void closeNavigator(long id);
void close();
boolean isClosed();
boolean isReadOnlyDefault();
void setReadOnlyDefault(boolean readonly);
boolean isAutoCommit();
void setAutoCommit(boolean autoCommit);
int getIsolation();
void setIsolationDefault(int level);
void startPhasedTransaction();
void prepareCommit();
void commit(boolean chain);
void rollback(boolean chain);
void rollbackToSavepoint(String name);
void savepoint(String name);
void releaseSavepoint(String name);
void addWarning(HsqlException warning);
Result cancel(Result r);
Object getAttribute(int id);
void setAttribute(int id, Object value);
long getId();
void resetSession();
String getInternalConnectionURL();
BlobDataID createBlob(long length);
ClobDataID createClob(long length);
void allocateResultLob(ResultLob result, InputStream dataInput);
Scanner getScanner();
Calendar getCalendar();
Calendar getCalendarGMT();
SimpleDateFormat getSimpleDateFormatGMT();
TimestampData getCurrentDate();
int getZoneSeconds();
int getStreamBlockSize();
HsqlProperties getClientProperties();
JDBCConnection getJDBCConnection();
void setJDBCConnection(JDBCConnection connection);
String getDatabaseUniqueName();
}