java.lang.AutoCloseable
, java.sql.ResultSet
, java.sql.Wrapper
, AwareVTI
, VTICosting
public class SpaceTable extends VTITemplate implements VTICosting
SELECT * FROM TABLE(SYSCS_DIAG.SPACE_TABLE('MYSCHEMA', 'MYTABLE')) T;If the schema name is not supplied, the default schema is used.
SELECT * FROM TABLE(SYSCS_DIAG.SPACE_TABLE('MYTABLE')) T;
NOTE: Both the schema name and the table name must be any expression that evaluates to a string data type. If you created a schema or table name as a non-delimited identifier, you must present their names in all upper case.
The SpaceTable virtual table can be used to estimate whether space might be saved by compressing a table and its indexes.
The SpaceTable virtual table has the following columns:
To get space information on all schemas and tables, use a query such as
select v.* from SYS.SYSSCHEMAS s, SYS.SYSTABLES t, TABLE(SYSCS_DIAG.SPACE_TABLE(SCHEMANAME, TABLENAME)) v where s.SCHEMAID = t.SCHEMAID;
VTITemplate.ColumnDescriptor
Modifier and Type | Field | Description |
---|---|---|
private static ResultColumnDescriptor[] |
columnInfo |
|
private ConglomInfo[] |
conglomTable |
|
(package private) int |
currentRow |
|
(package private) boolean |
initialized |
|
private static java.sql.ResultSetMetaData |
metadata |
|
private java.lang.String |
schemaName |
|
private SpaceInfo |
spaceInfo |
|
private java.lang.String |
tableName |
|
private TransactionController |
tc |
|
private boolean |
wasNull |
CLOSE_CURSORS_AT_COMMIT, CONCUR_READ_ONLY, CONCUR_UPDATABLE, FETCH_FORWARD, FETCH_REVERSE, FETCH_UNKNOWN, HOLD_CURSORS_OVER_COMMIT, TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE, TYPE_SCROLL_SENSITIVE
defaultEstimatedCost, defaultEstimatedRowCount
Constructor | Description |
---|---|
SpaceTable() |
|
SpaceTable(java.lang.String tableName) |
|
SpaceTable(java.lang.String schemaName,
java.lang.String tableName) |
Modifier and Type | Method | Description |
---|---|---|
void |
close() |
|
private void |
getConglomInfo(LanguageConnectionContext lcc) |
|
double |
getEstimatedCostPerInstantiation(VTIEnvironment vtiEnvironment) |
Get the estimated cost for a single instantiation of a Table Function.
|
double |
getEstimatedRowCount(VTIEnvironment vtiEnvironment) |
Get the estimated row count for a single scan of a Table Function.
|
int |
getInt(int columnNumber) |
|
long |
getLong(int columnNumber) |
|
java.sql.ResultSetMetaData |
getMetaData() |
|
short |
getShort(int columnNumber) |
|
private void |
getSpaceInfo(int index) |
|
java.lang.String |
getString(int columnNumber) |
|
boolean |
next() |
|
boolean |
supportsMultipleInstantiations(VTIEnvironment vtiEnvironment) |
Find out if the ResultSet of the Table Function can be instantiated multiple times.
|
boolean |
wasNull() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
updateObject, updateObject, updateObject, updateObject
absolute, afterLast, beforeFirst, cancelRowUpdates, clearWarnings, deleteRow, findColumn, first, getArray, getArray, getAsciiStream, getAsciiStream, getBigDecimal, getBigDecimal, getBigDecimal, getBigDecimal, getBinaryStream, getBinaryStream, getBlob, getBlob, getBoolean, getBoolean, getByte, getByte, getBytes, getBytes, getCharacterStream, getCharacterStream, getClob, getClob, getConcurrency, getContext, getCursorName, getDate, getDate, getDate, getDate, getDouble, getDouble, getFetchDirection, getFetchSize, getFloat, getFloat, getHoldability, getInt, getLong, getNCharacterStream, getNCharacterStream, getNClob, getNClob, getNString, getNString, getObject, getObject, getObject, getObject, getObject, getObject, getRef, getRef, getReturnTableSignature, getRow, getRowId, getRowId, getShort, getSQLXML, getSQLXML, getStatement, getString, getTime, getTime, getTime, getTime, getTimestamp, getTimestamp, getTimestamp, getTimestamp, getType, getUnicodeStream, getUnicodeStream, getURL, getURL, getWarnings, insertRow, isAfterLast, isBeforeFirst, isClosed, isFirst, isLast, isWrapperFor, last, moveToCurrentRow, moveToInsertRow, notImplemented, previous, refreshRow, relative, rowDeleted, rowInserted, rowUpdated, setContext, setFetchDirection, setFetchSize, unwrap, updateArray, updateArray, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateBigDecimal, updateBigDecimal, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBlob, updateBlob, updateBlob, updateBlob, updateBlob, updateBlob, updateBoolean, updateBoolean, updateByte, updateByte, updateBytes, updateBytes, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateClob, updateClob, updateClob, updateClob, updateClob, updateClob, updateDate, updateDate, updateDouble, updateDouble, updateFloat, updateFloat, updateInt, updateInt, updateLong, updateLong, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNString, updateNString, updateNull, updateNull, updateObject, updateObject, updateObject, updateObject, updateRef, updateRef, updateRow, updateRowId, updateRowId, updateShort, updateShort, updateSQLXML, updateSQLXML, updateString, updateString, updateTime, updateTime, updateTimestamp, updateTimestamp
private ConglomInfo[] conglomTable
boolean initialized
int currentRow
private boolean wasNull
private java.lang.String schemaName
private java.lang.String tableName
private SpaceInfo spaceInfo
private TransactionController tc
private static final ResultColumnDescriptor[] columnInfo
private static final java.sql.ResultSetMetaData metadata
public SpaceTable()
public SpaceTable(java.lang.String schemaName, java.lang.String tableName)
public SpaceTable(java.lang.String tableName)
private void getConglomInfo(LanguageConnectionContext lcc) throws StandardException
StandardException
private void getSpaceInfo(int index) throws StandardException
StandardException
public java.sql.ResultSetMetaData getMetaData()
getMetaData
in interface java.sql.ResultSet
getMetaData
in class VTITemplate
ResultSet.getMetaData()
public boolean next() throws java.sql.SQLException
next
in interface java.sql.ResultSet
java.sql.SQLException
- if no transaction context can be foundResultSet.next()
public void close()
close
in interface java.lang.AutoCloseable
close
in interface java.sql.ResultSet
ResultSet.close()
public java.lang.String getString(int columnNumber)
getString
in interface java.sql.ResultSet
getString
in class VTITemplate
ResultSet.getString(int)
public long getLong(int columnNumber)
getLong
in interface java.sql.ResultSet
getLong
in class VTITemplate
ResultSet.getLong(int)
public short getShort(int columnNumber)
getShort
in interface java.sql.ResultSet
getShort
in class VTITemplate
ResultSet.getShort(int)
public int getInt(int columnNumber)
getInt
in interface java.sql.ResultSet
getInt
in class VTITemplate
ResultSet.getInt(int)
public boolean wasNull()
wasNull
in interface java.sql.ResultSet
wasNull
in class VTITemplate
ResultSet.wasNull()
public double getEstimatedRowCount(VTIEnvironment vtiEnvironment)
VTICosting
getEstimatedRowCount
in interface VTICosting
vtiEnvironment
- The state variable for optimizing the Table Function.VTICosting.getEstimatedRowCount(org.apache.derby.vti.VTIEnvironment)
public double getEstimatedCostPerInstantiation(VTIEnvironment vtiEnvironment)
VTICosting
getEstimatedCostPerInstantiation
in interface VTICosting
vtiEnvironment
- The state variable for optimizing the Table Function.VTICosting.getEstimatedCostPerInstantiation(org.apache.derby.vti.VTIEnvironment)
public boolean supportsMultipleInstantiations(VTIEnvironment vtiEnvironment)
VTICosting
supportsMultipleInstantiations
in interface VTICosting
vtiEnvironment
- The state variable for optimizing the Table Function.VTICosting.supportsMultipleInstantiations(org.apache.derby.vti.VTIEnvironment)
Apache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.