|
|
This document covers the design of the Catalog and Archive Management components. The focus of this document is mainly with the Catalog and Archive Service (CAS) component.
This section describes the task and rule handling features of the CAS. The CAS provides the capability of executing user developed tasks as the result of a successful product registration. Each task may also have a number of user developed rules which determine whether the associated task should be executed. The associations between the datasets (product types), tasks and rules are captured in the CAS policy definition. For more information on policy definition see the
Policy Definition
section of the CAS
Developer Guide
. For more information on task and rule development see the
Task/Rule Development
section of the CAS
Developer Guide
. The following sequence diagram details the interactions between the main classes involved in task and rule handling:
The following sub-sections provide more detail with regard to the activities performed during task and rule control. Please excuse my liberal use of activity diagram components to essentially generate
UML looking flowcharts. Many of the decision points in the activity diagrams below illustrate how the user defined policy dictates work flow. In an effort to produce diagrams without clutter, only one side of the desicion point has been labeled and it is usually the side that keeps processing from going forward. The assumption here is that the other side of the decision point represents the opposite condition. More detail on the decision point criteria can be found in the descriptions that follow the diagrams.
This section provides some insight into the
Task Control
object represented in the sequence diagram above. A task or tasks may be executed as part of a product registration event or they may be sent directly to the queue. Sending tasks directly to the queue enables prioritization of task execution based on defined queue priorities.
Event Based
The following activity diagram details the steps and logic involved when controlling event-based task execution:
The following table describes each of the above activities and decision points:
|
Activity
|
Description
|
|
Retrieve Tasks
|
The tasks associated with the given dataset are retrieved from the
dataset_task_relation
table in the database.
|
|
|
If the
event_exec_flag
for the current task is set to
Y
, the rules associated with the task are evaluated, otherwise if set to
Q
,
N
or
I
, the task is skipped. If the flag is set to
N
, th
e task is essentially dropped on the floor.
|
|
Queue Task
|
The task information is inserted into the
task_queue
table in the database. Once in the queue, the task will be evaluated for possible execution each time the queue is poked.
|
|
Ignore Task
|
The task information is inserted into the
task_ignore
table in the database. This table allows the CAS to keep track of ignored tasks and enables them to be moved to the queue in the future for possible execution.
|
|
Evaluate Rules
|
See the
Rule Control
section for details of this activity.
|
|
|
If the rules are satisfied, execute the task, otherwise if a rule was not satisfied, queue the task.
|
|
Execute Task
|
The task information is inserted into the
task_exec
table in the database, the task class specified in the policy is instantiated and the
run()
method is executed.
|
|
|
If the task is executed successfully, indicated by the object returning without exception, update the task status and continue on to see if there are more tasks to execute, otherwise if the task failed to execute, indicated by the object throwing an exception, update the task status and continue to the next decision point.
|
|
Update Status
|
Update the status for the task accordingly in the
task_exec
table in the database.
|
|
|
If the
event_fail_flag
for the current task is set to
N
, continue on to see if there are more tasks to execute, otherwise if set to
Y
, return to the calling object indicating that a task failed to execute.
|
|
|
If there are more tasks to execute, do
so, otherwise return to the calling object indicating that all tasks were executed successfully.
|
Queue Based
The following activity diagram details the steps and logic involved when controlling queue-based task execution:
The following table describes each of the above activities and decision points:
|
Activity
|
Description
|
|
Retrieve Tasks
|
The tasks are retrieved from the
task_queue
table in the database, ordered by their queue priority.
|
|
|
If the
exec_flag
is set to
Y
and the
wait_time
value has expired or the
retry_flag
is set to
Y
, continue to the next decision point, otherwise if the
exec_flag
is set to
N
or the
wait_time
value has not expired or the
retry_flag
is set to
N
, the task is skipped. The
exec_flag
defaults to
Y
and the
retry_flag
defaults to
N
, both are intended to be used as override mechanisms. The execution flag can be set to
N
if the user would like to indefinitely hold off on executing a certain task that resides in the queue. The retry flag can be set to
Y
if the user would like to attempt to execute a certain task the next time the queue is poked.
|
|
|
If the
queue_exec_flag
for the current task is set to
Y
, the rules associated with the task are evaluated, otherwise if set to
N
, the task is skipped.
|
|
Evaluate Rules
|
See the
Rule Control
section for details of this activity.
|
|
|
If the rules are satisfied, execute the task, otherwise if a rule was not satisfied, determine the next step based on the value of
rule_type
. If set to
Mandatory
, continue to the next decision point, otherwise if set to
Optional
or
Retry
, update the rule information.
|
|
|
If the
wait_length
value is zero or the
wait_time
value has expired, ignore the task, otherwise if the
wait_length
value is greater than zero and the
wait_time
value has not expired, update the rule information.
|
|
Ignore Task
|
The task information is inserted into the
task_ignore
table in the database. This table allows the CAS to keep track of ignored tasks and enables them to be moved to the queue in the future for possible execution.
|
|
Update Rule Info
|
Update the rule information for the task in the
task_queue
table in the database. The rule information includes the identifier of the rule that was not satisfied and the revised wait time based on the rule's wait length.
|
|
Execute Task
|
The task information is inserted into the
task_exec
table in the database, the task class specified in the policy is instantiated and the
run()
method is executed.
|
|
|
If the task is executed successfully, indicated by the object returning without exception, update the task status and continue on to see if there are more tasks to execute, otherwise if the task failed to execute, indicated by the object throwing an exception, update the task status and continue on to see if there are more tasks to execute. Essentially a
task failing to execute from the queue has no bearing on the rest of the tasks in the queue.
|
|
Update Status
|
Update the status for the task accordingly in the
task_exec
table in the database.
|
|
|
If there are more tasks to execute, do so, otherwise return to the calling object indicating that all tasks were executed successfully.
|
This section provides some insight into the
Rule Control
object represented in the sequence diagram above. The following activity diagram details the steps and logic involved when controlling a rule execution:
The following table describes each of the above activities and decision points:
|
Activity
|
Description
|
|
Retrieve Rules
|
The rules associated with the given dataset and task are retrieved from the
dataset_task_rule_relation
table in the database.
|
|
|
If the
rule_exec_flag
for the current rule is set to
Y
, the rule is executed, otherwise if set to
N
, the rule is skipped. Skipping a rule is equivalent to the rule being satisfied upon execution.
|
|
Execute Rule
|
The rule class specified in the policy is instantiated and the
run()
method is executed.
|
|
|
If the rule is satisfied, indicated by the object returning
true
, continue on to see if there are more rules to execute, otherwise if not satisfied, indicated by the object returning
false
, continue to the next decision point.
|
|
|
If the
rule_type
for the current rule is set to
OPTIONAL
and the
wait_length
time value associated with the task has expired, continue on to see if there are more rules to execute, otherwise if any other rule type encountered or if the task wait time has not expired, return to the calling object indicating that a rule was not satisfied.
|
|
|
If there are more rules to execute, do so, otherwise return to the calling object indicating that all rules were satisfied.
|
This section describes the CAS database schema. Data types used in the column descriptions are specific to the Oracle Database Management System (DBMS). The following table describes the column identifiers used in the Entity-Relationship diagrams:
|
Identifier
|
Description
|
|
PK
|
The primary key for the table. This column or combination of columns will uniquely identify a row.
|
|
Un
|
A unique key for the table. This column or combination of columns will uniquely identify a row as well.
|
|
FKn
|
A foreign key to another table. A value in this column must exist in the referenced table's related column.
|
|
bold type
|
A column name in
bold
type indicates that a value is mandatory, meaning not null.
|
The dataset and data element policy tables are utilized by the CAS for determining the types of products to be registered and the content of the metadata that describes those products. The tables are shown in the following diagram:
dataset_policy
This table stores information regarding the types of products to be registered with the CAS. This table consists of the following columns:
-
dataset_id
The generated identifier for the dataset. This column is the primary key for the table. Data type: NUMBER(10).
-
dataset_name
The name of the dataset. This column is constrained for unique values and is indexed. Data type: VARCHAR2(80).
-
product_metadata_table
The name of the product table where metadata is stored for products registered with this dataset. Data type: VARCHAR2(30).
-
product_reference_table
The name of the product table where references to product items are stored for products registered with this dataset. Data type: VARCHAR2(30).
-
repository
The path of the repository for files registered with this dataset. Data type: VARCHAR2(255).
-
description
The description of the dataset. Data type: VARCHAR2(255).
element_policy
This table stores information regarding the data elements used for metadata to describe products registered with the CAS. This table consists of the following columns
:
-
element_id
The generated identifier for the data element. This column is the primary key for the table. Data type: NUMBER(10).
-
element_name
The name of the data element. This column is constrained for unique values and is indexed. Data type: VARCHAR2(30).
-
product_metadata_column
The name of the column for this data element in a product metadata table. May be the same as element_name if that value only contains characters, numbers or under scores. The bottom line is that it must be a valid column name for the target database. Data type: VARCHAR2(30).
-
data_type
The type of data the data element value will contain. This column is a foreign key to the
data_type
table. Data type: VARCHAR2(20).
-
core_flag
A flag indicating whether this element is one of the internal core elements. Valid values:
Y
or
N
. Default:
N
. Data Type: CHAR(1).
-
dc_element
The Dublin Core element name that this element will be mapped to for incoming queries and profile population. Data type: VARCHAR2(30).
-
length
The amount of characters or numbers the value may contain. Valid for the
STRING
data type. Should be set to
NULL
for all other data types. Data type: NUMBER(5).
-
scale
The amount of numbers to the r
ight of the decimal point. Should be set to
NULL
for all data types. Data type: NUMBER(5). Not supported.
-
min_value
The minimum value allowed. Valid for the
INTEGER
data type. Data type: NUMBER(10). Not supported.
-
max_value
The maximum value allowed. Valid for the
INTEGER
data type. Data type: NUMBER(10). Not supported.
-
description
The description of the data element. Data type: VARCHAR2(255).
dataset_element_relation
This table stores the relationship between datasets and their associated data elements. This table consists of the following columns:
-
dataset_id
The identifier for the dataset. This column is part of the primary key for the table and is a foreign key to the
dataset_policy
table. Data type: NUMBER(10).
-
element_id
The identifier for the data element. This column is part of the primary key for the table and is a foreign key to the
element_policy
table. Data type: NUMBER(10).
-
mandatory_flag
A flag indicating whether this element may be missing or the element value may be NULL in the metadata. Valid values:
Y
or
N
. Default:
N
. Data Type: CHAR(1). Not fully supported.
-
index_flag
A flag indicating whether an index will be created for this column in the product metadata table. Valid values:
Y
or
N
. Default:
N
. Data Type: CHAR(1).
data_type
This table stores information regarding the types of data stored for a metadata element and how it maps to a database data type. This table consists of the following columns:
-
data_type
The type of data the data element value will contain. This column is the primary key for the table. Valid values:
DATETIME
,
DOUBLE
,
INTEGER
,
LONG
,
REAL
and
STRING
. Data type: VARCHAR2(20).
-
database_type
The database type that maps to the data type. This column will contain the Oracle, Sybase or PostgreSQL data type. Data type: VARCHAR2(20).
-
profile_type
The profile type that maps to the data type. This column will contain the profile element data type which is used when generating a Profile. Data type: VARCHAR2(20).
-
format
The format for date/time related data types. Data type: VARCHAR2(30). Not supported.
-
description
The description of the data type. Data type: VARCHAR2(255).
The task and rule policy tables are utilized by the CAS for determining the tasks to be executed when produ
cts are registered. The tables are shown in the following diagram with the
dataset_policy
table included for enabling foreign key identification:
task_policy
This table stores information regarding the tasks that can be executed by the CAS for a given product registration. This table consists of the following columns:
-
task_id
The generated identifier for the task. This column is the primary key for the table. Data type: NUMBER(10).
-
task_name
The class specification for the task. This column is constrained for unique values and is indexed. Data type: VARCHAR2(255).
-
description
The description of the task. Data type: VARCHAR2(255).
rule_policy
This table stores information regarding the rules that can be executed by the CAS for a given product registration and associated task. This table consists of the following columns:
-
rule_id
The generated identifier for the rule. This column is the primary key for the table. Data type: NUMBER(10).
-
rule_name
The class specification for the rule. This column is constrained for unique values and is indexed. Data type: VARCHAR2(255).
-
description
The description of the rule. Data type: VARCHAR2(255).
dataset_task_relation
This table stores the relationship between datasets and their associated tasks. This table consists of the following columns:
-
dataset_id
The identifier for the dataset. This column is part of the primary key for the table and is a foreign key to the
dataset_policy
table. Data type: NUMBER(10).
-
task_id
The identifier for the task. This column is part of the primary key for the table and is a foreign key to the
task_policy
table. Data type: NUMBER(10).
-
event_exec_flag
A flag indicating whether this task will be executed, not executed, ignored or queued as a result of an add event. Valid values:
Y
,
N
,
I
or
Q
. Default:
N
. Data Type: CHAR(1).
-
event_priority
The priority for task execution if executed as a result of an add event. If more than one task has been defined for a dataset, this value will determine the order of execution. Data type: NUMBER(5).
-
event_fail_flag
A flag indicating whether failure of this task will cause the associated add event to fail. Valid values:
Y
or
N
. Default:
N
. Data Type: CHAR(1).
-
queue_exec_flag
A flag indicating whether this task
will be executed or remain in the queue as a result of a queue event. Valid values:
Y
or
N
. Default:
N
. Data Type: CHAR(1).
-
queue_priority
The priority for task execution if executed as a result of a queue event. If more than one task is retrieved from the queue, this value will determine the order of execution. Data type: NUMBER(5).
-
wait_length
The maximum amount of time in minutes that a task will wait in the queue for
MANDATORY
and
OPTIONAL
rules that are not satisfied. Data type: NUMBER(5).
dataset_task_rule_relation
This table stores the relationship between datasets, tasks and their associated rules. This table consists of the following columns:
-
dataset_id
The identifier for the dataset. This column is part of the primary key for the table and is a foreign key to the
dataset_policy
table. Data type: NUMBER(10).
-
task_id
The identifier for the task. This column is part of the primary key for the table and is a foreign key to the
task_policy
table. Data type: NUMBER(10).
-
rule_id
The identifier for the rule. This column is part of the primary key for the table and is a foreign key to the
rule_policy
table. Data type: NUMBER(10).
-
rule_exec_flag
A flag ind
icating whether this rule will be executed. Valid values:
Y
or
N
. Default:
N
. Data Type: CHAR(1).
-
rule_priority
The priority for rule execution. If more than one rule has been defined for a task associated with a dataset, this value will determine the order of execution. Data type: NUMBER(5).
-
rule_type
The type of rule which indicates how the rule is handled when the rule is not satisfied. Valid values:
MANDATORY
,
OPTIONAL
and
RETRY
. Data type: VARCHAR2(20).
-
MANDATORY
This type indicates that the associated task will be removed from the queue in the case where the rule is not satisfied and the wait time has expired.
-
OPTIONAL
This type indicates that the associated task will be executed in the case where the rule is not satisfied and the wait time has expired.
-
RETRY
This type indicates that the associated task will remain in the queue and the wait time extended in the case where the rule is not satisfied.
-
wait_length
The amount of time in minutes that an associated task will wait in the queue if this rule is not satisfied. Data type: NUMBER(5).
The product instance tables
are utilized by the CAS for tracking registered products. The tables are shown in the following diagram:
product_metadata_
<
dataset_id
>
This table stores information regarding instances of products registered with the CAS. One of these tables should be created for each dataset stored in the
dataset_policy
table. For more information regarding creation of these tables see the
Create Product Tables
section of the
Installation Guide
. This table consists of the following columns:
-
product_id
The generated identifier for the product. This column is the primary key for the table. Data type: NUMBER(10).
-
product_name
The name of the product. This column combined with the
product_version
column is constrained for unique values and is indexed. Data type: VARCHAR2(255).
-
product_version
The version of the product. This column combined with the
product_name
column is constrained for unique values and is indexed. Data type: NUMBER(10).
-
product_status_type
The status of the product. This column is a foreign key to the
product_status_type
table. Data type: VARCHAR2(20).
-
product_received_time
The date/time value
representing when the product was inserted into the table. A value in this column must be in the ISO 8601 format:
YYYY-MM-DDThh:mm:ss.SSS[Z|[+|-
]
hh:mm
]
. Data type: VARCHAR2(30).
-
product_owner
The user name of the account that registered the product. Data type: VARCHAR2(30). Not supported.
-
<
dataset elements
>
A column for each data element listed in the
dataset_element_relation
table for the given dataset. The data type for each of these columns is specified in the
element_policy
table for the given data element.
product_reference_
<
dataset_id
>
This table stores information regarding instances of product items registered with the CAS. One of these tables should be created for each dataset stored in the
dataset_policy
table. For more information regarding creation of these tables see the
Create Product Tables
section of the
Installation Guide
. This table consists of the following columns:
-
product_id
The identifier for the product. This column combined with the
product_reference
column is constrained for unique values and is indexed. Data type: NUMBER(10).
-
product_reference_type
The reference type of the product item. This column is a foreign key to the
product_reference_type
table. Data type: VARCHAR2(20).
-
product_reference
The original reference to the product item. A value in this column must be in the format of an Universal Resource Locator (URL). Example value:
file:///home/user/test.xml
or
http://cas.jpl.nasa.gov/dtd/metadata.dtd
. This column combined with the
product_id
column is constrained for unique values and is indexed. Data type: VARCHAR2(255).
-
archive_reference
The reference to the product item in the CAS repository. Valid for
FILE_METADATA
and
FILE_DATA_LOCAL
product reference types. A value in this column must be in the format of an Universal Resource Locator (URL). Example value:
file:///usr/local/cas/var/archive/product_1/Test/1/test.xml
. Data type: VARCHAR2(255).
-
product_length
The length of a product item in the CAS repository. The length is represented in bytes. Data type: NUMBER(10).
product_status_type
This table stores information regarding the types of status values for a product instance. This table consists of the following columns:
-
product_status_type
The type of status a product instance may have. This column is the primary key for the table. Valid values:
ADD_IN_PROGRESS
,
DELETE_IN_PROGRESS
,
CORRUPT
and
NORMAL
. Data type: VARCHAR2(20).
-
description
The description of the product status type. Data type: VARCHAR2(255).
product_reference_type
This table stores information regarding the types of reference values for a product item instance. This table consists of the following columns:
-
product_reference_type
The type of reference a product item instance may have. This column is the primary key for the table. Valid values:
FILE_METADATA
,
FILE_DATA_LOCAL
and
FILE_DATA_REMOTE
. Data type: VARCHAR2(20).
-
FILE_METADATA
This type specifies a metadata file to be stored in the CAS repository. A file with this type will be parsed for metadata content. An example product reference would be
file:///home/user/Test.xml
.
-
FILE_DATA_LOCAL
This type specifies a file to be stored in the Archive Service repository. An example product reference would be
file:///home/user/Test.dat
.
-
FILE_DATA_REMOTE
This type specifies a file to be referenced remotely. The file will not be transferred to the CAS. An example product reference would be
file://edm.jpl.nasa.gov/home/user/Test.dat
.
-
description
The description of the product reference type. Data type: VARCHAR2(255).
The task instance tables are utilized by the CAS for tracking tasks th
at are associated with registered products. Although each of these tables have foreign key dependencies on the
dataset_policy
,
task_policy
and
rule_policy
tables, these tables have been excluded from the following diagram:
task_exec
This table stores information regarding instances of tasks associated with products registered with the CAS. This table specifically stores tasks that have been executed. This table consists of the following columns:
-
exec_id
The generated identifier for the task instance. This column is the primary key for the table. Data type: NUMBER(10).
-
dataset_id
The identifier for the dataset. This column is a foreign key to the
dataset_policy
table. Data type: NUMBER(10).
-
product_id
The identifier for the product. This column is a foreign key to the
product_metadata_
<
dataset_id
>
table. Data type: NUMBER(10).
-
task_id
The identifier for the task. This column is a foreign key to the
task_policy
table. Data type: NUMBER(10).
-
received_time
The date/time value representing when the task was inserted into the table. A value in this column must be in the ISO 8601 format:
YYYY-MM-DDThh:mm:ss.SS
S[Z|[+|-
]
hh:mm
]
. Data type: VARCHAR2(30).
-
task_status_type
The type of status a task instance may have. Valid values:
INITIATED
,
EXECUTED
and
FAILED
. Data type: VARCHAR2(20).
-
task_status_time
The date/time value representing when the task status was last updated. A value in this column must be in the ISO 8601 format:
YYYY-MM-DDThh:mm:ss.SSS[Z|[+|-
]
hh:mm
]
. Data type: VARCHAR2(30).
task_queue
This table stores information regarding instances of tasks associated with products registered with the CAS. This table specifically stores tasks that are waiting to be executed. This table consists of the following columns:
-
exec_id
The generated identifier for the task instance. This column is the primary key for the table. Data type: NUMBER(10).
-
dataset_id
The identifier for the dataset. This column is a foreign key to the
dataset_policy
table. Data type: NUMBER(10).
-
product_id
The identifier for the product. This column is a foreign key to the
product_metadata_
<
dataset_id
>
table. Data type: NUMBER(10).
-
task_id
The identifier for the task. This column is a foreign key to the
task_policy
table. Data type: NUMBER(10).
-
received_time
The date/time value representing when the task was inserted into the table. A value in this column must be in the ISO 8601 format:
YYYY-MM-DDThh:mm:ss.SSS[Z|[+|-
]
hh:mm
]
. Data type: VARCHAR2(30).
-
wait_time
The date/time value representing when this task may be attempted. This value is determined by the
dataset_task_rule_relation.wait_length
column for the rule identified by the
rule_id
column. A value in this column must be in the ISO 8601 format:
YYYY-MM-DDThh:mm:ss.SSS[Z|[+|-
]
hh:mm
]
. Data type: VARCHAR2(30).
-
rule_id
The identifier for the last rule that was not satisfied. A value of
0
indicates that the task was inserted into the table as a result of the
dataset_task_relation.event_exec_flag
column for this task being set to
Q
. Data type: NUMBER(10).
-
retry_flag
A flag indicating whether this task will be attempted the next time the queue is processed. This flag will override the
wait_time
column. Valid values:
Y
or
N
. Default:
N
. Data Type: CHAR(1).
-
exec_flag
A flag indicating whether this task will be executed. When the value is set to
N
, this flag will override the
wait_time
and
retry_flag
columns. Valid values:
Y
or
N
. Default:
Y
. Data Type: CHAR(1).
task_ignore
This table stores information regarding instances
of tasks associated with products registered with the CAS. This table specifically stores tasks that have been ignored, meaning execution was turned off or a mandatory rule was not satisfied. This table consists of the following columns:
-
exec_id
The generated identifier for the task instance. This column is the primary key for the table. Data type: NUMBER(10).
-
dataset_id
The identifier for the dataset. This column is a foreign key to the
dataset_policy
table. Data type: NUMBER(10).
-
product_id
The identifier for the product. This column is a foreign key to the
product_metadata_
<
dataset_id
>
table. Data type: NUMBER(10).
-
task_id
The identifier for the task. This column is a foreign key to the
task_policy
table. Data type: NUMBER(10).
-
received_time
The date/time value representing when the task was inserted into the table. A value in this column must be in the ISO 8601 format:
YYYY-MM-DDThh:mm:ss.SSS[Z|[+|-
]
hh:mm
]
. Data type: VARCHAR2(30).
-
rule_id
The identifier for the last rule that was not satisfied. A value of
0
indicates that the task was inserted into the table as a result of the
dataset_task_relation.event_exec_flag
column for this task being set to
N
. This column is a foreign key to the
rule_policy
table. Data type: NUMBER(10).
The identifier tables are used to generate unique identifiers. The tables are shown in the following diagram:
next_audit_id
This table is used to store the last audit identifier used in either the
dataset_policy_audit
or
element_policy_audit
tables. This table consists of the following column:
-
audit_id
The last audit identifier used. Data type: NUMBER(10).
next_dataset_id
This table is used to store the last dataset identifier used in the
dataset_policy
table. This table consists of the following column:
-
dataset_id
The last dataset identifier used. Data type: NUMBER(10).
next_element_id
This table is used to store the last element identifier used in the
element_policy
table. This table consists of the following column:
-
element_id
The last element identifier used. Data type: NUMBER(10).
next_exec_id
This table is used to store the last execution id
entifier used in either the
task_exec
,
task_queue
or
task_ignore
tables. This table consists of the following column:
-
exec_id
The last exec identifier used. Data type: NUMBER(10).
next_product_id
This table is used to store the last product identifier used in any of the
product_metadata_
<
dataset_id
>
tables. This table consists of the following column:
-
product_id
The last product identifier used. Data type: NUMBER(10).
next_rule_id
This table is used to store the last rule identifier used in the
rule_policy
table. This table consists of the following column:
-
rule_id
The last rule identifier used. Data type: NUMBER(10).
next_task_id
This table is used to store the last task identifier used in the
task_policy
table. This table consists of the following column:
-
task_id
The last task identifier used. Data type: NUMBER(10).
The audit tables are used to track changes in policy. At this point in time only the dataset and data element
policy tables are audited. The tables are shown in the following diagram:
dataset_policy_audit
This table stores auditing information for all modifications that occur in the
dataset_policy
table. This table consists of the following columns:
-
audit_id
The generated identifier for the audit record. This column is the primary key for the table. Data type: NUMBER(10).
-
audit_timestamp
The DBMS specific date/time value representing when the audit record was inserted into the table. Data type: DATE.
-
audit_username
The DBMS user name for the account that performed the modification. Data type: VARCHAR2(30).
-
audit_operation
A flag indicating the type of modification that occurred. Valid values:
I
,
U
and
D
. Data type: VARCHAR2(1).
-
I
- This value indicates an insert occurred.
-
U
- This value indicates an update occurred.
-
D
- This value indicates a deletion occurred.
-
All columns in the
dataset_policy
table except the
description
column.
element_policy_audit
This table stores auditing information for all modifications that occur in the
element_policy
table. This table consists of the following columns:
-
audit_id
The generated identifier for the audit record. This column is the primary key for the table. Data type: NUMBER(10).
-
audit_timestamp
The DBMS specific date/time value representing when the audit record was inserted into the table. Data type: DATE.
-
audit_username
The DBMS user name for the account that performed the modification. Data type: VARCHAR2(30).
-
audit_operation
A flag indicating the type of modification that occurred. Valid values:
I
,
U
and
D
. Data type: VARCHAR2(1).
-
I
- This value indicates an insert occurred.
-
U
- This value indicates an update occurred.
-
D
- This value indicates a deletion occurred.
-
All columns in the
element_policy
table except the
description
column.
|