rem Copyright (c) 1997, 2010, Oracle and/or its affiliates. rem All rights reserved. rem NAME rem driopt.pkb - DR Internal OPTimizer helpers rem DESCRIPTION rem This package contains internal code used during optimization rem rem NOTES rem MODIFIED (MM/DD/YY) rem rpalakod 05/21/10 - Bug 9354204 rem rpalakod 11/28/09 - Bug 9163846 rem surman 11/05/08 - 6703140: Add release_on_commit to rem lock_opt_rebuild rem surman 08/23/06 - 5079472: Add lock_mode to lock_opt_rebuild rem wclin 06/13/06 - add $S optimize support rem surman 05/17/06 - 5079472: Add lock_opt_rebuild rem gkaminag 06/11/02 - non-function locking. rem gkaminag 01/15/02 - parallel optimize. rem gkaminag 09/06/00 - partition support rem gkaminag 08/18/00 - partition support rem gkaminag 08/09/99 - optimization locking rem gkaminag 05/22/98 - new garbage collection rem gkaminag 04/11/97 - creation create or replace package driopt as p_inv_count number; LOCK_WAIT constant number := null; LOCK_NOWAIT constant number := 0; IGNORE_ERRORS constant boolean := TRUE; /*------------------------------ lock_opt --------------------------------*/ procedure lock_opt( cid in number, pid in number, timeout in number ); function lock_opt_ret( cid in number, pid in number, timeout in number ) return number; /*------------------------- lock_opt_rebuild ------------------------------*/ /* Added for bug 5079472 */ procedure lock_opt_rebuild( cid in number, pid in number, lock_mode in number, timeout in number, release_on_commit in boolean default FALSE ); /*------------------------- lock_opt_all_part ----------------------------*/ /* NOTE: gets multiple locks. If fails, it's up to calling procedure to */ /* release any locks it may have gotten */ procedure lock_opt_all_part( cid in number ); /*--------------------------- lock_opt_mvdata ---------------------------*/ /* lock optimize mvdata against commit callback of update_mvdata * releases lock on commit */ procedure lock_opt_mvdata( cid in number, pid in number ); /*----------------------------- unlock_opt ------------------------------*/ procedure unlock_opt( ignore_errors in boolean default false ); /*------------------------- unlock_opt_rebuild ----------------------------*/ /* Added for bug 5079472 */ procedure unlock_opt_rebuild( ignore_errors in boolean default false ); /*------------------------ unlock_opt_all_part ---------------------------*/ procedure unlock_opt_all_part( ignore_errors in boolean default false ); /*---------------------------- start_timer ---------------------------*/ /* NAME start_timer DESCRIPTION start the optimization timer */ procedure start_timer; /*---------------------------- get_timer ------------------------------*/ /* NAME get_timer DESCRIPTION get the amount of minutes since last start_timer call */ function get_timer return number; /*---------------------------- get_state ------------------------------*/ /* NAME get_state DESCRIPTION get the current state of optimization */ procedure get_state( p_idx_id in number , p_ixp_id in number , p_opt_token out varchar2 , p_opt_type out number ); /*---------------------------- set_state ------------------------------*/ /* NAME set_state DESCRIPTION set the new state of optimization for next time */ procedure set_state( p_idx_id in number , p_ixp_id in number , p_opt_token in varchar2 , p_opt_type in number ); /*--------------------------- set_ddl_lock_timeout -------------------------*/ /* set_ddl_lock_timeout parameter for this session */ procedure set_ddl_lock_timeout( p_timeout in number default 1000000 ); /*--------------------------- get_ddl_lock_timeout -------------------------*/ /* get_ddl_lock_timeout parameter for this session */ function get_ddl_lock_timeout return number; end driopt; /