⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 transactioncontroller.java

📁 derby database source code.good for you.
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
    the qualification in conjunctive normal form (CNF).  Conjunctive normal    form is an "and'd" set of "or'd" Qualifiers.    <P>    For example x = 5 would be represented is pseudo code as:        qualifier_cnf[][] = new Qualifier[1];    qualifier_cnf[0]  = new Qualifier[1];    qualifier_cnr[0][0] = new Qualifer(x = 5)    <P>    For example (x = 5) or (y = 6) would be represented is pseudo code as:    qualifier_cnf[][] = new Qualifier[1];    qualifier_cnf[0]  = new Qualifier[2];    qualifier_cnr[0][0] = new Qualifer(x = 5)    qualifier_cnr[0][1] = new Qualifer(y = 6)    <P>    For example ((x = 5) or (x = 6)) and ((y = 1) or (y = 2)) would be     represented is pseudo code as:    qualifier_cnf[][] = new Qualifier[2];    qualifier_cnf[0]  = new Qualifier[2];    qualifier_cnr[0][0] = new Qualifer(x = 5)    qualifier_cnr[0][1] = new Qualifer(x = 6)    qualifier_cnr[0][0] = new Qualifer(y = 5)    qualifier_cnr[0][1] = new Qualifer(y = 6)    <P>    For each row the CNF qualfier is processed and it is determined whether    or not the row should be returned to the caller.    The following pseudo-code describes how this is done:    <blockquote><pre>    if (qualifier != null)    {        <blockquote><pre>		for (int and_clause; and_clause < qualifier.length; and_clause++)		{            boolean or_qualifies = false;            for (int or_clause; or_clause < qualifier[and_clause].length; or_clause++)            {                <blockquote><pre>                DataValueDescriptor key     =                     qualifier[and_clause][or_clause].getOrderable();                DataValueDescriptor row_col =                     get row column[qualifier[and_clause][or_clause].getColumnId()];                boolean or_qualifies =                 row_col.compare(qualifier[i].getOperator,                <blockquote><pre>                key,                qualifier[i].getOrderedNulls,                qualifier[i].getUnknownRV);                </blockquote></pre>                if (or_qualifies)                {                    break;                }            }            if (!or_qualifies)            {                <blockquote><pre>                don't return this row to the client - proceed to next row;                </blockquote></pre>            }            </blockquote></pre>        }        </blockquote></pre>    }    </blockquote></pre>	@param conglomId The identifier of the conglomerate	to open the scan for.	@param hold If true, this scan will be maintained open over	commits.	@param open_mode         Specifiy flags to control opening of table.                               OPENMODE_FORUPDATE - if set open the table for                             update otherwise open table shared.    @param lock_level        One of (MODE_TABLE, MODE_RECORD).    @param isolation_level   The isolation level to lock the conglomerate at.                             One of (ISOLATION_READ_COMMITTED,                              ISOLATION_REPEATABLE_READ or                              ISOLATION_SERIALIZABLE).	@param scanColumnList A description of which columns to return from     every fetch in the scan.  template, and scanColumnList    work together to describe the row to be returned by the scan - see RowUtil    for description of how these three parameters work together to describe    a "row".	@param startKeyValue  An indexable row which holds a 	(partial) key value which, in combination with the	startSearchOperator, defines the starting position of	the scan.  If null, the starting position of the scan	is the first row of the conglomerate.    The startKeyValue must only reference columns included    in the scanColumnList.		@param startSearchOperator an operator which defines	how the startKeyValue is to be searched for.  If     startSearchOperation is ScanController.GE, the scan starts on	the first row which is greater than or equal to the 	startKeyValue.  If startSearchOperation is ScanController.GT,	the scan starts on the first row whose key is greater than	startKeyValue.  The startSearchOperation parameter is 	ignored if the startKeyValue parameter is null.	@param qualifier A 2 dimensional array encoding a conjunctive normal    form (CNF) datastructure of of qualifiers which, applied	to each key, restrict the rows returned by the scan.  Rows	for which the CNF expression returns false are not	returned by the scan. If null, all rows are returned.    Qualifiers can only reference columns which are included in the    scanColumnList.  The column id that a qualifier returns is the    column id the table, not the column id in the partial row being    returned.    For detailed description of 2-dimensional array passing @see Qualifier	@param stopKeyValue  An indexable row which holds a 	(partial) key value which, in combination with the	stopSearchOperator, defines the ending position of	the scan.  If null, the ending position of the scan	is the last row of the conglomerate.    The stopKeyValue must only reference columns included    in the scanColumnList.		@param stopSearchOperator an operator which defines	how the stopKeyValue is used to determine the scan stopping	position. If stopSearchOperation is ScanController.GE, the scan 	stops just before the first row which is greater than or	equal to the stopKeyValue.  If stopSearchOperation is	ScanController.GT, the scan stops just before the first row whose	key is greater than	startKeyValue.  The stopSearchOperation	parameter is ignored if the stopKeyValue parameter is null. 	@exception StandardException if the scan could not be	opened for some reason.  Throws SQLState.STORE_CONGLOMERATE_DOES_NOT_EXIST    if the conglomId being requested does not exist for some reason (ie.     someone has dropped it).    @see RowUtil    @see ScanController	**/	ScanController openScan(		long                            conglomId,		boolean                         hold,		int                             open_mode,        int                             lock_level,        int                             isolation_level,		FormatableBitSet                scanColumnList,		DataValueDescriptor[]           startKeyValue,		int                             startSearchOperator,		Qualifier                       qualifier[][],		DataValueDescriptor[]           stopKeyValue,		int                             stopSearchOperator)			throws StandardException;    /**     * Open a scan on a conglomerate, optionally providing compiled info.     * <p>     * Same as openScan(), except that one can optionally provide     * "compiled" static_info and/or dynamic_info.  This compiled information     * must have be gotten from getDynamicCompiledConglomInfo() and/or     * getStaticCompiledConglomInfo() calls on the same conglomid being opened.     * It is up to caller that "compiled" information is still valid and     * is appropriately multi-threaded protected.     * <p>     *     * @see TransactionController#openScan     * @see TransactionController#getDynamicCompiledConglomInfo     * @see TransactionController#getStaticCompiledConglomInfo     * @see DynamicCompiledOpenConglomInfo     * @see StaticCompiledOpenConglomInfo     *	 * @return The identifier to be used to open the conglomerate later.     *     * @param open_mode             see openScan()     * @param lock_level            see openScan()     * @param isolation_level       see openScan()     * @param scanColumnList        see openScan()     * @param startKeyValue         see openScan()     * @param startSearchOperator   see openScan()     * @param qualifier             see openScan()     * @param stopKeyValue          see openScan()     * @param stopSearchOperator    see openScan()     * @param static_info       object returned from      *                          getStaticCompiledConglomInfo() call on this id.     * @param dynamic_info      object returned from     *                          getDynamicCompiledConglomInfo() call on this id.     *	 * @exception  StandardException  Standard exception policy.     **/	ScanController openCompiledScan(		boolean                         hold,		int                             open_mode,        int                             lock_level,        int                             isolation_level,		FormatableBitSet                scanColumnList,		DataValueDescriptor[]           startKeyValue,		int                             startSearchOperator,		Qualifier                       qualifier[][],		DataValueDescriptor[]           stopKeyValue,		int                             stopSearchOperator,        StaticCompiledOpenConglomInfo   static_info,        DynamicCompiledOpenConglomInfo  dynamic_info)			throws StandardException;    /**     * Open a scan which gets copies of multiple rows at a time.     * <p>     * All inputs work exactly as in openScan().  The return is      * a GroupFetchScanController, which only allows fetches of groups     * of rows from the conglomerate.     * <p>     *	 * @return The GroupFetchScanController to be used to fetch the rows.     *	 * @param conglomId             see openScan()     * @param open_mode             see openScan()     * @param lock_level            see openScan()     * @param isolation_level       see openScan()     * @param scanColumnList        see openScan()     * @param startKeyValue         see openScan()     * @param startSearchOperator   see openScan()     * @param qualifier             see openScan()     * @param stopKeyValue          see openScan()     * @param stopSearchOperator    see openScan()     *	 * @exception  StandardException  Standard exception policy.     *     * @see ScanController     * @see GroupFetchScanController     **/	GroupFetchScanController openGroupFetchScan(		long                            conglomId,		boolean                         hold,		int                             open_mode,        int                             lock_level,        int                             isolation_level,		FormatableBitSet                         scanColumnList,		DataValueDescriptor[]           startKeyValue,		int                             startSearchOperator,		Qualifier                       qualifier[][],		DataValueDescriptor[]           stopKeyValue,		int                             stopSearchOperator)			throws StandardException;    /**     * Compress table in place.     * <p>     * Returns a GroupFetchScanController which can be used to move rows     * around in a table, creating a block of free pages at the end of the     * table.  The process will move rows from the end of the table toward     * the beginning.  The GroupFetchScanController will return the      * old row location, the new row location, and the actual data of any     * row moved.  Note that this scan only returns moved rows, not an     * entire set of rows, the scan is designed specifically to be     * used by either explicit user call of the SYSCS_ONLINE_COMPRESS_TABLE()     * procedure, or internal background calls to compress the table.     *     * The old and new row locations are returned so that the caller can     * update any indexes necessary.     *     * This scan always returns all collumns of the row.     *      * All inputs work exactly as in openScan().  The return is      * a GroupFetchScanController, which only allows fetches of groups     * of rows from the conglomerate.     * <p>     *	 * @return The GroupFetchScanController to be used to fetch the rows.     *	 * @param conglomId             see openScan()     * @param hold                  see openScan()     * @param open_mode             see openScan()     * @param lock_level            see openScan()     * @param isolation_level       see openScan()     *	 * @exception  StandardException  Standard exception policy.     *     * @see ScanController     * @see GroupFetchScanController     **/	GroupFetchScanController defragmentConglomerate(		long                            conglomId,        boolean                         online,		boolean                         hold,		int                             open_mode,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -