Class Hierarchy Index
Class COM.cloudscape.synchronization.RowListVTI
java.lang.Object
|
+----COM.cloudscape.vti.VTITemplate
|
+----COM.cloudscape.synchronization.RowListVTI
- public class RowListVTI
- extends VTITemplate
Copyright © 1997-1999, Cloudscape, Inc. All rights reserved.
Virtual Table to wrap a row list inside a Replicated Statement. This Virtual Table can be used on
- A row set inside a Replicated INSERT/UPDATE/DELETE Statement
- A parameter signature inside a Replicated CALL workUnit statement
This Virtual Table has the following shape:
COLUMN NAME |
DATATYPE |
DESCRIPTION |
RLV_ROW_NUMBER | int | row number |
RLV_TYPE | varchar(15) |
one of the following: "ARGUMENTS", "STATEMENT LIST", "INSERT ROW", "DELETE ROW", "UPDATE ROW" |
RLV_STMT_LIST | ColumnResultSet | an optional nested statement list |
col1 | dataType1 | optional row data (see below) |
... |
colN | dataTypeN | optional row data (see below) |
The shape of the RowListVTI and its contents depend on what kind of Statement
this row set is inside and on the value of RLV_TYPE.
- If RLV_TYPE is "ARGUMENTS", then the row set describes the arguments to a
WorkUnit. The arguments are named "ARG1", ... "ARGN".
- If RLV_TYPE is "STATEMENT LIST", then there are no optional columns.
Instead, RLV_STMT_LIST is a StatementListVTI listing nested statements
embedded at this point in the row set.
- If the statement is an "INSERT" statement, then RLV_TYPE is "INSERT ROW",
and the optional colummns are ALL the Target columns for this table.
The columns have the names and types of those Target columns.
- If the statement is a "DELETE" statement, then RLV_TYPE is "DELETE ROW",
and the optional columns are just the PRIMARY KEY columns for this table.
These columns have the names and types of those primary key columns.
- If the statement is an 'UPDATE" statement, then the optional columns are,
first, the OLD PRIMARY KEY columns, followed by ALL the Target columns
for this table. The OLD key columns are named RLV_OLD_KEY_keyColumnName.
The subsequent columns take the names of the corresponding Target table columns.
The values of these columns vary from row to row and depend on whether
the table's published restriction forces the row to be inserted, deleted,
or updated at the destination system. RLV_TYPE is set accordingly.
- If RLV_TYPE is "INSERT ROW", then the RLV_OLD_KEY* columns are all null.
The remaining columns are just the inserted column values.
- If RLV_TYPE is "DELETE ROW", then the RLV_OLD_KEY* columns are filled in
with the primary key of the row to be deleted. All the other columns
are null.
- If RLV_TYPE is "UPDATE ROW", then the RLV_OLD_KEY* columns are filled in
with the primary key of the row being updated. The remaining columns are
all null except for the columns being updated. These columns hold the
new values to be poked into the row. The list of these updated columns is
given in the CHANGED_COLUMNS column of the Statement that holds this
row set.
This Virtual Table only appears as a ROW_LIST column in a parent StatementListVTI. The SQL
for creating the ROW_LIST ColumnResultSet looks like the following.
The arguments are ( scanID, transactionNumber, statementNumber, nestingLevel, rowListType ):
SELECT * FROM new COM.cloudscape.synchronization.RowListVTI
( '8000001c-00d0-fd77-3ed8-000a0a0b1900', 3, 50, 0, 0 ) RL
-
CLASS_NAME
-
-
DELETE
-
-
INSERT
-
-
UPDATE
-
-
WORK_UNIT
-
-
RowListVTI(String, int, int, int, int)
- Make a RowListVTI given the tags which identify an open stream
of rows.
-
close()
-
-
getAsciiStream(int)
-
-
getBigDecimal(int, int)
-
-
getBinaryStream(int)
-
-
getBoolean(int)
-
-
getByte(int)
-
-
getBytes(int)
-
-
getDate(int)
-
-
getDouble(int)
-
-
getFloat(int)
-
-
getInt(int)
-
-
getLong(int)
-
-
getMetaData()
-
-
getObject(int)
-
-
getShort(int)
-
-
getString(int)
-
-
getTime(int)
-
-
getTimestamp(int)
-
-
getUnicodeStream(int)
-
-
next()
-
-
wasNull()
-
CLASS_NAME
public static final String CLASS_NAME
INSERT
public static final int INSERT
UPDATE
public static final int UPDATE
DELETE
public static final int DELETE
WORK_UNIT
public static final int WORK_UNIT
RowListVTI
public RowListVTI(String scanID,
int transactionNumber,
int statementNumber,
int nestingLevel,
int statementType) throws SQLException
- Make a RowListVTI given the tags which identify an open stream
of rows.
- Parameters:
- scanID - unique identifier for a stream of transactions/statements/rows
- transactionNumber - transaction that this row list lives in
- statementNumber - statement that this row list lives in
- nestingLevel - nestingLevel of the above statement
- statementType - type of statement: INSERT, UPDATE, DELETE, WORK_UNIT
- Throws: SQLException
- thrown on error
wasNull
public boolean wasNull() throws SQLException
- Throws: SQLException
- thrown on error
- Overrides:
- wasNull in class VTITemplate
next
public boolean next() throws SQLException
- Throws: SQLException
- thrown on error
- Overrides:
- next in class VTITemplate
getMetaData
public ResultSetMetaData getMetaData()
- Overrides:
- getMetaData in class VTITemplate
getInt
public int getInt(int columnIndex) throws SQLException
- Throws: SQLException
- thrown on error
- Overrides:
- getInt in class VTITemplate
getString
public String getString(int columnIndex) throws SQLException
- Throws: SQLException
- thrown on error
- Overrides:
- getString in class VTITemplate
getObject
public Object getObject(int columnIndex) throws SQLException
- Throws: SQLException
- thrown on error
- Overrides:
- getObject in class VTITemplate
close
public void close() throws SQLException
- Throws: SQLException
- thrown on error
- Overrides:
- close in class VTITemplate
getBoolean
public boolean getBoolean(int columnIndex) throws SQLException
- Throws: SQLException
- thrown on error
- Overrides:
- getBoolean in class VTITemplate
getByte
public byte getByte(int columnIndex) throws SQLException
- Throws: SQLException
- thrown on error
- Overrides:
- getByte in class VTITemplate
getShort
public short getShort(int columnIndex) throws SQLException
- Throws: SQLException
- thrown on error
- Overrides:
- getShort in class VTITemplate
getLong
public long getLong(int columnIndex) throws SQLException
- Throws: SQLException
- thrown on error
- Overrides:
- getLong in class VTITemplate
getFloat
public float getFloat(int columnIndex) throws SQLException
- Throws: SQLException
- thrown on error
- Overrides:
- getFloat in class VTITemplate
getDouble
public double getDouble(int columnIndex) throws SQLException
- Throws: SQLException
- thrown on error
- Overrides:
- getDouble in class VTITemplate
getBigDecimal
public BigDecimal getBigDecimal(int columnIndex,
int scale) throws SQLException
- Throws: SQLException
- thrown on error
- Overrides:
- getBigDecimal in class VTITemplate
getBytes
public byte[] getBytes(int columnIndex) throws SQLException
- Throws: SQLException
- thrown on error
- Overrides:
- getBytes in class VTITemplate
getDate
public Date getDate(int columnIndex) throws SQLException
- Throws: SQLException
- thrown on error
- Overrides:
- getDate in class VTITemplate
getTime
public Time getTime(int columnIndex) throws SQLException
- Throws: SQLException
- thrown on error
- Overrides:
- getTime in class VTITemplate
getTimestamp
public Timestamp getTimestamp(int columnIndex) throws SQLException
- Throws: SQLException
- thrown on error
- Overrides:
- getTimestamp in class VTITemplate
getAsciiStream
public InputStream getAsciiStream(int columnIndex) throws SQLException
- Throws: SQLException
- thrown on error
- Overrides:
- getAsciiStream in class VTITemplate
getUnicodeStream
public InputStream getUnicodeStream(int columnIndex) throws SQLException
- Throws: SQLException
- thrown on error
- Overrides:
- getUnicodeStream in class VTITemplate
getBinaryStream
public InputStream getBinaryStream(int columnIndex) throws SQLException
- Throws: SQLException
- thrown on error
- Overrides:
- getBinaryStream in class VTITemplate
Class Hierarchy Index