PK_ATTRIB_set_no_roll   

PK_ERROR_code_t                  PK_ATTRIB_set_no_roll
(
--- received arguments ---
int                              n_attribs,  --- number of attributes
const PK_ATTRIB_t                attribs[],  --- attributes
const PK_ATTRIB_set_no_roll_o_t *options     --- options
)


This function sets the given attributes to be no-roll attributes.


Specific Errors:
    PK_ERROR_rollback_not_started (MILD) Partitioned rollback is not active
    PK_ERROR_bad_class            (MILD) The 'attdef_class' of an 'attribs'
                                         attribute definition is not
                                         PK_ATTDEF_class_01_c or
                                         PK_ATTDEF_class_06_c
    PK_ERROR_attrib_field_empty   (MILD) one of 'attribs' has an empty field


A no-roll attribute is one such that if you roll to any pmark at which the
attribute exists then the values of the fields of the attribute will not vary
due to that rolling. The application may provide new values for a field of a
no-roll attribute and the latest such provided values will be seen when you
roll to any pmark at which the attribute exists. No-roll attributes have
non-empty fields of fixed length. When an attribute is set to be no-roll then
its fields have their lengths fixed at their present length. A no-roll
attribute retains its no-roll status throughout the current session. The
no-roll status is not a transmitted property of the attribute.

Only attributes whose attribute definition 'attdef_class' is
PK_ATTDEF_class_01_c or PK_ATTDEF_class_06_c can be made no-roll attributes.
Attributes can only be made no-roll attributes if partitioned rollback is
active (see PK_DELTA_register_callbacks).