| java.lang.Object com.versant.core.jdbc.metadata.JdbcField com.versant.core.jdbc.metadata.JdbcPolyRefField
JdbcPolyRefField | public class JdbcPolyRefField extends JdbcField (Code) | | A field that is a polymorphic reference to any other PC class (e.g. an
Object or interface reference).
|
Field Summary | |
public JdbcColumn | classIdCol The column used to hold the classId value identifying the class (and
hence table) that is being referenced. | public JdbcColumn[] | cols | public JdbcColumn[] | refCols The columns used to store the classId and the primary key of the
referenced (target) tables. |
Method Summary | |
public void | addMainTableCols(ArrayList a) Flatten all of this fields main table columns to a. | public void | appendInsertColumnList(CharBuf s) Append part of the insert list for us to s (e.g. | public boolean | appendInsertValueList(CharBuf s, State state) Append part of the insert value list for us to s (e.g. | public boolean | appendUpdate(CharBuf s, State state) Append part of an update statement for us to s (e.g col = ?). | public void | appendWhere(CharBuf s, SqlDriver sqlDriver) Append part of a where clause for us to s (e.g cola = ? and colb = ?). | public void | appendWhereIsNull(CharBuf s, SqlDriver sqlDriver) Append part of a is null where clause for us to s (e.g cola is null
and colb is null). | public SqlExp | createClassIdMatchExp(SelectExp root, ClassMetaData target) Create an expression to compare our classIdCol to the correct class-id
value for target. | public void | dump(PrintStream out, String indent) | public OID | getData(ResultSet rs, int firstCol) Get this field from a ResultSet starting at index firstCol. | public void | initMainTableCols() Init the mainTableCols field to all our main table columns. | public void | nameColumns(String tableName, JdbcNameGenerator nameGen) Make sure all of this fields main table columns have names. | public void | processMetaData(JdoField context, JdbcMetaDataBuilder mdb) Complete our meta data except for column names. | public int | setData(PreparedStatement ps, int firstParam, OID oid) Set this field on a PS for inserting or updating a row. | public void | setMainTable(JdbcTable table) Set the table field on all our main table columns. | public int | setQueryParam(PreparedStatement ps, int firstParam, Object value) Set this field on a PreparedStatement. | public ColumnExp | toColumnExp(SelectExp se, boolean joinToSuper) Convert this field into a list of ColumnExp's or null if this is
not possible. | public ColumnExp | toColumnExpForNullLiteralCompare(SelectExp se) Convert this field into a list of ColumnExp's to be compared to
a null literal. | public String | toString() |
addMainTableCols | public void addMainTableCols(ArrayList a)(Code) | | Flatten all of this fields main table columns to a.
|
appendInsertColumnList | public void appendInsertColumnList(CharBuf s)(Code) | | Append part of the insert list for us to s (e.g. cola, colb)).
|
appendInsertValueList | public boolean appendInsertValueList(CharBuf s, State state)(Code) | | Append part of the insert value list for us to s (e.g. ?, ?)). This
must return true if a replacable parameter was not added (e.g.
columns using Oracle LOBs which put in empty_clob() or whatever).
|
appendUpdate | public boolean appendUpdate(CharBuf s, State state)(Code) | | Append part of an update statement for us to s (e.g col = ?).
|
appendWhere | public void appendWhere(CharBuf s, SqlDriver sqlDriver)(Code) | | Append part of a where clause for us to s (e.g cola = ? and colb = ?).
This is used for generating the where clause for changed locking.
|
appendWhereIsNull | public void appendWhereIsNull(CharBuf s, SqlDriver sqlDriver)(Code) | | Append part of a is null where clause for us to s (e.g cola is null
and colb is null).
This is used for generating the where clause for changed locking.
|
createClassIdMatchExp | public SqlExp createClassIdMatchExp(SelectExp root, ClassMetaData target)(Code) | | Create an expression to compare our classIdCol to the correct class-id
value for target.
|
initMainTableCols | public void initMainTableCols()(Code) | | Init the mainTableCols field to all our main table columns.
|
nameColumns | public void nameColumns(String tableName, JdbcNameGenerator nameGen)(Code) | | Make sure all of this fields main table columns have names.
|
setData | public int setData(PreparedStatement ps, int firstParam, OID oid) throws SQLException(Code) | | Set this field on a PS for inserting or updating a row.
Parameters: firstParam - Index of first parameter to set Index of next parameter to be set on ps |
setMainTable | public void setMainTable(JdbcTable table)(Code) | | Set the table field on all our main table columns.
|
setQueryParam | public int setQueryParam(PreparedStatement ps, int firstParam, Object value) throws SQLException(Code) | | Set this field on a PreparedStatement. This is used to set parameters
for queries.
Index of the parameter after the last one we set in ps |
toColumnExp | public ColumnExp toColumnExp(SelectExp se, boolean joinToSuper)(Code) | | Convert this field into a list of ColumnExp's or null if this is
not possible.
|
toColumnExpForNullLiteralCompare | public ColumnExp toColumnExpForNullLiteralCompare(SelectExp se)(Code) | | Convert this field into a list of ColumnExp's to be compared to
a null literal. This should only include non-shared columns i.e.
columns that are updated. If all columns are shared then all should
be included.
|
Methods inherited from com.versant.core.jdbc.metadata.JdbcField | public void addConstraints(ArrayList cons)(Code)(Java Doc) public void addMainTableCols(ArrayList a)(Code)(Java Doc) public void appendInsertColumnList(CharBuf s)(Code)(Java Doc) public boolean appendInsertValueList(CharBuf s, State state)(Code)(Java Doc) public boolean appendUpdate(CharBuf s, State state)(Code)(Java Doc) public void appendWhere(CharBuf s, SqlDriver sqlDriver)(Code)(Java Doc) public void appendWhereIsNull(CharBuf s, SqlDriver sqlDriver)(Code)(Java Doc) public ColumnExp createOwningTableColumnExpList(SelectExp se)(Code)(Java Doc) public void deletePass2Block(DeletePacket graph, int blockStart, int blockEnd, CharBuf s, Connection con, boolean batch) throws SQLException(Code)(Java Doc) public void dump()(Code)(Java Doc) public void dump(PrintStream out, String indent)(Code)(Java Doc) public JdbcColumn findMainTableColumn(String columnName)(Code)(Java Doc) public String getContext()(Code)(Java Doc) public SqlDriver getSqlDriver()(Code)(Java Doc) public void getTables(HashSet tables)(Code)(Java Doc) public int getUseKeyJoin()(Code)(Java Doc) public void initMainTableCols()(Code)(Java Doc) public void initMainTableColsForUpdate()(Code)(Java Doc) public boolean isOracleStyleLOB()(Code)(Java Doc) public RuntimeException mapException(Throwable cause, String message)(Code)(Java Doc) public void nameColumns(String tableName, JdbcNameGenerator nameGen)(Code)(Java Doc) public void nameLinkTableIndexes(JdbcNameGenerator namegen)(Code)(Java Doc) public void persistPass2Block(PersistGraph graph, int blockStart, int blockEnd, CharBuf s, Connection con, boolean batchInserts, boolean batchUpdates) throws SQLException(Code)(Java Doc) public void prepareFetch(FetchSpec spec, FetchOptions options)(Code)(Java Doc) public void setMainTable(JdbcTable table)(Code)(Java Doc) public int setQueryParam(PreparedStatement ps, int firstParam, Object value) throws SQLException(Code)(Java Doc) public ColumnExp toColumnExp(SelectExp se, boolean joinToSuper)(Code)(Java Doc) public ColumnExp toColumnExpForNullLiteralCompare(SelectExp se)(Code)(Java Doc) public SqlExp toContainsKeySqlExp(JdbcJDOQLCompiler comp, SelectExp root, Node args)(Code)(Java Doc) public SqlExp toContainsSqlExp(JdbcJDOQLCompiler comp, SelectExp root, Node args)(Code)(Java Doc) public SqlExp toIsEmptySqlExp(JdbcJDOQLCompiler comp, SelectExp root)(Code)(Java Doc) public String toString()(Code)(Java Doc) public static String toUseJoinString(int useJoin)(Code)(Java Doc)
|
|
|