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
  1. A row set inside a Replicated INSERT/UPDATE/DELETE Statement
  2. 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.
  1. If RLV_TYPE is "ARGUMENTS", then the row set describes the arguments to a WorkUnit. The arguments are named "ARG1", ... "ARGN".
  2. 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.
  3. 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.
  4. 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.
  5. 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.
    1. If RLV_TYPE is "INSERT ROW", then the RLV_OLD_KEY* columns are all null. The remaining columns are just the inserted column values.
    2. 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.
    3. 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


Variable Index

 o CLASS_NAME
 o DELETE
 o INSERT
 o UPDATE
 o WORK_UNIT

Constructor Index

 o RowListVTI(String, int, int, int, int)
Make a RowListVTI given the tags which identify an open stream of rows.

Method Index

 o close()
 o getAsciiStream(int)
 o getBigDecimal(int, int)
 o getBinaryStream(int)
 o getBoolean(int)
 o getByte(int)
 o getBytes(int)
 o getDate(int)
 o getDouble(int)
 o getFloat(int)
 o getInt(int)
 o getLong(int)
 o getMetaData()
 o getObject(int)
 o getShort(int)
 o getString(int)
 o getTime(int)
 o getTimestamp(int)
 o getUnicodeStream(int)
 o next()
 o wasNull()

Variables

 o CLASS_NAME
 public static final String CLASS_NAME
 o INSERT
 public static final int INSERT
 o UPDATE
 public static final int UPDATE
 o DELETE
 public static final int DELETE
 o WORK_UNIT
 public static final int WORK_UNIT

Constructors

 o 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

Methods

 o wasNull
 public boolean wasNull() throws SQLException
Throws: SQLException
thrown on error
Overrides:
wasNull in class VTITemplate
 o next
 public boolean next() throws SQLException
Throws: SQLException
thrown on error
Overrides:
next in class VTITemplate
 o getMetaData
 public ResultSetMetaData getMetaData()
Overrides:
getMetaData in class VTITemplate
 o getInt
 public int getInt(int columnIndex) throws SQLException
Throws: SQLException
thrown on error
Overrides:
getInt in class VTITemplate
 o getString
 public String getString(int columnIndex) throws SQLException
Throws: SQLException
thrown on error
Overrides:
getString in class VTITemplate
 o getObject
 public Object getObject(int columnIndex) throws SQLException
Throws: SQLException
thrown on error
Overrides:
getObject in class VTITemplate
 o close
 public void close() throws SQLException
Throws: SQLException
thrown on error
Overrides:
close in class VTITemplate
 o getBoolean
 public boolean getBoolean(int columnIndex) throws SQLException
Throws: SQLException
thrown on error
Overrides:
getBoolean in class VTITemplate
 o getByte
 public byte getByte(int columnIndex) throws SQLException
Throws: SQLException
thrown on error
Overrides:
getByte in class VTITemplate
 o getShort
 public short getShort(int columnIndex) throws SQLException
Throws: SQLException
thrown on error
Overrides:
getShort in class VTITemplate
 o getLong
 public long getLong(int columnIndex) throws SQLException
Throws: SQLException
thrown on error
Overrides:
getLong in class VTITemplate
 o getFloat
 public float getFloat(int columnIndex) throws SQLException
Throws: SQLException
thrown on error
Overrides:
getFloat in class VTITemplate
 o getDouble
 public double getDouble(int columnIndex) throws SQLException
Throws: SQLException
thrown on error
Overrides:
getDouble in class VTITemplate
 o getBigDecimal
 public BigDecimal getBigDecimal(int columnIndex,
                                 int scale) throws SQLException
Throws: SQLException
thrown on error
Overrides:
getBigDecimal in class VTITemplate
 o getBytes
 public byte[] getBytes(int columnIndex) throws SQLException
Throws: SQLException
thrown on error
Overrides:
getBytes in class VTITemplate
 o getDate
 public Date getDate(int columnIndex) throws SQLException
Throws: SQLException
thrown on error
Overrides:
getDate in class VTITemplate
 o getTime
 public Time getTime(int columnIndex) throws SQLException
Throws: SQLException
thrown on error
Overrides:
getTime in class VTITemplate
 o getTimestamp
 public Timestamp getTimestamp(int columnIndex) throws SQLException
Throws: SQLException
thrown on error
Overrides:
getTimestamp in class VTITemplate
 o getAsciiStream
 public InputStream getAsciiStream(int columnIndex) throws SQLException
Throws: SQLException
thrown on error
Overrides:
getAsciiStream in class VTITemplate
 o getUnicodeStream
 public InputStream getUnicodeStream(int columnIndex) throws SQLException
Throws: SQLException
thrown on error
Overrides:
getUnicodeStream in class VTITemplate
 o getBinaryStream
 public InputStream getBinaryStream(int columnIndex) throws SQLException
Throws: SQLException
thrown on error
Overrides:
getBinaryStream in class VTITemplate

  Class Hierarchy        Index