📄 activation.java
字号:
*/ public int getNumSubqueries(); /** * Return the cursor name of this activation. This will differ * from its ResultSet's cursor name if it has been * altered with setCursorName. Thus this always returns the cursor * name of the next execution of this activation. The cursor name * of the current execution must be obtained from the ResultSet. * or this.getResultSet.getCursorName() [with null checking]. * <p> * Statements that do not support cursors will return a null. * <p> * @return The cursor name. */ public String getCursorName(); /** * Return the holdability of this activation. * <p> * @return The holdability of this activation. */ public boolean getResultSetHoldability(); /** * Set current resultset holdability. * * @param resultSetHoldability The new resultset holdability. * * @return Nothing. */ public void setResultSetHoldability(boolean resultSetHoldability); /** * Set the auto-generated keys resultset mode to true for this activation. * * The specific columns for auto-generated keys resultset can be requested by * passing column positions array * * The specific columns for auto-generated keys resultset can be requested by * passing column names array * * Both the parameters would be null if user didn't request specific keys. * Otherwise, the user could request specific columns by passing column positions * or names array but not both. * * @param columnIndexes Request specific columns in auto-generated keys * resultset by passing column positions. null means no specific columns * requested by position * * @param columnNames Request specific columns in auto-generated keys * resultset by passing column names. null means no specific columns * requested by position * * @return Nothing. */ public void setAutoGeneratedKeysResultsetInfo(int[] columnIndexes, String[] columnNames); /** * Returns true if auto-generated keys resultset request was made for this * avtivation. * <p> * @return auto-generated keys resultset mode for this activation. */ public boolean getAutoGeneratedKeysResultsetMode(); /** * Returns the column positions array of columns requested in auto-generated * keys resultset for this avtivation. Returns null if no specific column * requested by positions * <p> * @return column positions array of columns requested. */ public int[] getAutoGeneratedKeysColumnIndexes(); /** * Returns the column names array of columns requested in auto-generated * keys resultset for this avtivation. Returns null if no specific column * requested by names * <p> * @return column names array of columns requested. */ public String[] getAutoGeneratedKeysColumnNames(); /** * Mark the activation as unused. */ public void markUnused(); /** * Is the activation in use? * * @return true/false */ public boolean isInUse(); /** * Tell this activation that the given ResultSet was found to have * the given number of rows. This is used during execution to determine * whether a table has grown or shrunk. If a table's size changes * significantly, the activation may invalidate its PreparedStatement * to force recompilation. * * Note that the association of row counts with ResultSets is kept * in the activation class, not in the activation itself. This * means that this method must be synchronized. * * This method is not required to check the number of rows on each * call. Because of synchronization, this check is likely to be * expensive, so it may only check every hundred calls or so. * * @exception StandardException Thrown on error */ public void informOfRowCount(NoPutResultSet resultSet, long rowCount) throws StandardException; /** * Get the ConglomerateController, if any, that has already * been opened for the heap when scaning for an update or delete. * (Saves opening the ConglomerateController twice.) * * @return The ConglomerateController, if available, to use for the update. */ public ConglomerateController getHeapConglomerateController(); /** * Set the ConglomerateController to be used for an update or delete. * (Saves opening the ConglomerateController twice.) * * @param updateHeapCC The ConglomerateController to reuse for the update or delete. * * @return Nothing. */ public void setHeapConglomerateController(ConglomerateController updateHeapCC); /** * Clear the ConglomerateController to be used for an update or delete. * (Saves opening the ConglomerateController twice.) * * @return Nothing. */ public void clearHeapConglomerateController(); /** * Get the ScanController, if any, that has already * been opened for the index when scaning for an update or delete. * (Saves opening the ScanController twice.) * * @return The ScanController, if available, to use for the update. */ public ScanController getIndexScanController(); /** * Set the ScanController to be used for an update or delete, * when scanning an index that will also be updated * (Saves opening the ScanController twice.) * * @param indexSC The ScanController to reuse for the update or delete. * * @return Nothing. */ public void setIndexScanController(ScanController indexSC); /** * Get the conglomerate number of the index, if any, that has already * been opened for scaning for an update or delete. * (Saves opening the ScanController twice.) * * @return The conglomerate number, if available, to use for the update. */ public long getIndexConglomerateNumber(); /** * Set the conglomerate number of the index to be used for an update or delete, * when scanning an index that will also be updated * (Saves opening the ScanController twice.) * * @param indexConglomerateNumber The conglomerate number of the index to reuse for the update or delete. * * @return Nothing. */ public void setIndexConglomerateNumber(long indexConglomerateNumber); /** * Clear the info for the index to be re-used for update/delete. * (ScanController and conglomerate number.) * * @return Nothing. */ public void clearIndexScanInfo(); /** * Mark the Activation as being for create table. * (NOTE: We can do certain optimizations for * create table that we can't do for other DDL.) * * @return Nothing. */ public void setForCreateTable(); /** * Get whether or not this activation is for * create table. * (NOTE: We can do certain optimizations for * create table that we can't do for other DDL.) * * @return Whether or not this activation is for * create table. */ public boolean getForCreateTable(); /** * Save the TableDescriptor for the target of * DDL so that it can be passed between the * various ConstantActions during execution. * * @return Nothing. */ public void setDDLTableDescriptor(TableDescriptor td); /** * Get the TableDescriptor for the target of * DDL. * * @return The TableDescriptor for the target of * DDL. */ public TableDescriptor getDDLTableDescriptor(); /** * Set the maximum # of rows. (# of rows that can * be returned by a ResultSet. 0 means no limit.) * * @param maxRows Maximum # of rows. (0 means no limit.) * * @return Nothing. */ public void setMaxRows(int maxRows); /** * Get the maximum # of rows. (# of rows that can * be returned by a ResultSet. 0 means no limit.) * * @return Maximum # of rows. (0 means no limit.) */ public int getMaxRows(); /** * Is this Activation for a cursor? * * @return Whether or not this Activation is for a cursor. */ public boolean isCursorActivation(); /** * Save the ResultSet for the target * of an update/delete to a VTI. * * @return Nothing. */ public void setTargetVTI(java.sql.ResultSet targetVTI); /** * Get the ResultSet for the target * of an update/delete to a VTI. * * @return The ResultSet for the target * of an update/delete to a VTI. */ public java.sql.ResultSet getTargetVTI(); public ConstantAction getConstantAction(); //store a reference to the parent table result sets public void setParentResultSet(TemporaryRowHolder rs, String resultSetId); /** * get the reference to parent table ResultSets, that will be needed by the * referential action dependent table scans. */ public Vector getParentResultSet(String resultSetId); //clear the parent resultset hash table; public void clearParentResultSets(); public Hashtable getParentResultSets(); /** * beetle 3865: updateable cursor using index. A way of communication * between cursor activation and update activation. */ public void setForUpdateIndexScan(CursorResultSet forUpdateResultSet); public CursorResultSet getForUpdateIndexScan(); /** Return the set of dynamical created result sets, for procedures. Base implementation returns null, a generated class for a procedure overwrites this with a real implementation. @return null if no dynamic results exists. Otherwise an array of ResultSet arrays, each of length one containing null or a reference to a ResultSet. */ public java.sql.ResultSet[][] getDynamicResults(); /** Return the maximum number of dynamical created result sets from the procedure definition. Base implementation returns 0, a generated class for a procedure overwrites this with a real implementation. */ public int getMaxDynamicResults();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -