Software |
DMX4Linux Driver Suite for Linux |
csv2iif.pl suite convert PayPal transactions to IIF, OFX, QIF |
Hardware |
DMX30 Interface 128Ch SPP |
DMX43 Interface 2out 2in EPP |
LED Hardware for Linux and Windows |
EPROM Sampler for 8 bits of sound |
Misc |
CatWeasel Linux drivers for MK3/4 PCI |
pg_trompe PostgreSQL replication |
trycatch C exception/signal handling lib |
Patches to various software |
Tools and small scripts |
Docs misc documents |
Links to lighting stuff |
pg_trompe schema documentationSCHEMA replicationContains all functions and tables used for pg_trompe replication.TABLE replication.configContains configuration "e;variables"e; for replication process.Column key: variable name Column val: variable value Column description: variable description TABLE replication.tablesContains all table names which are replicated.Column nr: primary key containing unique integer number of the row Column name: name of the table Column lo: if true the table contains an "e;lo"e; column referencing large object OIDs. TABLE replication.nodesContains information on the replication neighbour nodes.Column num: node number Column description: node information string Column timestamp: when node was added to replication Column timestamp: of last replication run FUNCTION replication.nodes_insert()Trigger function which writes INSERT rows into the replication.log table for all replicated tables when a new node is added. The function is called by an insert trigger on table replication.nodes.TABLE replication.nodes_skipContains node numbers of nodes which should be skipped by the replication triggers. This table contains our own node number and the remote node number during replication.Column num: node number of a node from table replication.nodes TABLE replication.logContains events on replicated tables which have not been replicated to neighbour nodes.Column id: sequential integers to keep track of event ordering Column node: node number to which event must be replicated Column tablename: name of the table Column action: event type. Allowed values are 'INSERT', 'UPDATE', 'DELETE', 'DDL'. Column nr: unique row-identifying number in "e;tablename"e;. Is NULL for 'DDL' action. Column lo: OID of affected large object. Can be NULL if no large object is involved in this event. VIEW replication.nodestatsShows the amount of events not replicated to neighbour nodes.FUNCTION replication.newevent(tablename_ text, action_ text, nr_ int8, lo_ int8)Inserts a new event into replication.log for all neighbour nodes.param tablename_: table name which contains row param action_: event type. See TABLE replication.log for valid values. param nr_: row identifier or NULL param lo_: large object OID or NULL FUNCTION replication.tableevent()Trigger function on replicated table without large object (lo) column which creates entries in replication.log.FUNCTION replication.loevent()Trigger function on replicated table with large object (lo) column which creates entries in replication.log.FUNCTION replication.setseq(tablename text)Sets the "e;nr"e; sequence on "e;tablename"e; to a new value which will allow the table to be used in replication.return: -1 upon error, 1 upon success FUNCTION replication.setallseq()Sets "e;nr"e; sequences for all replicated tables.return: 0 upon success FUNCTION replication._register(tablename text)Internal function to add a table to replication.return: 0 upon success, -1 upon error FUNCTION replication.register(tablename text)Register a table for replication.param tablename: name of the table. You may have to provide the schema name if the schema is not in the default search path. return: tablename upon success, NULL upon error FUNCTION replication.registerlo(tablename text)Register a table with "e;lo"e; column to manage large objects for replication.param tablename: name of the table. You may have to provide the schema name if the schema is not in the default search path. return: tablename upon success, NULL upon error FUNCTION replication.node_num(num_ int, d text)Configure this database for replication.param num_: node number of this database param d: description string of this node return: num_ upon success, -1 upon error FUNCTION replication.drop_node(n int)Drop a neighbouring node from replication.param n: neighbour node number. return: n upon success, -1 upon error. FUNCTION md5(id oid)Calculates the MD5 sum of a large object.param id: OID of large object return: MD5 sum, or exception of large object does not exist FUNCTION replication.ddl(t text)Executes and replicates DDL commands.param t: string containing DDL return: 0 upon success, -1 upon error FUNCTION replication.start(remote_num int)Starts a replication with a neighbour node. This function is called by replication.pl.param remote_num: neighbour node number return: 0 upon success, -1 upon error FUNCTION replication.stop(remote_num int)Stops the replication with a neighbour node. This function is called by replication.pl.param remote_num: neighbour node number return: 0 upon success, -1 upon error FUNCTION replication.truncate(tablename_ text)Truncates a table.param tablename_: name of table to truncate. You may have to provide the schema name if the schema is not in the default search path. return: 0 upon success, -1 upon error FUNCTION lo_dump(id oid)Converts a large object to text.param lo: large object OID return: text |