public class TableLink extends Table
columns, compareMode, EXTERNAL_TABLE_ENGINE, isHidden, SYSTEM_TABLE, TABLE, TABLE_LINK, TYPE_CACHED, TYPE_MEMORY, VIEW
comment, database, trace
AGGREGATE, COMMENT, CONSTANT, CONSTRAINT, FUNCTION_ALIAS, INDEX, RIGHT, ROLE, SCHEMA, SEQUENCE, SETTING, TABLE_OR_VIEW, TRIGGER, USER, USER_DATATYPE
Constructor and Description |
---|
TableLink(Schema schema,
int id,
String name,
String driver,
String url,
String user,
String password,
String originalSchema,
String originalTable,
boolean emitUpdates,
boolean force) |
Modifier and Type | Method and Description |
---|---|
Index |
addIndex(Session session,
String indexName,
int indexId,
IndexColumn[] cols,
IndexType indexType,
boolean create,
String indexComment)
Create an index for this table
|
void |
addRow(Session session,
Row row)
Add a row to the table and all indexes.
|
boolean |
canDrop()
Check if this table can be dropped.
|
boolean |
canGetRowCount()
Check if the row count can be retrieved quickly.
|
void |
checkRename()
Check if this object can be renamed.
|
void |
checkSupportAlter()
Check if this table supports ALTER TABLE.
|
void |
checkWritingAllowed()
Linked tables don't know if they are readonly.
|
void |
close(Session session)
Close the table object and flush changes.
|
PreparedStatement |
execute(String sql,
ArrayList<Value> params,
boolean reusePrepared)
Execute a SQL statement using the given parameters.
|
String |
getCreateSQL()
Build a SQL statement to re-create this object.
|
Value |
getDefaultValue(Session session,
Column column)
Get or generate a default value for the given column.
|
String |
getDropSQL()
Build a SQL statement to drop this object.
|
ArrayList<Index> |
getIndexes()
Get all indexes for this table.
|
long |
getMaxDataModificationId()
Get the last data modification id.
|
String |
getQualifiedTable() |
long |
getRowCount(Session session)
Get the row count for this table.
|
long |
getRowCountApproximation()
Get the approximated row count for this table.
|
Index |
getScanIndex(Session session)
Get the scan index to iterate through all rows.
|
String |
getTableType()
Get the table type name
|
Index |
getUniqueIndex()
Get any unique index for this table if one exists.
|
boolean |
isDeterministic()
Check if the table is deterministic.
|
boolean |
isLockedExclusively()
Check if this table is locked exclusively.
|
boolean |
isOracle() |
void |
lock(Session session,
boolean exclusive,
boolean force)
Lock the table for the given session.
|
void |
removeChildrenAndResources(Session session)
Remove all dependent objects and free all resources (files, blocks in
files) of this object.
|
void |
removeRow(Session session,
Row row)
Remove a row from the table and all indexes.
|
void |
reusePreparedStatement(PreparedStatement prep,
String sql)
Add this prepared statement to the list of cached statements.
|
void |
setGlobalTemporary(boolean globalTemporary) |
void |
setReadOnly(boolean readOnly) |
void |
truncate(Session session)
Remove all rows from the table and indexes.
|
void |
unlock(Session s)
Release the lock for this session.
|
void |
updateRows(Prepared prepared,
Session session,
RowList rows)
Update a list of rows in this table.
|
void |
validateConvertUpdateSequence(Session session,
Row row)
Convert the values if required.
|
static DbException |
wrapException(String sql,
Exception ex)
Wrap a SQL exception that occurred while accessing a linked table.
|
addConstraint, addDependencies, addSequence, addTrigger, addView, canReference, canTruncate, checkDeadlock, commit, compareTypeSave, doesColumnExist, dropSingleColumnConstraintsAndIndexes, findPrimaryKey, fire, fireAfterRow, fireBeforeRow, fireRow, getBestPlanItem, getCheckForeignKeyConstraints, getChildren, getColumn, getColumn, getColumns, getCompareMode, getConstraints, getCreateSQLForCopy, getIndexForColumn, getOnCommitDrop, getOnCommitTruncate, getPrimaryKey, getRowIdColumn, getTemplateRow, getTemplateSimpleRow, getType, getViews, hasSelectTrigger, isGlobalTemporary, isHidden, isLockedExclusivelyBy, isPersistData, isPersistIndexes, removeConstraint, removeIndex, removeIndexOrTransferOwnership, removeSequence, removeTrigger, removeView, rename, renameColumn, setCheckForeignKeyConstraints, setColumns, setHidden, setOnCommitDrop, setOnCommitTruncate
getSchema, getSQL, initSchemaObjectBase
getComment, getDatabase, getId, getModificationId, getName, initDbObjectBase, invalidate, isTemporary, setComment, setModified, setObjectName, setTemporary, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getComment, getDatabase, getId, getName, isTemporary, setComment, setTemporary
public String getDropSQL()
DbObjectBase
getDropSQL
in interface DbObject
getDropSQL
in class DbObjectBase
public String getCreateSQL()
DbObjectBase
getCreateSQL
in interface DbObject
getCreateSQL
in class DbObjectBase
public Index addIndex(Session session, String indexName, int indexId, IndexColumn[] cols, IndexType indexType, boolean create, String indexComment)
Table
public void lock(Session session, boolean exclusive, boolean force)
Table
public boolean isLockedExclusively()
Table
isLockedExclusively
in class Table
public Index getScanIndex(Session session)
Table
getScanIndex
in class Table
session
- the sessionpublic void removeRow(Session session, Row row)
Table
public void addRow(Session session, Row row)
Table
public void close(Session session)
Table
public long getRowCount(Session session)
Table
getRowCount
in class Table
session
- the sessionpublic static DbException wrapException(String sql, Exception ex)
sql
- the SQL statementex
- the exception from the remote databasepublic String getQualifiedTable()
public PreparedStatement execute(String sql, ArrayList<Value> params, boolean reusePrepared)
sql
- the SQL statementparams
- the parameters or nullreusePrepared
- if the prepared statement can be re-used immediatelypublic void unlock(Session s)
Table
public void checkRename()
DbObjectBase
checkRename
in interface DbObject
checkRename
in class DbObjectBase
public void checkSupportAlter()
Table
checkSupportAlter
in class Table
public void truncate(Session session)
Table
public boolean canGetRowCount()
Table
canGetRowCount
in class Table
public boolean canDrop()
Table
public String getTableType()
Table
getTableType
in class Table
public void removeChildrenAndResources(Session session)
DbObjectBase
removeChildrenAndResources
in interface DbObject
removeChildrenAndResources
in class Table
session
- the sessionpublic boolean isOracle()
public ArrayList<Index> getIndexes()
Table
getIndexes
in class Table
public long getMaxDataModificationId()
Table
getMaxDataModificationId
in class Table
public Index getUniqueIndex()
Table
getUniqueIndex
in class Table
public void updateRows(Prepared prepared, Session session, RowList rows)
Table
updateRows
in class Table
prepared
- the prepared statementsession
- the sessionrows
- a list of row pairs of the form old row, new row, old row,
new row,...public void setGlobalTemporary(boolean globalTemporary)
public void setReadOnly(boolean readOnly)
public long getRowCountApproximation()
Table
getRowCountApproximation
in class Table
public void reusePreparedStatement(PreparedStatement prep, String sql)
prep
- the prepared statementsql
- the SQL statementpublic boolean isDeterministic()
Table
isDeterministic
in class Table
public void checkWritingAllowed()
checkWritingAllowed
in class Table
public void validateConvertUpdateSequence(Session session, Row row)
validateConvertUpdateSequence
in class Table
session
- the sessionrow
- the rowpublic Value getDefaultValue(Session session, Column column)
getDefaultValue
in class Table
session
- the sessioncolumn
- the columnCopyright © 2012 JBoss by Red Hat. All Rights Reserved.