PK_PMARK_goto_o_t   

struct PK_PMARK_goto_o_s
    {
    int                       o_t_version;       --- version number
    PK_LOGICAL_t              want_attrib_mod;   --- return entities modified
                                                 --- indirectly by attributes
                                                 --- (PK_LOGICAL_true)
    PK_PMARK_goto_attrib_cb_f_t
                              del_attrib_cb;     --- deleted attribute callback
                                                 --- (NULL)
    PK_POINTER_t              del_context;       --- context for callback
                                                 --- (NULL)
    PK_ATTDEF_array_t         del_attdefs;       --- definitions of deleted
                                                 --- attributes (NULL, 0)
    PK_LOGICAL_t              want_new_entities; --- return new entities
                                                 --- (PK_LOGICAL_true)
    PK_LOGICAL_t              want_mod_entities; --- return mod entities
                                                 --- (PK_LOGICAL_true)
    PK_LOGICAL_t              want_del_entities; --- return del entities
                                                 --- (PK_LOGICAL_true)
    PK_LOGICAL_t              want_logged_mod;   --- return entities modified
                                                 --- by logged changes only
                                                 --- (PK_LOGICAL_false)
    PK_CLASS_array_t          new_entities_classes;
                                                 --- classes of returned new
                                                 --- entities (NULL, 0)
    PK_CLASS_array_t          mod_entities_classes;
                                                 --- classes of returned mod
                                                 --- entities (NULL, 0)
    PK_CLASS_array_t          del_entities_classes;
                                                 --- classes of returned del
                                                 --- entities (NULL, 0)
    PK_PMARK_t                original_pmark;    --- pmark from clone span
                                                 --- (PK_PMARK_null)
    PK_ATTRIB_no_roll_diff_t  no_roll_diff;      --- whether to report changed
                                                 --- no-roll attributes
                                         --- (PK_ATTRIB_no_roll_diff_ignore_c )
    };
typedef struct PK_PMARK_goto_o_s PK_PMARK_goto_o_t;



This structure contains optional arguments for PK_PMARK_goto_2.

Used in:

PK_PMARK_goto_2


Description of fields:


'want_attrib_mod'   Controls the type of modifications that are reported in the
                    return argument 'mod_entities' array. If an entity is only
                    indirectly modified by changes to attributes, it will only
                    be reported if this option is set to PK_LOGICAL_true.
                    If an entity is modified in more than one pmark during the
                    roll operation, it will be reported if any individual
                    modification is satisfied. The default is PK_LOGICAL_true.

                    If you want to use 'mod_entities' to track changes in a
                    model, we recommend that you leave 'want_attrib_mod' at
                    its default of PK_LOGICAL_true. Setting it to
                    PK_LOGICAL_false can suppress entities that have also been
                    modified by modelling changes.


'del_attrib_cb'     If this option is non-null, the specified function will be
                    called for each attribute of matching definitions if it is
                    about to be deleted during rollback. The callback should
                    only be used for read-only operations on the attribute.
                    The default is NULL.


'del_context'       Any additional information to be passed to 'del_attrib_cb'.


'del_attdefs'       Array of attribute definitions. Only pass attributes with
                    matching definitions to the callback 'del_attrib_cb'. If
                    the array is empty, all attributes are passed, regardless
                    of definition. The default is an empty array.


'want_new_entities' Whether to return an array of created entities instead
                    of NULL. The default is PK_LOGICAL_true.


'want_mod_entities' Whether to return an array of modified entities instead
                    of NULL. The default is PK_LOGICAL_true.


'want_del_entities' Whether to return an array of deleted entities instead
                    of NULL. The default is PK_LOGICAL_true.


'want_logged_mod'   Controls the type of modifications that are reported in the
                    return argument 'mod_entities' array. If this option is set
                    to PK_LOGICAL_true, only those entities that have been
                    modified by a modelling change will be reported. If an
                    entity is modified in more than one pmark during the roll
                    operation, it will be reported if any individual
                    modification was a modelling change. The default is
                    PK_LOGICAL_false.


'new_entities_classes'
                    If not empty, restrict the returned new entities to
                    those matching the classes in this array.
                    The default is an empty array.


'mod_entities_classes'
                    If not empty, restrict the returned modified entities to
                    those matching the classes in this array.
                    The default is an empty array.


'del_entities_classes'
                    If not empty, restrict the returned deleted entities to
                    those matching the classes in this array.
                    The default is an empty array.


'original_pmark'    If this is not PK_PMARK_null, the application is
                    declaring that the pmark it is rolling to is the clone
                    pmark of this 'original_pmark' from a clone span.
                    If the pmark to which the application is rolling is in the
                    clone span then 'original_pmark' and the 'pmark' passed
                    into PK_PMARK_goto_2 are the same.


'no_roll_diff'      This indicates the action required if a no-roll attribute
                    has any field values changed as a result of rolling over
                    a delta created when the attribute was not a no-roll
                    attribute. See documentation of PK_ATTRIB_no_roll_diff_t.


For the options 'new_entities_classes', 'mod_entities_classes' and
'del_entities_classes', the arrays are allowed to contain PK_CLASS_entity
and any of its subclasses, except PK_CLASS_attdef. If any superclasses are
specified in an array then their subclasses must not also be specified.