1.0.6 Bugfixes and added support for PostgreSQL 8.1 date: 2005/06/10 21:11:17; author: wieck; Backpatch: Fix determineAttkindUnique() for 8.1. Apparently our stored procedure relied on a bug in PostgreSQL. Returning NULL for an array index out of bounds seems correct to me. This also enables us to support 8.1 with the REL_1_0_STABLE branch. ---------------------------- date: 2005/06/09 15:01:44; author: wieck; state: Exp; lines: +3 -3 Fixed subtransaction bug The transaction ID used for log purposes must under PostgreSQL 8.0 and newer be obtained with GetTopTransactionId() rather than with GetCurrentTransactionId(). ---------------------------- date: 2005/04/13 21:21:24; author: cbbrowne; Address synchronization problem where a MOVE_SET event may get to cascaded subscribers *AFTER* the new origin has started generating SYNCs. The subscriber ignored those syncs since it doesn't yet know the origin has moved; this can lead to data loss. The ACCEPT_SET is added as a remedy; upon submitting the MOVE_SET, it also raises, on the new origin, an ACCEPT_SET event. That will necessarily precede any SYNCs coming from the new origin. Nodes that get the ACCEPT_SET event will wait until they also get the MOVE_SET event before proceeding, protecting from data loss. ---------------------------- date: 2005/04/13 20:39:32; author: cbbrowne; Address bug #1226 If a set contains no tables, then warn the user that they may run afoul of bug #1226. ---------------------------- date: 2005/02/16 22:31:19; author: smsimms; Add a missing WHERE clause that causes MOVE SET to fail when: 1. There are three or more nodes 2. Sets originate on at least two nodes 3. A set is being moved from a third node to one of the first two. ---------------------------- date: 2005/01/24 18:42:36; author: cbbrowne; Added in stored function for generating SYNC events ---------------------------- 1.0.5 Bugfixes and required minor features date: 2004/08/26 19:28:07; author: wieck; Since every notify causes a new row version for listeners, I added pg_listener to the list of tables vacuumed by the cleanup_thread. ---------------------------- date: 2004/08/27 19:07:58; author: darcyb; Fix segfaults in cleanup due to freeing un-inited query4 Thanks madjesta for tracking this one down ---------------------------- date: 2004/08/30 21:24:46; author: wieck; Fixed bug. Scan buffer must be zero-terminated. ---------------------------- date: 2004/09/14 02:49:33; author: wieck; Added functions to determine the current loaded slony schema. ---------------------------- date: 2004/09/22 00:34:14; author: wieck; Lower the lock on sl_event for event creation from ACCESS EXCLUSIVE to EXCLUSIVE. The purpose of this lock is to ensure that events are assigned sequence numbers in commit order. An exclusive lock is enough for that. ---------------------------- date: 2004/09/23 17:28:24; author: wieck; Added function cleanupListener(), which is called at slon startup and removes all stale entries from pg_listener. ---------------------------- date: 2004/09/24 17:32:05; author: wieck; unsubscribeSet_int() must delete sl_sequence entries too, or it leads to duplicate key errors when the node tries to subscribe again. ---------------------------- date: 2004/09/28 23:32:01; author: wieck; Added code to the cleanup SP to remove confirm entries for non-existing nodes. There is a possible overlap when dropping a node and slon inserting confirm records. If this happened, log never got removed any more. Also ignore confirms that are younger than 10 minutes. We had a case that is not entirely clear yet, but it looks as due to some server crash replication needed to be redone, but the provider had already deleted the event and log rows. ---------------------------- date: 2004/09/30 17:45:06; author: cbbrowne; 1. Add in 'helpitsbroken.txt', 'randomfacts.txt', and 'schemadoc.html' to STABLE 2. Modified README to point to additional new documentation 3. Implemented SET DROP TABLE and SET DROP SEQUENCE, modifying slonik, slon events, Slony-I functions, as well as the documentation. ---------------------------- date: 2004/10/06 15:08:56; author: wieck; Bugfix: The Slony1 log trigger assumed that if lookup_type_cache() returned an entry at all, that the eq_opr_finfo will be filled with a valid operator call address. But this is not true for user defined data types that do not have any equal operator at all. The log trigger will now fall back to string comparision of the output format for those data types. ---------------------------- date: 2004/10/08 16:30:11; author: wieck; Added SET MOVE TABLE and SET MOVE SEQUENCE commands to change the set a table or sequence belongs to without unsubscribing and resubscribing all nodes. ---------------------------- date: 2004/10/13 18:49:51; author: wieck; Added checks that ensure that slon is not running against any database that has either the wrong slony schema loaded or the wrong shared module version installed. ---------------------------- date: 2004/10/18 15:11:29; author: wieck; Added -v option to slon and slonik to show version number and exit. ---------------------------- date: 2004/10/18 15:11:29; author: wieck; Added -v option to slon (and slonik) to show version number and exit. ---------------------------- date: 2004/10/22 14:45:11; author: wieck; Prevent mergeSet(), setMoveTable() and setMoveSequence() to work while pending subscriptions exist. This prevents breaking of replication as reported per bug #896. ---------------------------- 1.0.3 Version number skipped due to late patch application ---------------------------- 1.0.2 Bugfix and 8.0 compatibility release date: 2004/07/09 13:43:09; author: wieck; Fixed bug causing subscription information not to be copied correctly on node initialization. ---------------------------- date: 2004/07/09 15:42:59; author: wieck; Fixed bug. If the event flow configured via listen is different from the data flow configured via subscribe set, then the new subscriber never started to copy the data. ---------------------------- date: 2004/07/31 05:10:16; author: wieck; Don't check for sync status on copy set if copying from the origin. ---------------------------- date: 2004/08/04 19:58:36; author: darcyb; PostgreSQL 7.5 has been renamed to 8.0, make it so that we pass 8.0 version checks ---------------------------- date: 2004/08/15 15:43:24; author: wieck; Disabled a listen+unlisten per SYNC processing, that caused pg_listener bloat. The pg_listener entry was used to speedup failover. The entire node restart mechanism will be redone in 1.1. ---------------------------- 1.0.1 Bugfix release date: 2004/07/07 16:33:39; author: wieck; Critical bugfix. Under some wiered circumstances in the MVCC it is possible that there is a gap between xmin and xmax in the snapshot but all transactions that fall into that range have already committed. In that case, the new_qual did mistakenly use xmin for the qualification and thereby lost the replication log rows generated by those transactions entirely. ---------------------------- 1.0.0 Release Branch