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, wasNullabsolute, 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, updateTimestamppublic 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.StringColumnVTIjava.sql.SQLExceptionprivate java.lang.String deduceGetXXXCaller()
throws java.sql.SQLException
java.sql.SQLExceptionpublic boolean next()
throws java.sql.SQLException
java.sql.SQLExceptionpublic void close()
throws java.sql.SQLException
java.sql.SQLExceptionprivate 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.SQLExceptionprivate 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.