The Repository Model

The schema of the model and audit trail database is your basis for manifold operations including performing controlling and reporting tasks or writing embedding applications. The tables defined in the audit trail database comprise both tables storing audit trail data as well as tables storing model information.

The Tables

A suffix _DEFINITION always identifies tables designed for model information whereas the suffix/infix _INSTANCE or _INST always marks the audit trail specific tables. All tables have OIDs as the primary key. In the case of model elements it is a 64 bit identifier having the high 32 bits identifying the model and the low 32 bits identifying the element within the model context. An OID is always unique within the element scope. An OID for runtime elements on the contrary is like a counter, starting at 1 in each table. Timestamp format uses the number of ms (milliseconds) elapsed starting from 1.1.1970. Note that Infinity Process Platform stores data as long values in the audit trail. The following sections provide tables with the corresponding columns forming the Infinity Process Platform repository model.

ACT_INST_HISTORY TABLE

This table stores audit trail data on instantiated activities and records worklist association intervals.

Column Name Data Type Length Column Description
PROCESSINSTANCE LONG   Foreign key into process_instance.
ACTIVITYINSTANCE LONG   Foreign key into activity_instance.
STATE INT   The state the AI was in between fromTimestamp and untilTimestamp. Domain is the ActivityInstanceState enumeration.
FROMTIMESTAMP LONG   The point in time the AI entered this state.
UNTILTIMESTAMP LONG   The point in time the AI entered the follow up state. May be 0 if the current state is no terminal state.
DOMAIN LONG   Included for further use. See field domain in table workitem.
PERFORMERKIND INT   Type discriminator for the performer field. Domain is the PerformerType enumeration.
PERFORMER LONG   Designates the worklist the AI was associated with. Foreign key into the workflowuser, participant or user_goup table, depending on the value of performerKind.
DEPARTMENT LONG   OID of the department; may be null/0 for organizations (organization with null scope).
ONBEHALFOFKIND INT   Type discriminator for the onBehalfOf field. Domain is the PerformerType enumeration.
ONBEHALFOF LONG   Designates the predecessor non-user worklist the AI was associated with. Foreign key into the workflowuser, participant or user_goup table, depending on the value of onBehalfOfKind.
ONBEHALFOFDEPARTMENT LONG   OID of the department; may be null/0 for organizations (organization with null scope).
ONBEHALFOFUSER LONG   OID of the user the activity was executed on behalf of.
WORKFLOWUSER LONG   Designates the user causing the AI to enter this state. Foreign key into the workflowuser table.

ACT_INST_PROPERTY TABLE

This table stores activity instance dynamic properties.

Column Name Data Type Length Column Description
OID NUMBER   OID of the property, unique within the audit trail
OBJECTOID NUMBER   OID of the activity instance, foreign key to ACTIVITY_INSTANCE table
NAME VARCHAR2 300 Property name
TYPE_KEY INTEGER   Type of the data value, which can be (0) for BOOLEAN, (1) for CHAR, (2) for BYTE, (3) for SHORT, (4) for INTEGER, (5) for LONG, (6) for FLOAT, (7) for DOUBLE, (8) for STRING, (9) for DATE, (10) for MONEY, (11) for BIG_STRING (stored in the overflow table STRING_DATA), (12) for SERIALIZABLE, (13) for BIG_SERIALIZABLE (stored in the overflow table STRING_DATA), (14) for PERIOD
NUMBER_VALUE NUMBER   Stores data values with TYPE_KEY 0, 2, 3, 4, 5 or 9
STRING_VALUE VARCHAR2 128 Stores data values with TYPE_KEY 1, 6, 7, 8, 10, 12 or 14
LASTMODIFICATIONTIME LONG Time stamp marking the most recent execution of the activity.
WORKFLOWUSER LONG user who changed or created property.

ACTIVITY TABLE

This table stores information on all activity definitions available in the model.

Column Name Data Type Length Column Description
OID NUMBER   Activity's OID unique within the model
MODEL NUMBER OID of the model which the activity belongs to, foreign key for table MODEL.
ID VARCHAR2 50 Activity's ID unique within the process
NAME VARCHAR2 100 Activity's name in process definition
PROCESSDEFINITION NUMBER   Process definition OID, foreign key for table PROCESS_DEFINITION
DESCRIPTION VARCHAR2 4000 Activity's description in process definition

ACTIVITY_INST_LOG TABLE

This table stores logging information for activity instances if the process warehouse is active.

Column Name Data Type Length Column Description
OID NUMBER   OID of the log instance
TYPE INTEGER   Type of the log, can be (0) for creation, (1) for activation, (2) if suspended, (3) for completion, (4) for interruption and (5) for abortion
STAMP NUMBER   Time stamp marking the creation of the log instance
MODEL NUMBER   OID of the model which the activity instance belongs to, foreign key for table MODEL.
PARTICIPANT NUMBER   OID of the participant element in the model, reference to the role or organization element in the model.
WORKFLOWUSER NUMBER   OID of the workflow participant who performed the activity, foreign key for table WORKFLOWUSER
ACTIVITYINSTANCE NUMBER   Activity instance OID, foreign key for table ACTIVITY_INSTANCE

ACTIVITY_INSTANCE TABLE

This table stores audit trail data on instantiated activities.

Column Name Data Type Length Column Description
OID NUMBER   Activity instance OID
STATE INTEGER   State of the activity instance, can be (0) created, (1) waiting to be processed by an application, (2) completed, (4) interrupted because of an exception, (5) suspended to a user worklist, (6) aborted and (7) hibernated waiting for an awakening event
STARTTIME NUMBER   Time stamp marking the creation of the activity instance
LASTMODIFICATIONTIME NUMBER   Time stamp marking the most recent execution of the activity
MODEL NUMBER OID of the model which the activity instance belongs to, foreign key for table MODEL.
ACTIVITY NUMBER   Activity definition OID, foreign key for table ACTIVITY
CURRENTPERFORMER NUMBER   Role OID, foreign key for table USER_ROLE or USER_ORGANISATION - can be joined to ROLEOID and ORGANISATIONOID in the respective table.
CURRENTUSERPERFORMER NUMBER   OID of the workflow participant to perform the activity, foreign key for table WORKFLOWUSER
PERFORMEDBY NUMBER   OID of the workflow participant who performed the activity, foreign key for table WORKFLOWUSER
CURRENTDEPARTMENT NUMBER   OID of the department of CURRENTPERFORMER, foreign key for table DEPARTMENT
PROCESSINSTANCE NUMBER   OID of the process instance which contains the activity instance, foreign key for table PROCESS_INSTANCE
PROPERTIESAVAILABLE INTEGER   Lookup to optimize access to properties of activity instance. If 1, activity instance properties exist, otherwise no lookup in ACT_INST_PROPERTY TABLE table is necessary.
BENCHMARKVALUE NUMBER   Integer value for the benchmark of the activity instance. Categories are ordinal values in the database that increment from left-to-right. the value is initialized with 0 and stays 0, if no category matches. It means, in case:
  • Category evaluation fails, then -1 index value is stored in the database
  • Category is evaluated, then 1 index value is stored in the database
  • Category is not defined, then 0 index value is stored in the database
CRITICALITY NUMBER   Holds the criticality value for an activity instance.

ACTIVITY_INSTANCE_LCK TABLE

This is the locking table for table ACTIVITY_INSTANCE.

Column Name Data Type Length Column Description
OID NUMBER   Activity instance OID

CLOB_DATA TABLE

This table stores arbitrary string values, e.g. XML representations of structured data values.

Column Name Data Type Length Column Description
OID NUMBER   OID of the data string, unique within the audit trail
OWNERID NUMBER   OID of the referencing object
OWNERTYPE VARCHAR(32)   type of the referencing object
STRINGVALUE   stored string value

DAEMON_LOG TABLE

This table stores the log entries in the audit trail written by daemons.

Column Name Data Type Length Column Description
OID NUMBER   Daemon log's OID, unique within a model
TYPE VARCHAR2 100 Daemon type
CODE INTEGER   Type of the timestamp
  • 0 for daemon start time
  • 1 for daemon last execution time
STAMP NUMBER   Time stamp marking the start of a currently running daemon
STATE INTEGER   Depending on the value in the code column, it can be:
  • acknowledgment status for starting daemons (code = 0):
    • 0: ok
    • 1: requested
    • 2: failure
  • daemon execution state for running daemons (code = 1):
    • 0: ok
    • 1: warnings
    • 4: fatal errors
PARTITION SHORT   Foreign key for table PARTITION, designating the partition the model is part of.

Section Analyzing DAEMON_LOG Table Entries describes how to read and interprete the entries in this table.

DAEMON_LOG_LCK TABLE

This table is the locking table for table DAEMON_LOG.

Column Name Data Type Length Column Description
OID NUMBER   Daemon Log OID

DATA TABLE

This table stores information on the data definitions available in the model.

Column Name Data Type Length Column Description
OID NUMBER   Data value's OID, unique within a model
MODEL NUMBER   OID of the model which the data definition belongs to , foreign key for table MODEL.
ID VARCHAR2 50 Data definition's ID as modeled in the Infinity Process Workbench.
NAME VARCHAR2 100 Data definition's name.
DESCRIPTION VARCHAR2 4000 Data definition's description.

DATA_VALUE TABLE

This table stores all values of the workflow data manipulated during process execution.

Column Name Data Type Length Column Description
OID NUMBER   Data value's OID, unique within a model
MODEL LONG OID of the model which the data value belongs to, foreign key for table MODEL.
DATA NUMBER   OID of the data element in the model, reference to the DATA element in the model.
STRING_VALUE VARCHAR2 128 Stores data values with TYPE_KEY 1, 6, 7, 8, 10, 12 or 14
NUMBER_VALUE NUMBER   Stores data values with TYPE_KEY 0, 2, 3, 4, 5 or 9
DOUBLE_VALUE DOUBLE This column is used for ordering by numeric values. It stores data values if the numeric value which is stored in column STRING_VALUE exceeds the value range defined by method
Pair<E, E> DbDescriptor.getNumericSQLTypeValueBorders(Class<E>)
which returns the minimum value in Pair.getFirst() and the maximum value in Pair.getSecond(). In that case this minimum or maximum value is stored in the column.
TYPE_KEY INTEGER   Type of the data value, which can be (-1) for NULL, (0) for BOOLEAN, (1) for CHAR, (2) for BYTE, (3) for SHORT, (4) for INTEGER, (5) for LONG, (6) for FLOAT, (7) for DOUBLE, (8) for STRING, (9) for DATE, (10) for MONEY, (11) for BIG_STRING (stored in the overflow table STRING_DATA), (12) for SERIALIZABLE, (13) for BIG_SERIALIZABLE (stored in the overflow table STRING_DATA), (14) for PERIOD
PROCESSINSTANCE NUMBER   OID of the process instance which uses the data instance, foreign key for table PROCESS_INSTANCE

DATA_VALUE_HISTORY TABLE

This table stores all historical values of the workflow data manipulated during process execution.

Column Name Data Type Length Column Description
OID NUMBER   Data value OID, unique within a model
MODEL LONG OID of the model which the historical data value belongs to, foreign key for table MODEL.
DATA NUMBER   OID of the data element in the model, reference to the DATA element in the model.
STRING_VALUE VARCHAR2 128 Stores data values with TYPE_KEY 1, 6, 7, 8, 10, 12 or 14
NUMBER_VALUE NUMBER   Stores data values with TYPE_KEY 0, 2, 3, 4, 5 or 9
DOUBLE_VALUE DOUBLE This column is used for ordering by numeric values. It stores data values if the numeric value which is stored in column STRING_VALUE exceeds the value range defined by method
Pair<E, E> DbDescriptor.getNumericSQLTypeValueBorders(Class<E>)
which returns the minimum value in Pair.getFirst() and the maximum value in Pair.getSecond(). In that case this minimum or maximum value is stored in the column.
TYPE_KEY INTEGER   Type of the data value, which can be (-1) for NULL, (0) for BOOLEAN, (1) for CHAR, (2) for BYTE, (3) for SHORT, (4) for INTEGER, (5) for LONG, (6) for FLOAT, (7) for DOUBLE, (8) for STRING, (9) for DATE, (10) for MONEY, (11) for BIG_STRING (stored in the overflow table STRING_DATA), (12) for SERIALIZABLE, (13) for BIG_SERIALIZABLE (stored in the overflow table STRING_DATA), (14) for PERIOD
PROCESSINSTANCE LONG   OID of the process instance which uses the historical data instance, foreign key for table PROCESS_INSTANCE
MODIFICATION_TIMESTAMP LONG   Time stamp, when the historical data value was last modified
MODIFICATION_USER LONG   User who last modified the historical data value
MODIFICATION_AI_INSTANCE LONG   OID of the activity instance which modified the historical data value

DATA_VALUE_HISTORY_LCK TABLE

This is the locking table for the DATA_VALUE_HISTORY table.

Column Name Data Type Length Column Description
OID NUMBER   Historical data value's OID, unique within a model

DATA_VALUE_LCK TABLE

This is the locking table for the DATA_VALUE table.

Column Name Data Type Length Column Description
OID NUMBER   Data value's OID, unique within a model

DEPARTMENT TABLE

Column Name Data Type Length Column Description
OID LONG   OID of the department. Is created automatically on department creation. Unique even over different partitions.
ID STRING 50 ID of the department; unique together with column parentDepartment.
NAME STRING 150 Name of the department.
DESCRIPTION STRING 4000 Description for the department.
ORGANIZATION LONG   Runtime OID of the assigned organization; RT OID for organizations is identical for organizations with same ID even in different model versions.
PARENTDEPARTMENT LONG   OID of the parent department, may be null/0 if top level.
PARTITION LONG   OID of the partition; partition is selected during login.

DEPARTMENT_HIERARCHY TABLE

Column Name Data Type Length Column Description
SUPERDEPARTMENT LONG   OID of the department.
SUBDEPARTMENT LONG   OID of sub department.

DOMAIN TABLE

Column Name Data Type Length Column Description
OID LONG   Primary Key, generated from sequence domain_seq.
ID VARCHAR 50 Must be unique for all domains of the runtime environment.
DESCRIPTION VARCHAR 4000 Description for the domain.
PARTITION SHORT   Foreign key for table PARTITION, designating the partition the domain is part of.
SUPERDOMAIN LONG   Foreign key for table DOMAIN, designates the immediate parent domain. Super domains must be part of the same partition. A value of NULL designates the partitions default domain.

DOMAIN_HIERARCHY TABLE

This table stores information on the full ancestry of any domain.

Column Name Data Type Length Column Description
OID LONG   Primary Key, generated from sequence domain_hierarchy_seq.
SUPERDOMAIN LONG   Foreign key for table DOMAIN, designating an ancestry domain. Domains are considered being ancestry domains for themselves.
SUBDOMAIN LONG   Foreign key for table DOMAIN, designating a child domain.

EVENT_BINDING TABLE

This table stores event binding information for bindable events.

Column Name Data Type Length Column Description
OID NUMBER   OID of the binding, unique within the audit trail
OBJECTOID NUMBER   OID of the runtime instance, foreign key to ACTIVITY_INSTANCE or PROCESS_INSTANCE table depending on the TYPE
TYPE INTEGER   Type of the event handler, (1) for activity instance event handlers, (2) for process instance event handlers
MODEL LONG OID of the model which the data definition belongs to , foreign key for table MODEL.
HANDLEROID VARCHAR2 300 Event handler id
BINDSTAMP NUMBER   Time stamp when the binding was performed
TARGETSTAMP NUMBER   Time stamp when the event should fire
PARTITION SHORT reference to entry in partition table.

EVENT_HANDLER TABLE

Column Name Data Type Length Column Description
OID LONG   Primary key
MODEL LONG   Name of event handler.
ID VARCHAR 50 Id of event handler, needs to be unique, primary key
NAME VARCHAR 100 Name of event handler.
PROCESSDEFINITION LONG   Process definition OID, foreign key for table PROCESS_DEFINITION.
ACTIVITY LONG   Activity OID, foreign key for table ACTIVITY.

LOG_ENTRY TABLE

This table stores the contents of all log entries in the audit trail written by the engine.

Column Name Data Type Length Column Description
OID NUMBER   Log entry's OID, unique within the model
TYPE INTEGER   Type of log, (1) for debug, (3) for info, (5) for warnings, (7) for errors and (9) for fatal events
CODE INTEGER   Server scope, (1) for process warehouse, (2) for security, (3) for the engine, (4) for recovery, (5) for daemons and (6) for events
SUBJECT VARCHAR2 300 Subject of the log entry in string form
STAMP NUMBER   Time stamp, when the entry has been written
PROCESSINSTANCE NUMBER   OID of the process instance which the log entry refers to, foreign key for table PROCESS_INSTANCES
ACTIVITYINSTANCE NUMBER   OID of the activity instance which the log entry refers to, foreign key for table ACTIVITY_INSTANCE
WORKFLOWUSER NUMBER   OID of the workflow participant who performed the activity, foreign key for table WORKFLOWUSER
PARTITION SHORT   Foreign key for table PARTITION, designating the partition the model is part of.

MODEL TABLE

This table stores information on model definition.

Column Name Data Type Length Column Description
OID NUMBER   OID of the model instance in the audit trail
ID VARCHAR2 50 Model's ID as modeled in the Infinity Process Workbench
NAME VARCHAR2 300 Model's name
VALIDFROM NUMBER   Begin of the model's validity period saved as a time stamp
VALIDTO NUMBER   End of the model's validity period saved as a time stamp
PREDECESSOR NUMBER   OID of the predecessor model.
DEPLOYMENTCOMMENT VARCHAR2 300 A comment that may be added at deployment time
DEPLOYMENTSTAMP NUMBER   The moment when the model was deployed, as a time stamp
VERSION VARCHAR2 300 Version number of the deployed model
REVISION NUMBER   Revision number of the deployed model (counts how many times that version was changed)
DISABLED NUMBER   (1) to mark a model as disabled, (0) otherwise
PARTITION SHORT   Foreign key for table PARTITION, designating the partition the model is part of.

MODEL_DEP TABLE

This table contains the deployment history.

Column Name Data Type Length Column Description
OID LONG   Unique identifier for each deployment operation. It is the primary key.
DEPLOYER LONG   The OID of the user performing the deployment. Foreign key into the WORKFLOWUSER table.
DEPLOYMENTTIME LONG   The deployment time (timestamp, milliseconds since 1.Jan.1970).
VALIDFROM LONG   The moment from which the deployed model became valid (timestamp, milliseconds since 1.Jan.1970).
DEPLOYMENTCOMMENT VARCHAR 255 The comment associated with the deployment operation.

MODEL_DEP_LCK TABLE

This table is the locking table for the MODEL_DEP table.

Column Name Data Type Length Column Description
OID NUMBER   Unique identifier for each deployment operation.

MODEL_REF TABLE

This table describes reference links between model versions. For each external model reference a table entry is created. If a model references n models then n entries are created. The entries are created at deployment time. For example, If a model A with OID 1234 which references a model B with OID 3456 is deployed, an additional table entry is created where CODE=0, MODELOID=1234, ID=(model-id), REFOID=3456, DEPLOYMENT=(increment).

Column Name Data Type Length Column Description
CODE Number   Specifies the type of the entry. Can be 0 for uses relationship or 1 for implements relationship.
MODELOID LONG   Depending on the code, it is either the using model OID or the interface OID.
ID VARCHAR 255 Depending on the code, it is either the used model ID, or the ID of the model providing the primary implementation.
REFOID LONG   Depending on the code, it is either the resolved model OID, or the runtime OID of the process definition defining the process interface.
DEPLOYMENT LONG   The deployment sequence number. Foreign key into the MODEL_DEP table.

PARTICIPANT TABLE

This table stores information on all participants available in the model.

Column Name Data Type Length Column Description
OID NUMBER   Particpant's OID, unique within the model
MODEL NUMBER   OID of the model which the participant belongs to, foreign key for table MODEL
ID VARCHAR2 50 ID of the participant as modeled in the Infinity Process Workbench.
NAME VARCHAR2 100 Name of the participant.
TYPE INTEGER   The type of the participant (role, user etc.).
DESCRIPTION VARCHAR2 4000 Participant's description

PARTITION TABLE

Column Name Data Type Length Column Description
OID SHORT   Primary Key, generated from sequence partition_seq. Supports a maximum of 2^16 distinct partitions.
ID VARCHAR 50 Id for the partition. Needs to be unique.
DESCRIPTION VARCHAR2 4000 Description for the partition

PREFERENCES TABLE

Column Name Data Type Length Column Description
OWNERID LONG   Owner scope ID of the preferences object (of the corresponding partition, user realm or user, depending on OWNERTYPE).
OWNERTYPE VARCHAR 32 The preference scope type (PARTITION, REALM or USER) of the preferences object.
MODULEID VARCHAR 255 ID of the module.
PREFERENCESID VARCHAR 255 ID of the preferences object.
PARTITION LONG   Partition OID.
STRINGVALUE INTEGER   Preferences string.

PROC_INST_PROPERTY TABLE

This table stores process instance dynamic properties.

Column Name Data Type Length Column Description
OID NUMBER   OID of the property, unique within the audit trail
OBJECTOID NUMBER   OID of the process instance, foreign key to PROCESS_INSTANCE table
NAME VARCHAR2 300 Property name
TYPE_KEY INTEGER   Type of the data value, which can be (0) for BOOLEAN, (1) for CHAR, (2) for BYTE, (3) for SHORT, (4) for INTEGER, (5) for LONG, (6) for FLOAT, (7) for DOUBLE, (8) for STRING, (9) for DATE, (10) for MONEY, (11) for BIG_STRING (stored in the overflow table STRING_DATA), (12) for SERIALIZABLE, (13) for BIG_SERIALIZABLE (stored in the overflow table STRING_DATA), (14) for PERIOD
NUMBER_VALUE NUMBER   Stores data values with TYPE_KEY 0, 2, 3, 4, 5 or 9
STRING_VALUE VARCHAR2 128 Stores data values with TYPE_KEY 1, 6, 7, 8, 10, 12 or 14
LASTMODIFICATIONTIME LONG Time stamp marking the most recent execution of the process instance.
WORKFLOWUSER LONG user who changed or created property.

PROCESS_DEFINITION TABLE

This table stores information on all process definitions available in the model.

Column Name Data Type Length Column Description
OID NUMBER   Process definition's OID, unique within the model
MODEL NUMBER   OID of the model which the process definition belongs to, foreign key for table MODEL
ID VARCHAR2 50 Process definition's ID as modeled in the Infinity Process Workbench
NAME VARCHAR2 100 Process definition's name
DESCRIPTION VARCHAR2 4000 Process definition's description

PROCESS_INSTANCE TABLE

This table stores audit trail data on instantiated processes.

Column Name Data Type Length Column Description
OID NUMBER   Process instance OID, unique within the model
STARTTIME NUMBER   Time stamp stating when the process has been instantiated
TERMINATIONTIME NUMBER   Time stamp stating when the process has been terminated
STATE INTEGER   State of the process instance, can be (-1) unknown, (0) active, (1) aborted, (2) completed, (3) interrupted
MODEL LONG   OID of the model which this process instance belongs to, foreign key for table MODEL.
PROCESSDEFINITION NUMBER   OID of the process definition on the base of which the process instance has been created, foreign key for table PROCESS_DEFINITION
PRIORITY LONG   priority of process instances in assembly mode:
TOKENCOUNT LONG   deprecated
PROPERTIESAVAILABLE INTEGER   Lookup to optimize access to properties of process instance.
ROOTPROCESSINSTANCE NUMBER   OID of the root process, or 0 if it is the root process
SCOPEPROCESSINSTANCE NUMBER   OID of the scope and root process instance to which the values of the data are bound.
STARTINGUSER NUMBER   OID of the participant starting the process, foreign key for table WORKFLOWUSER
STARTINGACTIVITYINSTANCE NUMBER   OID of the first activity instance instantiating the process if it is a subprocess
BENCHMARK LONG   OID of the benchmark
BENCHMARKVALUE NUMBER   Integer value for the benchmark of the process instance. Categories are ordinal values in the database that increment from left-to-right. the value is initialized with 0 and stays 0, if no category matches. It means, in case:
  • Category evaluation fails, then -1 index value is stored in the database
  • Category is evaluated, then 1 index value is stored in the database
  • Category is not defined, then 0 index value is stored in the database

PROCESS_INSTANCE_LCK TABLE

This table is the locking table for the PROCESS_INSTANCE table.

Column Name Data Type Length Column Description
OID NUMBER   Process instance OID, unique within the model

PROCESS_TRIGGER TABLE

Column Name Data Type Length Column Description
OID LONG   The runtime OID of the trigger. Is unique together with column model. Triggers with same ID and have same runtime OID.
MODEL LONG   Reference to the column oid of the table model
ID VARCHAR 50 The ID of the trigger
NAME VARCHAR 100 The name of the trigger
PROCESSDEFINITION LONG   Reference to the column OID of the table process_definition. The reference is distinct with column model.

PROCINST_HIERARCHY TABLE

This table stores information on the ancestry and scope of process instances.

Column Name Data Type Length Column Description
PROCESSINSTANCE LONG   Foreign key for table PROCESS_INSTANCE, designating an ancestry process instance. Process instances are considered being ancestors for themselves..
SUBPROCESSINSTANCE LONG   Foreign Key for table process_instance, designating a child process instance. Process instances are considered being children of themselves.

PROCINST_SCOPE TABLE

This table stores information on scope and root process instances.

Column Name Data Type Length Column Description
PROCESSINSTANCE LONG   Foreign key for table PROCESS_INSTANCE, designating an arbitrary process instance.
SCOPEPROCESSINSTANCE LONG   Foreign key for table PROCESS_INSTANCE, designating the scope process instance of the process instance referenced in the PROCESSINSTANCE column.
ROOTPROCESSINSTANCE LONG   foreign key for table PROCESS_INSTANCE, designating the root process instance of the process instance referenced in the PROCESSINSTANCE column.

PROPERTY TABLE

This table stores property information alternatively to the regular property mechanism of Java.

Column Name Data Type Length Column Description
OID NUMBER   OID of the property, unique within the audit trail
NAME VARCHAR2 300 Name of the property
VALUE VARCHAR2 500 Value of the property
LOCALE VARCHAR2 300 Setting of locale, for which the property applies
FLAGS INTEGER   Placeholder for flags
PARTITION SHORT   Foreign key for table PARTITION, designating the partition the property is part of. -1 means that property is valid for all partitions.

RUNTIME_ARTIFACT TABLE

Table RUNTIME_ARTIFACT stores all runtime artifacts.

Column Name Data Type Length Column Description
OID NUMBER   OID of the runtime artifact, unique within the audit trail
ARTIFACTTYPEID NUMBER   Id of the runtime artifact type
ARTIFACTID NUMBER   Id of the runtime artifact
ARTIFACTNAME STRING   Name of the runtime artifact
REFERENCEID NUMBER  
VALIDFROM LONG  
PARTITION SHORT   Foreign key for table PARTITION, designating the partition the runtime artifact is part of.

SIGNAL_MESSAGE TABLE

This table stores JMS signal messages for later processing, in case they arrive before the acceptor activity is created. Thus it can be used to avoid that JMS messages get lost in case they arrive before the activity can listen.

Column Name Data Type Length Column Description
OID LONG   Primary key, generated from sequence signal_message_seq
PARTITIONOID LONG   Partition OID
SIGNALNAME STRING   Signal name
MESSAGECONTENT STRING   Message content
TIMESTAMP DATE   The timestamp when the signal message has been fired.

SIGNAL_MESSAGE_LOOKUP TABLE

This table stores lookup data for JMS signal messages.

Column Name Data Type Length Column Description
PARTITIONOID LONG   OID of the partition, primary key
SIGNALDATAHASH STRING   Signal data hash, primary key
SIGNALMESSAGEOID LONG   OID of signal message, primary key

STRING_DATA TABLE

This table stores all data portions of data values segmented in 4KB blocks and Base64-encoded.

Column Name Data Type Length Column Description
OID NUMBER   OID of the data string, unique within the audit trail
OBJECTID NUMBER   OID of the data value to which the portion of data stored here in DATA column belongs. Foreign key for table using this row for overflow, e.g. OID in DATA_VALUE and MODEL
DATA_TYPE VARCHAR2 32 The name of the table which uses this row for overflow
DATA VARCHAR2 4000 A portion of the large string value

STRUCTURED_DATA TABLE

This table stores all possible XPath expressions identified during deployment, based on the Structured Data Definition.

Column Name Data Type Length Column Description
OID LONG   OID of the XPath, unique within the audit trail
XPATH VARCHAR 200 String representation of this XPath
DATA LONG   OID of the data element in the model, reference to the DATA element in the model.
MODEL LONG   OID of the model which this data (and XPath) belongs to, foreign key for table MODEL

STRUCTURED_DATA_VALUE TABLE

This table stores structured data values.

Column Name Data Type Length Column Description
OID LONG   OID of the structured data value, unique within the audit trail.
PROCESSINSTANCE LONG OID of the process instance which contains the data instance, foreign key for table PROCESS_INSTANCE.
PARENT LONG OID of the parent structured data value
ENTRYKEY VARCHAR 50 For list structures, position of the structured data value in a list.
XPATH LONG OID of the XPath, foreign key for table STRUCTURED_DATA.
TYPE_KEY INTEGER Type of the data value, which can be (-1) for NULL, (0) for BOOLEAN, (1) for CHAR, (2) for BYTE, (3) for SHORT, (4) for INTEGER, (5) for LONG, (6) for FLOAT, (7) for DOUBLE, (8) for STRING, (9) for DATE, (10) for MONEY, (11) for BIG_STRING (stored in the overflow table STRING_DATA), (12) for SERIALIZABLE, (13) for BIG_SERIALIZABLE (stored in the overflow table STRING_DATA), (14) for PERIOD
STRING_VALUE VARCHAR 256 Stores data values with TYPE_KEY 1, 6, 7, 8, 10, 12 or 14
NUMBER_VALUE LONG Stores data values with TYPE_KEY 0, 2, 3, 4, 5 or 9
DOUBLE_VALUE DOUBLE This column is used for ordering by numeric values. It stores data values if the numeric value which is stored in column STRING_VALUE exceeds the value range defined by method
Pair<E, E> DbDescriptor.getNumericSQLTypeValueBorders(Class<E>)
which returns the minimum value in Pair.getFirst() and the maximum value in Pair.getSecond(). In that case this minimum or maximum value is stored in the column.

STRUCTURED_DATA_VALUE_LCK TABLE

This table is the locking table for the STRUCTURED_DATA_VALUE table.

Column Name Data Type Length Column Description
OID LONG   OID of the structured data value, unique within the audit trail.

TIMER_LOG TABLE

This table stores the contents of all log entries in the audit trail written by a timer daemon.

Column Name Data Type Length Column Description
OID NUMBER   OID of the daemon, unique within the model
MODEL LONG   OID of the model which the trigger belongs to, foreign key for table MODEL.
TRIGGEROID NUMBER   OID of trigger in the model
STAMP NUMBER   Time stamp stating when the timer trigger has been fired

TRANS_INST TABLE

This table stores audit trail data on instantiated transitions.

Column Name Data Type Length Column Description
OID NUMBER   OID of the transition instance
MODEL LONG   OID of the model which the transition instance belongs to, foreign key for table MODEL.
TRANSITION NUMBER   OID of the transition, foreign key for table TRANSITION
PROCESSINSTANCE NUMBER   OID of the process instance to which the leaf activity belongs, foreign key for table PROCESS_INSTANCE
SOURCE NUMBER   OID of the source activity, foreign key in the ACTIVITY_INSTANCE table
TARGET NUMBER   OID of the target activity, foreign key in the ACTIVITY_INSTANCE table

TRANS_TOKEN TABLE

This table stores audit trail data on instantiated transitions.

Column Name Data Type Length Column Description
OID NUMBER   OID of the transition instance
PROCESSINSTANCE NUMBER   OID of the process instance to which the leaf activity belongs, foreign key for table PROCESS_INSTANCE
MODEL LONG   OID of the model which the transition token belongs to, foreign key for table MODEL.
TRANSITION NUMBER   OID of the transition, foreign key for table TRANSITION
SOURCE NUMBER   OID of the source activity, foreign key in the ACTIVITY_INSTANCE table
TARGET NUMBER   OID of the target activity, foreign key in the ACTIVITY_INSTANCE table
ISCONSUMED INTEGER   (1) if the token is consumed, (0) otherwise

TRANS_TOKEN_LCK TABLE

Column Name Data Type Length Column Description
OID NUMBER   OID of the transition instance.

TRANSITION TABLE

This table stores information an all transition definitions available in the model.

Column Name Data Type Length Column Description
OID NUMBER   OID of the transition definition, unique within the model
MODEL LONG   OID of the model which the transition belongs to, foreign key for table MODEL.
ID VARCHAR2 50 ID of the transition definition, unique within the process definition
PROCESS_DEFINITION NUMBER   Process definition OID, foreign key for table PROCESS_DEFINITION
SOURCEACTIVITY NUMBER   OID of the predecessor activity in the model definition, foreign key for table ACTIVITY
TARGETACTIVITY NUMBER   OID of the successor activity in the model definition, foreign key for table ACTIVITY
CONDITION VARCHAR2 200 Predicate string defining the transition condition

USER_PARTICIPANT TABLE

This table stores information on all links between user and participants available in the model.

Column Name Data Type Length Column Description
OID NUMBER   OID of the link
PARTICIPANT NUMBER   Participants's OID, foreign key for the table PARTICIPANT
DEPARTMENT LONG   OID of the department; may be null/0 for organizations (organization with null scope).
WORKFLOWUSER NUMBER   OID of the user created in the runtime environment, foreign key for table WORKFLOWUSER
ONBEHALFOF LONG   Designates the predecessor non-user worklist the AI was associated with.

USER_PROPERTY TABLE

This table stores user specific properties (user has rights to change these properties).

Column Name Data Type Length Column Description
OID NUMBER   OID of the property, unique within the audit trail
OBJECTOID NUMBER   OID of the user, foreign key to WORKFLOWUSER table
NAME VARCHAR2 300 Property name
TYPE_KEY INTEGER   Type of the data value, which can be (0) for BOOLEAN, (1) for CHAR, (2) for BYTE, (3) for SHORT, (4) for INTEGER, (5) for LONG, (6) for FLOAT, (7) for DOUBLE, (8) for STRING, (9) for DATE, (10) for MONEY, (11) for BIG_STRING (stored in the overflow table STRING_DATA), (12) for SERIALIZABLE, (13) for BIG_SERIALIZABLE (stored in the overflow table STRING_DATA), (14) for PERIOD
NUMBER_VALUE NUMBER   Stores data values with TYPE_KEY 0, 2, 3, 4, 5 or 9
STRING_VALUE VARCHAR2 128 Stores data values with TYPE_KEY 1, 6, 7, 8, 10, 12 or 14
LASTMODIFICATIONTIME LONG Time stamp marking the most recent execution of the activity.
SCOPE STRING Possible scopes are profile scope ("profile") for user UI settings and empty scope ("") for all other properties.

USER_USERGROUP TABLE

Column Name Data Type Length Column Description
OID NUMBER/LONG   The OID of the property. This is unique.
WORKFLOWUSER NUMBER/LONG   Reference to the column oid of the table workflowuser
USERGROUP NUMBER/LONG   Reference to the column oid of the table usergroup

USERGROUP TABLE

Column Name Data Type Length Column Description
OID LONG   The OID of the user group. This is unique.
ID VARCHAR 50 The ID of the user group
NAME VARCHAR 150 The name of the user group
VALIDFROM LONG   The timestamp in milliseconds since when the user group is valid. 0 means no restriction.
VALIDTO LONG   The timestamp in milliseconds upto when the user group is valid. 0 means no restriction.
DESCRIPTION VARCHAR   The description of the user group
PARTITION LONG   Reference to the column OID of the table partition

USERGROUP_PROPERTY TABLE

Column Name Data Type Length Column Description
OID NUMBER/LONG   The OID of the property. This is unique.
OBJECTOID NUMBER/LONG   Reference to the column oid of the table usergroup
NAME VARCHAR   The unique name of the property
TYPE_KEY INTEGER   Classification key of the type of property. This is the same as for table data_value
NUMBER_VALUE LONG   The value of numeric properties
STRING_VALUE VARCHAR 128 The value for string properties. Overflow follows the same rules as for table data_value.
LASTMODIFICATIONTIME LONG Time stamp marking the most recent execution of the activity.
WORKFLOWUSER LONG Reference to the column oid of the table workflowuser

WFUSER_DOMAIN TABLE

This table associates users with domains.

Column Name Data Type Length Column Description
OID LONG   Primary key, generated from sequence wfuser_domain_seq.
VALIDFROM LONG   Optionally specifies the earliest point in time the user is associated with the domain.
VALIDTO LONG   Optionally specifies the latest point in time the user is associated with the domain.
DOMAIN LONG   Foreign key for table DOMAIN.
WFUSER LONG   Foreign key for table WORKFLOWUSER.

WFUSER_REALM TABLE

Column Name Data Type Length Column Description
OID LONG   Primary key, generated from sequence wfuser_realm_seq.
ID VARCHAR 50 Needs to be unique in scope of the associated partition.
Name VARCHAR 100 Name of the realm.
DESCRIPTION STRING 4000 Description for user realm.
PARTITION SHORT   Foreign key for table PARTITION.

WFUSER_SESSION TABLE

Column Name Data Type Length Column Description
OID LONG   Primary key.
WORKFLOWUSER LONG   Designates the user causing the session to enter this state. Foreign key into the workflowuser table.
CLIENTID STRING   id of the client.
STARTTIME LONG   Time stamp marking the creation of the session.
LASTMODIFICATIONTIME LONG   Time stamp marking the most recent execution of the session.
EXPIRATIONTIME LONG   Time stamp marking the ending of the session.

WORKFLOWUSER TABLE

This table stores all data referring to users created in the runtime environment.

Column Name Data Type Length Column Description
OID NUMBER 22 OID of the user, unique within model
ACCOUNT VARCHAR2 50 User's ID used at log on
FIRSTNAME VARCHAR2 150 User's first name
LASTNAME VARCHAR2 150 User's last name
PASSWORD VARCHAR2 300 User's password used at log on
EMAIL VARCHAR2 150 User's email address to be used by the notification system
VALIDFROM NUMBER   Begin of the user's validity period saved as a time stamp
VALIDTO NUMBER   End of the user's validity period saved as a time stamp (after this point, the user becomes invalidated.)
DESCRIPTION VARCHAR2 300 Description of the user
FAILEDLOGINCOUNT NUMBER   Counter of consecutive login failures
LASTLOGINTIME NUMBER   Time stamp of the last login
EXTENDEDSTATE INTEGER   Lookup to optimize access to properties of workflow user.
REALM LONG   Foreign key for table WFUSER_REALM, designating the realm the user is part of.

WORKITEM TABLE

This table keeps track of pending interactive activity instances.

Column Name Data Type Length Column Description
ACTIVITYINSTANCE LONG   Foreign key for table ACTIVITY_INSTANCE, designating the activity instance this item is based on.
PROCESSINSTANCE LONG   Primary key
SCOPEPROCESSINSTANCE LONG   OID of the scope and root process instance to which the values of the data are bound.
ROOTPROCESSINSTANCE LONG   OID of the root process, or 0 if it is the root process:
MODEL LONG   OID of the model which the activity instance belongs to, foreign key for table MODEL.
ACTIVITY LONG   Activity definition OID, foreign key for table ACTIVITY.
STATE CHAR   Overlay state for the ACTIVITY_INSTANCE state column; either ACTIVE or SUSPENDED.
STARTTIME LONG   Time stamp marking the creation of the activity instance
LASTMODIFICATIONTIME LONG   Time stamp marking the most recent execution of the activity.
DOMAIN LONG   Foreign key for table DOMAIN, designating the domain to be used for performer resolution.
PERFORMERKIND CHAR   Designates what kind of performer is encoded in the CURRENTPERFORMER field; either the WORKFLOWUSER-, PARTICIPANT- or USER_GROUP- TABLE.
PERFORMER LONG   Designates the current performer of this work item. Foreign key for either the WORKFLOWUSER-, PARTICIPANT- or USER_GROUP- TABLE.
DEPARTMENT LONG   OID of the department; may be null/0 for organizations (organization with null scope).
CRITICALITY NUMBER   Holds the criticality value for an activity instance.
BENCHMARKVALUE NUMBER   Integer value for the benchmark

Example Usage of Tables

Example DDL for CLOB_DATA

To create a CLOB_DATA table in your database, use the following DDL in an SQL environment:

CREATE TABLE archive.clob_data (oid BIGINT, ownerId BIGINT, ownerType VARCHAR(32), stringValue CLOB);
CREATE INDEX archive.clob_dt_i1 ON archive.clob_data(ownerId, ownerType);
CREATE UNIQUE INDEX archive.clob_dt_i2 ON archive.clob_data(oid);

Examples for Checking Timestamps in the Audit Trail

Example of Timestamp for Oracle Database

The following query helps you to check timestamps in a Infinity Process Platform audit trail if it is configured using Oracle database:

select to_char(to_date('01-JAN-1970','DD-MON-YYYY') + ( ai.starttime / (1000 * 60 * 60 * 24) ),
'DD-MON-YYYY HH24:MI:SS') "STARTTIME" from activitiy_instance ai;

Example of Timestamp for MySQL Database

The following query helps you to check timestamp in audit trail if it is configured using MySQL database:

select cast(from_unixtime(ai.starttime / 1000) as datetime) from activity_instance ai

The above example query can be modified for timezone conversion:

select convert_tz(cast(from_unixtime(ai.starttime / 1000) as datetime), '+00:00', '+05:00') from activity_instance ai

Analyzing DAEMON_LOG Table Entries

In the DAEMON_LOG table you can see two entries per partition and per daemon type for state changes. Note that the entries are only available if the daemon was started at least one time. The state entry depends on the code entry.

The stamp entry changes continuously. If the execution fails, the state will change as well. When you stop the daemon, the entry with code=0 will keep state=1, but the stamp will be set to 0.