public class SqlEngine extends Object implements Engine, MapStore, xyz.cofe.scn.ScnChanged<SqlEngine,Long>, EngineOutput, SetScriptDocument, GetScriptDocument
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
closeResultSet |
protected boolean |
closeStatement |
protected xyz.cofe.sql.QueryExecutor.Concurrency |
concurrency |
protected Connection |
connection
Текущее соединие с БД
|
protected xyz.cofe.sql.ConnectPool |
connectPool |
protected String |
dataSourceName |
protected xyz.cofe.sql.QueryExecutor.ExecMethod |
execMethod |
protected boolean |
fetchGeneratedKeys |
protected boolean |
fetchGenKeysFirst |
protected xyz.cofe.sql.QueryExecutor.Holdability |
holdability |
protected int |
limitRowsFetch |
protected xyz.cofe.sql.QueryExecutor.ResultSetType |
resultSetType |
protected long |
scn |
protected xyz.cofe.scn.ScnChangedSupport<SqlEngine,Long> |
scnChangedSupport |
protected WeakReference<TextDocument> |
scriptDocument |
protected Long |
scriptDocumentId |
| Constructor and Description |
|---|
SqlEngine()
Конструктор по умолчанию
|
SqlEngine(SqlEngine sample)
Конструктор копирования
|
SqlEngine(SqlEngineFactory factory)
Конструктор
|
| Modifier and Type | Method and Description |
|---|---|
void |
addScnChangedEvent(xyz.cofe.scn.ScnChangedEvent<SqlEngine,Long> ev) |
Closeable |
addScnChangedListener(xyz.cofe.scn.ScnChanedListener<SqlEngine,Long> listener) |
Closeable |
addScnChangedListener(xyz.cofe.scn.ScnChanedListener<SqlEngine,Long> listener,
boolean weakLink) |
SqlEngine |
clone() |
SqlEngineFactory |
compareAndSetFactory(SqlEngineFactory cmpVal,
SqlEngineFactory setVal)
Сраванивает и изменяет текущуюю фабрику на указанную
|
protected xyz.cofe.collection.Func0<xyz.cofe.collection.Pair<Object,Throwable>> |
createExecutor(String query)
Создает функцию выполнения SQL запроса
|
protected xyz.cofe.collection.Pair<Object,Throwable> |
executeQuery(String query,
Long scriptDocumentID,
WeakReference<TextDocument> scriptDocument)
Выполняет запрос к БД
|
void |
fireScnChanged(Long old,
Long cur) |
void |
fireScnChangedEvent(xyz.cofe.scn.ScnChangedEvent<SqlEngine,Long> event) |
void |
fireScnChangedEvents() |
xyz.cofe.sql.QueryExecutor.Concurrency |
getConcurrency()
Указывает тип данных в выборке read-only / read-write
|
Connection |
getConnection()
Указывает текущее соединине с БД
|
Connection |
getConnection(boolean autoConnect)
Возвращает текущее соединение
|
xyz.cofe.sql.ConnectPool |
getConnectPool()
Указывает пул соединений
|
String |
getDataSourceName() |
Writer |
getErrorWriter()
Указывает Writer для лога выполения
|
xyz.cofe.sql.QueryExecutor.ExecMethod |
getExecMethod()
Указывает метод выполнения SQL запроса
|
SqlEngineFactory |
getFactory()
Возвращает фабрику SqlEngine
|
boolean |
getFetchGeneratedKeys()
Указывает выбирать Generated keys или нет
|
boolean |
getFetchGenKeysFirst()
Указывает когда выбирать Generated key
|
xyz.cofe.sql.QueryExecutor.Holdability |
getHoldability()
Указывает доступность данных в ResultSet
|
int |
getLimitRowsFetch()
Указывает ограничение кол-ва выбриаемых строк.
|
xyz.cofe.sql.QueryExecutor.ResultSetType |
getResultSetType()
Указывает направление выборки / Изменяемая или нет выборка
|
ConcurrentLinkedQueue<xyz.cofe.scn.ScnChangedEvent<SqlEngine,Long>> |
getScnChangedEventQueue() |
Set<xyz.cofe.scn.ScnChanedListener<SqlEngine,Long>> |
getScnChangedListeners() |
protected xyz.cofe.scn.ScnChangedSupport<SqlEngine,Long> |
getScnChangedSupport() |
TextDocument |
getScriptDocument()
Указывает документ в рамках которого выполняется SQL скрипт
|
long |
getScriptDocumentId()
Указывает документ в рамках которого выполняется SQL скрипт
|
SqlService |
getSqlService() |
Writer |
getWriter()
Указывает Writer для лога выполения
|
boolean |
hasScnChangedListener(xyz.cofe.scn.ScnChanedListener<SqlEngine,Long> listener) |
boolean |
isCloseResultSet()
Закрывать ResultSet после выполнения запроса
|
boolean |
isCloseStatement()
Закрывать Statement после выполнения запроса
|
boolean |
isPrintResultCounters()
Указывает - отображать или нет счетчики производительности
|
boolean |
isTrySharedReconnect()
Указывает пробывать reconnect
|
protected void |
nextscn() |
protected void |
onDataTableCreated(xyz.cofe.data.DataTable dt,
WeakReference<TextDocument> scriptDocument,
Long scriptDocumentId,
Integer dataTableNum)
Вызывается при создании/получении таблицы с данными
|
void |
removeAllScnChangedListeners() |
void |
removeScnChangedListener(xyz.cofe.scn.ScnChanedListener<SqlEngine,Long> listener) |
void |
restore(Map map)
Восстанавливает настройки SqlEngine
|
Long |
scn() |
void |
setCloseResultSet(boolean closeResultSet)
Закрывать ResultSet после выполнения запроса
|
void |
setCloseStatement(boolean closeStatement)
Закрывать Statement после выполнения запроса
|
void |
setConcurrency(xyz.cofe.sql.QueryExecutor.Concurrency concurrency)
Указывает тип данных в выборке read-only / read-write
|
void |
setConnection(Connection conn)
Указывает текущее соединение с БД
|
void |
setConnectPool(xyz.cofe.sql.ConnectPool cp)
Указывает пул соединений
|
void |
setDataSourceName(String dataSourceName) |
void |
setErrorWriter(Writer writer)
Указывает Writer для лога выполения
|
void |
setExecMethod(xyz.cofe.sql.QueryExecutor.ExecMethod execMethod)
Указывает метод выполнения SQL запроса
|
void |
setFactory(SqlEngineFactory ef)
Указывает фабрику SqlEngine
|
void |
setFetchGeneratedKeys(boolean fetchGeneratedKeys)
Указывает выбирать Generated keys или нет
|
void |
setFetchGenKeysFirst(boolean fetchGenKeysFirst)
Указывает когда выбирать Generated key
|
void |
setHoldability(xyz.cofe.sql.QueryExecutor.Holdability holdability)
Указывает доступность данных в ResultSet
|
void |
setLimitRowsFetch(int limitRowsFetch)
Указывает ограничение кол-ва выбриаемых строк.
|
void |
setPrintResultCounters(boolean printResultCounters)
Указывает - отображать или нет счетчики производительности
|
void |
setResultSetType(xyz.cofe.sql.QueryExecutor.ResultSetType resultSetType)
Указывает направление выборки / Изменяемая или нет выборка
|
void |
setScriptDocument(TextDocument textDocument)
Указывает документ в рамках которого выполняется SQL скрипт
|
void |
setScriptDocumentId(Long scriptDocumentId)
Указывает документ в рамках которого выполняется SQL скрипт
|
void |
setTrySharedReconnect(boolean trySharedReconnect)
Указывает пробывать reconnect
|
void |
setWriter(Writer writer)
Указывает Writer для лога выполения
|
void |
store(Map map)
Сохраняет настройки SqlEngine
|
ExecuteMonitor<String> |
submit(String script)
Отправляет скрипт на выполнение
|
protected long scn
protected transient xyz.cofe.scn.ScnChangedSupport<SqlEngine,Long> scnChangedSupport
protected volatile String dataSourceName
protected volatile boolean closeStatement
protected volatile boolean closeResultSet
protected volatile xyz.cofe.sql.QueryExecutor.Concurrency concurrency
protected volatile xyz.cofe.sql.QueryExecutor.Holdability holdability
protected volatile boolean fetchGenKeysFirst
protected volatile xyz.cofe.sql.QueryExecutor.ResultSetType resultSetType
protected volatile boolean fetchGeneratedKeys
protected transient volatile xyz.cofe.sql.ConnectPool connectPool
protected transient Connection connection
protected volatile xyz.cofe.sql.QueryExecutor.ExecMethod execMethod
protected volatile int limitRowsFetch
protected volatile Long scriptDocumentId
protected volatile WeakReference<TextDocument> scriptDocument
public SqlEngine()
public SqlEngine(SqlEngineFactory factory)
factory - фабрика SqlEnginepublic SqlEngine(SqlEngine sample)
sample - образец для копированияpublic SqlEngine clone()
public SqlService getSqlService()
protected void nextscn()
protected xyz.cofe.scn.ScnChangedSupport<SqlEngine,Long> getScnChangedSupport()
public boolean hasScnChangedListener(xyz.cofe.scn.ScnChanedListener<SqlEngine,Long> listener)
public Set<xyz.cofe.scn.ScnChanedListener<SqlEngine,Long>> getScnChangedListeners()
public Closeable addScnChangedListener(xyz.cofe.scn.ScnChanedListener<SqlEngine,Long> listener)
public Closeable addScnChangedListener(xyz.cofe.scn.ScnChanedListener<SqlEngine,Long> listener, boolean weakLink)
public void removeScnChangedListener(xyz.cofe.scn.ScnChanedListener<SqlEngine,Long> listener)
public void removeAllScnChangedListeners()
public void fireScnChangedEvent(xyz.cofe.scn.ScnChangedEvent<SqlEngine,Long> event)
public ConcurrentLinkedQueue<xyz.cofe.scn.ScnChangedEvent<SqlEngine,Long>> getScnChangedEventQueue()
public void fireScnChangedEvents()
public String getDataSourceName()
public void setDataSourceName(String dataSourceName)
public boolean isCloseStatement()
public void setCloseStatement(boolean closeStatement)
closeStatement - true - Закрыватьpublic boolean isCloseResultSet()
public void setCloseResultSet(boolean closeResultSet)
closeResultSet - true - Закрыватьpublic xyz.cofe.sql.QueryExecutor.Concurrency getConcurrency()
public void setConcurrency(xyz.cofe.sql.QueryExecutor.Concurrency concurrency)
concurrency - тип данныхpublic xyz.cofe.sql.QueryExecutor.Holdability getHoldability()
public void setHoldability(xyz.cofe.sql.QueryExecutor.Holdability holdability)
holdability - доступность данныхpublic boolean getFetchGenKeysFirst()
public void setFetchGenKeysFirst(boolean fetchGenKeysFirst)
fetchGenKeysFirst - true - перед ResultSet / false после ResultSetpublic xyz.cofe.sql.QueryExecutor.ResultSetType getResultSetType()
public void setResultSetType(xyz.cofe.sql.QueryExecutor.ResultSetType resultSetType)
resultSetType - тип выборкиpublic boolean getFetchGeneratedKeys()
public void setFetchGeneratedKeys(boolean fetchGeneratedKeys)
fetchGeneratedKeys - true - выбирать generated keyspublic xyz.cofe.sql.ConnectPool getConnectPool()
public void setConnectPool(xyz.cofe.sql.ConnectPool cp)
cp - пул соединенийpublic SqlEngineFactory getFactory()
getFactory in interface Enginepublic void setFactory(SqlEngineFactory ef)
ef - фабрика SqlEnginepublic SqlEngineFactory compareAndSetFactory(SqlEngineFactory cmpVal, SqlEngineFactory setVal)
cmpVal - сравнивоемое значениеsetVal - замещаемое значениеpublic ExecuteMonitor<String> submit(String script)
protected xyz.cofe.collection.Func0<xyz.cofe.collection.Pair<Object,Throwable>> createExecutor(String query)
query - SQL запросpublic Connection getConnection() throws SQLException
SQLExceptionpublic Connection getConnection(boolean autoConnect) throws SQLException
autoConnect - true - выполняет connect если соединение не открытоSQLException - Ошибка соединения с БДpublic void setConnection(Connection conn)
conn - соединение с БДpublic void setWriter(Writer writer)
setWriter in interface EngineOutputwriter - writer для лога выполенияpublic Writer getWriter()
getWriter in interface EngineOutputpublic void setErrorWriter(Writer writer)
setErrorWriter in interface EngineOutputwriter - writer для лога выполенияpublic Writer getErrorWriter()
getErrorWriter in interface EngineOutputpublic boolean isTrySharedReconnect()
public void setTrySharedReconnect(boolean trySharedReconnect)
trySharedReconnect - true - пробывать reconnectpublic xyz.cofe.sql.QueryExecutor.ExecMethod getExecMethod()
public void setExecMethod(xyz.cofe.sql.QueryExecutor.ExecMethod execMethod)
execMethod - метод выполнения SQL запросаpublic int getLimitRowsFetch()
public void setLimitRowsFetch(int limitRowsFetch)
limitRowsFetch - 0 и меньше - без ограниченияprotected xyz.cofe.collection.Pair<Object,Throwable> executeQuery(String query, Long scriptDocumentID, WeakReference<TextDocument> scriptDocument)
query - запросscriptDocumentID - идентификатор документа содержащего запросscriptDocument - ссылка на документ содержащего запросpublic boolean isPrintResultCounters()
public void setPrintResultCounters(boolean printResultCounters)
printResultCounters - true - отображает счетчики производительностиpublic long getScriptDocumentId()
public void setScriptDocumentId(Long scriptDocumentId)
scriptDocumentId - документ (id)public void setScriptDocument(TextDocument textDocument)
setScriptDocument in interface SetScriptDocumenttextDocument - документpublic TextDocument getScriptDocument()
getScriptDocument in interface GetScriptDocumentprotected void onDataTableCreated(xyz.cofe.data.DataTable dt,
WeakReference<TextDocument> scriptDocument,
Long scriptDocumentId,
Integer dataTableNum)
dt - таблицаscriptDocument - документ в рамках которого выполняется SQL скриптscriptDocumentId - документ в рамках которого выполняется SQL скриптdataTableNum - порядковый номер (от 0) таблицыpublic void store(Map map)
Copyright © 2019. All rights reserved.