bugzilla-daemon at main.slony.info bugzilla-daemon at main.slony.info
Thu Dec 30 09:25:46 PST 2010
http://www.slony.info/bugzilla/show_bug.cgi?id=186

--- Comment #3 from Christopher Browne <cbbrowne at ca.afilias.info> 2010-12-30 09:25:46 PST ---
The event STORE_NODE leads to calling the function storeNode_int(),
which seems to be suitably idempotent, where:

- If the node doesn't exist, it'll add it;
- If the node *does* exist, it updates the comment.

Similarly, STORE_SET leads to calling the function storeSet_int(),
which has the equivalent logic (with the appropriate s/node/set/g
substitution).

Taking one step back, Slonik calls, for STORE NODE, storeNode(), which
simply passes the work on to storeNode_int(), which again should "just
work."

Unfortunately, in slonik, slonik_store_node() assumes it's creating a
new node, so some rework would need to be done to allow it to cope
with this reconfiguration of the node.

On the SET side, slonik uses the command CREATE SET, which is pretty
clearly intended to create a new set.  It should be straightforward to
create another command, STORE SET, which is only permitted to alter
the comment on the set.  It's a bit of work, but shouldn't be
difficult.

I'm not sure why it didn't work to inject the events by hand; in
reading the code (in HEAD), it seems as though that ought to work
already.  Hopefully fixing it involves a little debugging, and adding
some examples to the regression tests to ensure the logic gets
exercised regularly.

The changes are straightforward enough that I'd encourage having someone that's
new to altering Slonik work on it, so that we have more people that understand
how to do so.

-- 
Configure bugmail: http://www.slony.info/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Slony1-bugs mailing list