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