FANDOM


Transaction Log Schema Edit

The database schema for the transaction log (hereafter, the xaction log) is as follows:

   table('xlog')[
       column('id', data_type='INTEGER',
                 primary_key=True, auto_increment=True),
       column('root'),
       column('time', data_type='FLOAT'),
       column('xaction'),
       column('xdata'),
   ],

Where:

'id' The xaction log ID. A numerical ID key that uniquely identifies the transaction. This ID is specific to this hive, and is not intended to be anything more general.
'root' Contextual root identifier. This helps link the transaction data to some root item (issue, node, the "__MASTER_ISSUE__", or something else.)
'time' Timestamp for the transaction.
'xaction' The transaction type identifier. A string that identifies what the transaction was.
'xdata' Contextual transaction data. This is always determined by the transaction type identifier 'xaction'. It will be encoded by the xaction_dispatch.dispatch['xaction'].encode() function, and can be decoded with the xaction_dispatch.dispatch['xaction'].dencode() function.

Specifics by transaction type Edit

xlog_start Edit

xlog_start is the transaction ID assigned when the xaction log is started. It should be the first entry in the xaction log, and only exists to mark a timestamp when the hive was initialized.

Contextual definitions Edit

'root' This will be the "__MASTER_ISSUE__" for xlog_start.
'xdata' There is no transaction data for xlog_start, so this entry will be Null, numerical zero, or whatever the database backend defines "Null" as.

set_taxonomy Edit

set_taxonomy is the transaction ID that is assigned when a particular taxonomy term is updated.

Contextual definitions Edit

'root' This will be the "__MASTER_ISSUE__" for set_taxonomy.
'xdata' This will contain the Pythonic object { term : taxonomy_list }, which is defined below.

In { term : taxonomy_list}, "term" is the taxonomy term and "taxonomy_list" is the list of taxonomy settings for the given term.

E.g., if our taxonomy term was "status" (indicating whether the ticket is new, assigned, etc.) a possible list of taxonomy settings could be:

 { 'id' : 1,
   'name' : 'unassigned',
   'isdefault' : 0},
 { 'id' : 2,
   'name' : 'assigned',
   'isdefault' : 0},
 { 'id' : 3,
   'name' : 'closed',
   'isdefault' : 0},
 { 'id' : 4,
   'name' : 'new',
   'isdefault' : 1},

new_issue Edit

new_issue is the transaction ID indicating a new issue was created.

Contextual definitions Edit

'root' This will be the full hash ID for the issue created.
'xdata' This will contain the ticket number for the issue created.

The xaction_dispatch.dispatch.decode() function will return the Python object data['short_hash_id']=xdata.

new_node Edit

new_node is the transaction ID when a new node is created.

Contextual definitions Edit

'root' This will be the issue ID for the issue this node is assigned to.
'xdata' This will contain the node ID for the node created.

The xaction_dispatch.dispatch.decode() function will return the Python object data['node_id']=xdata.

link_issue_to_node Edit

link_issue_to_node is the transaction ID when an issue and node are linked together in the "issue_to_node" lookup table. This is called when a new node is created to show a parentage for every node.

Contextual definitions Edit

'root' This will be the issue ID for the issue this node is assigned to.
'xdata' This will contain the issue to node linking.

Here, xdata will be a dictionary where xdata['issue_id'] will be the full issue ID and xdata['node_id'] will be the full node ID associated with the issue.

update_issue Edit

add_lineage Edit

add_lineage is the transaction ID when a child node is linked to a parent node in a lineage.

Contextual definitions Edit

'root' This will be the issue ID for the issue this node is assigned to.
'xdata' This will contain the node lineage data.

xdata will have the form:

{'parent_id': parent_node_id , 'child_id': child_node_id}


add_tracker Edit

add_tracker is the transaction ID when a hive has some local aspect that is tracking a remote upstream source (another hive or issue tracker).

Contextual definitions Edit

'root' This will be the root issue that this tracker is tied to. It will be "__MASTER_ISSUE__" if the entire hive is tied to it.
'xdata' This will contain the upstream tracker id.

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.