workflow::flush_cache (private)

 workflow::flush_cache -workflow_id workflow_id

Defined in packages/workflow/tcl/workflow-procs.tcl

Flush all cached data related to the given workflow instance.

Switches:
-workflow_id
(required)

Partial Call Graph (max 5 caller/called nodes):
%3 workflow::case::new workflow::case::new (public) workflow::flush_cache workflow::flush_cache workflow::case::new->workflow::flush_cache workflow::definition_changed_handler workflow::definition_changed_handler (public) workflow::definition_changed_handler->workflow::flush_cache workflow::delete workflow::delete (public) workflow::delete->workflow::flush_cache workflow::edit workflow::edit (public) workflow::edit->workflow::flush_cache workflow::parse_spec workflow::parse_spec (private) workflow::parse_spec->workflow::flush_cache util_memoize_flush util_memoize_flush (public) workflow::flush_cache->util_memoize_flush util_memoize_flush_regexp util_memoize_flush_regexp (public) workflow::flush_cache->util_memoize_flush_regexp workflow::action::flush_cache workflow::action::flush_cache (private) workflow::flush_cache->workflow::action::flush_cache workflow::case::flush_cache workflow::case::flush_cache (private) workflow::flush_cache->workflow::case::flush_cache workflow::role::flush_cache workflow::role::flush_cache (private) workflow::flush_cache->workflow::role::flush_cache

Testcases:
No testcase defined.
Source code:
    # The workflow instance that we are flushing may be in the get_id lookup
    # cache so we have to flush it
    util_memoize_flush_regexp {^workflow::get_id_not_cached}

    # Flush workflow scalar attributes and workflow callbacks
    util_memoize_flush [list workflow::get_not_cached -workflow_id $workflow_id]

    # Delegating flushing of info related to roles, actions, and states
    workflow::role::flush_cache -workflow_id $workflow_id
    workflow::action::flush_cache -workflow_id $workflow_id
    workflow::state::flush_cache -workflow_id $workflow_id

    # Flush all workflow cases from the cache. We are flushing more than needed here
    # but this approach seems easier and faster than looping over a potentially big number
    # of cases mapped to the workflow in the database, only a few of which may actually be
    # cached and need flushing
    workflow::case::flush_cache
Generic XQL file:
packages/workflow/tcl/workflow-procs.xql

PostgreSQL XQL file:
packages/workflow/tcl/workflow-procs-postgresql.xql

Oracle XQL file:
packages/workflow/tcl/workflow-procs-oracle.xql

[ hide source ]
Show another procedure: