public class StringArrayVTI
extends org.apache.derby.vti.StringColumnVTI
This is a concrete VTI which is prepopulated with rows which are just arrays of string columns.
Modifier and Type | Class and Description |
---|---|
static class |
StringArrayVTI.ConstructorException |
static class |
StringArrayVTI.GoodVTICosting |
static class |
StringArrayVTI.MissingConstructor |
static class |
StringArrayVTI.ZeroArgConstructorNotPublic |
Modifier and Type | Field and Description |
---|---|
private static java.lang.StringBuffer |
_callers |
private int |
_rowIdx |
private java.lang.String[][] |
_rows |
private static java.lang.String[] |
EXPECTED_STACK |
static double |
FAKE_INSTANTIATION_COST |
static double |
FAKE_ROW_COUNT |
Constructor and Description |
---|
StringArrayVTI(java.lang.String[] columnNames,
java.lang.String[][] rows) |
Modifier and Type | Method and Description |
---|---|
private java.sql.SQLException |
badStack(java.lang.String[] expected,
java.lang.String[] actual)
Complain that we don't like the stack.
|
void |
close() |
private java.lang.String |
deduceGetXXXCaller() |
private int |
findIndex(java.lang.String expectedMethod,
java.lang.String[] actualMethodNames)
Look for a method name on a stack and return its location as an
index into the stack.
|
protected java.lang.String |
getRawColumn(int columnNumber) |
static java.lang.String |
getXXXrecord()
This SQL function returns the list of getXXX() calls made to the last
StringArrayVTI.
|
private java.lang.String |
locateGetXXXCaller(java.lang.StackTraceElement[] stack)
Find the getXXX() method above us on the stack.
|
boolean |
next() |
private java.lang.String[] |
squeezeMethodNames(java.lang.StackTraceElement[] stack)
Extract the names of methods on a stack.
|
private java.lang.String |
stringify(java.lang.Object[] raw)
Turn an array into a printable String.
|
findColumn, getAsciiStream, getBigDecimal, getBinaryStream, getBlob, getBoolean, getByte, getBytes, getClob, getColumnCount, getColumnName, getDate, getDouble, getFloat, getInt, getLong, getShort, getString, getTime, getTimestamp, setColumnNames, wasNull
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, 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
public static final double FAKE_ROW_COUNT
public static final double FAKE_INSTANTIATION_COST
private static final java.lang.String[] EXPECTED_STACK
private int _rowIdx
private java.lang.String[][] _rows
private static java.lang.StringBuffer _callers
public StringArrayVTI(java.lang.String[] columnNames, java.lang.String[][] rows)
public static java.lang.String getXXXrecord()
This SQL function returns the list of getXXX() calls made to the last StringArrayVTI.
protected java.lang.String getRawColumn(int columnNumber) throws java.sql.SQLException
getRawColumn
in class org.apache.derby.vti.StringColumnVTI
java.sql.SQLException
private java.lang.String deduceGetXXXCaller() throws java.sql.SQLException
java.sql.SQLException
public boolean next() throws java.sql.SQLException
java.sql.SQLException
public void close() throws java.sql.SQLException
java.sql.SQLException
private java.lang.String locateGetXXXCaller(java.lang.StackTraceElement[] stack) throws java.sql.SQLException
Find the getXXX() method above us on the stack. The stack looks like this:
java.sql.SQLException
private java.sql.SQLException badStack(java.lang.String[] expected, java.lang.String[] actual)
Complain that we don't like the stack.
private int findIndex(java.lang.String expectedMethod, java.lang.String[] actualMethodNames)
Look for a method name on a stack and return its location as an index into the stack. Returns -1 if the expected name is not found.
private java.lang.String[] squeezeMethodNames(java.lang.StackTraceElement[] stack)
Extract the names of methods on a stack.
private java.lang.String stringify(java.lang.Object[] raw)
Turn an array into a printable String.
Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.