java.lang.Object
org.apache.derby.vti.VTITemplate
org.apache.derby.vti.StringColumnVTI
- All Implemented Interfaces:
AutoCloseable
,ResultSet
,Wrapper
,AwareVTI
This is an abstract table function which assumes that all columns are strings and which coerces the strings to reasonable values for various getXXX() methods. Subclasses must implement the following ResultSet methods:
- next( )
- close()
and the following protected method introduced by this class:
- getRawColumn( int columnNumber )
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.derby.vti.VTITemplate
VTITemplate.ColumnDescriptor
-
Field Summary
Fields inherited from interface java.sql.ResultSet
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
-
Constructor Summary
ConstructorDescriptionStringColumnVTI
(String[] columnNames) Build a StringColumnVTI with the given column names -
Method Summary
Modifier and TypeMethodDescriptionint
findColumn
(String columnName) getAsciiStream
(int columnIndex) getBigDecimal
(int columnIndex) getBinaryStream
(int columnIndex) getBlob
(int columnIndex) boolean
getBoolean
(int columnIndex) byte
getByte
(int columnIndex) byte[]
getBytes
(int columnIndex) getClob
(int columnIndex) int
Get the number of columns.getColumnName
(int columnNumber) Get name of a column (1-based indexing).getDate
(int columnIndex) double
getDouble
(int columnIndex) float
getFloat
(int columnIndex) int
getInt
(int columnIndex) long
getLong
(int columnIndex) short
getShort
(int columnIndex) getString
(int columnIndex) getTime
(int columnIndex) getTimestamp
(int columnIndex) void
setColumnNames
(String[] columnNames) Set the column names for this table function.boolean
wasNull()
Methods inherited from class org.apache.derby.vti.VTITemplate
absolute, afterLast, beforeFirst, cancelRowUpdates, clearWarnings, deleteRow, first, getArray, getArray, getAsciiStream, getBigDecimal, getBigDecimal, getBigDecimal, getBinaryStream, getBlob, getBoolean, getByte, getBytes, getCharacterStream, getCharacterStream, getClob, getConcurrency, getContext, getCursorName, getDate, getDate, getDate, getDouble, getFetchDirection, getFetchSize, getFloat, getHoldability, getInt, getLong, getMetaData, 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, getTimestamp, getTimestamp, getTimestamp, getType, getUnicodeStream, getUnicodeStream, getURL, getURL, getWarnings, insertRow, isAfterLast, isBeforeFirst, isClosed, isFirst, isLast, isWrapperFor, last, moveToCurrentRow, moveToInsertRow, 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
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.sql.ResultSet
close, next, updateObject, updateObject, updateObject, updateObject
-
Constructor Details
-
StringColumnVTI
Build a StringColumnVTI with the given column names
- Parameters:
columnNames
- The names of the VTI's columns
-
-
Method Details
-
setColumnNames
Set the column names for this table function. This is useful for AwareVTIs, which need to figure out their column names after analyzing their execution context. Throws an exception if the column names have already been set.
- Parameters:
columnNames
- The names of the columns to be returned by this VTI- Throws:
SQLException
- on error
-
getColumnCount
public int getColumnCount()Get the number of columns.
- Returns:
- the number of columns in the VTI
-
getColumnName
Get name of a column (1-based indexing).
- Parameters:
columnNumber
- 1-based position of column whose name is needed- Returns:
- the name of the corresponding column
-
wasNull
- Specified by:
wasNull
in interfaceResultSet
- Overrides:
wasNull
in classVTITemplate
- Throws:
SQLException
-
findColumn
- Specified by:
findColumn
in interfaceResultSet
- Overrides:
findColumn
in classVTITemplate
- Throws:
SQLException
-
getString
- Specified by:
getString
in interfaceResultSet
- Overrides:
getString
in classVTITemplate
- Throws:
SQLException
-
getBoolean
- Specified by:
getBoolean
in interfaceResultSet
- Overrides:
getBoolean
in classVTITemplate
- Throws:
SQLException
-
getByte
- Specified by:
getByte
in interfaceResultSet
- Overrides:
getByte
in classVTITemplate
- Throws:
SQLException
-
getShort
- Specified by:
getShort
in interfaceResultSet
- Overrides:
getShort
in classVTITemplate
- Throws:
SQLException
-
getInt
- Specified by:
getInt
in interfaceResultSet
- Overrides:
getInt
in classVTITemplate
- Throws:
SQLException
-
getLong
- Specified by:
getLong
in interfaceResultSet
- Overrides:
getLong
in classVTITemplate
- Throws:
SQLException
-
getFloat
- Specified by:
getFloat
in interfaceResultSet
- Overrides:
getFloat
in classVTITemplate
- Throws:
SQLException
-
getDouble
- Specified by:
getDouble
in interfaceResultSet
- Overrides:
getDouble
in classVTITemplate
- Throws:
SQLException
-
getBigDecimal
- Specified by:
getBigDecimal
in interfaceResultSet
- Overrides:
getBigDecimal
in classVTITemplate
- Throws:
SQLException
-
getBytes
- Specified by:
getBytes
in interfaceResultSet
- Overrides:
getBytes
in classVTITemplate
- Throws:
SQLException
-
getDate
- Specified by:
getDate
in interfaceResultSet
- Overrides:
getDate
in classVTITemplate
- Throws:
SQLException
-
getTime
- Specified by:
getTime
in interfaceResultSet
- Overrides:
getTime
in classVTITemplate
- Throws:
SQLException
-
getTimestamp
- Specified by:
getTimestamp
in interfaceResultSet
- Overrides:
getTimestamp
in classVTITemplate
- Throws:
SQLException
-
getAsciiStream
- Specified by:
getAsciiStream
in interfaceResultSet
- Overrides:
getAsciiStream
in classVTITemplate
- Throws:
SQLException
-
getBinaryStream
- Specified by:
getBinaryStream
in interfaceResultSet
- Overrides:
getBinaryStream
in classVTITemplate
- Throws:
SQLException
-
getBlob
- Specified by:
getBlob
in interfaceResultSet
- Overrides:
getBlob
in classVTITemplate
- Throws:
SQLException
-
getClob
- Specified by:
getClob
in interfaceResultSet
- Overrides:
getClob
in classVTITemplate
- Throws:
SQLException
-