Class Hierarchy    Previous  Next  Index

Class COM.cloudscape.synchronization.RowListVTI

java.lang.Object
    |
    +----COM.cloudscape.vti.VTITemplate
            |
            +----COM.cloudscape.synchronization.RowListVTI

public class RowListVTI
extends VTITemplate
Copyright © 1998-2000, Informix Software, 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 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()
 

Field Detail

 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

Constructor Detail

 o RowListVTI
public RowListVTI(java.lang.String scanID,
                  int transactionNumber,
                  int statementNumber,
                  int nestingLevel,
                  int statementType) throws java.sql.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:
java.sql.SQLException - thrown on error

Method Detail

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

  Class Hierarchy    Previous  Next  Index