Greg Sabino Mullane [Sun, 29 Jun 2014 12:41:20 +0000 (08:41 -0400)]
Not sure why this code is the way it is, but we need to prevent duplicate entries, so here's a bandaid.
Greg Sabino Mullane [Sat, 28 Jun 2014 18:49:19 +0000 (14:49 -0400)]
Much cleanup and expansion of conflict handler codes.
Allow an overall winner to be declared by customcode, both one-time and until restart.
Use new pause_and_exit rather than dying, so kids don't just spin their wheels when something goes wrong.
Greg Sabino Mullane [Sat, 28 Jun 2014 12:07:18 +0000 (08:07 -0400)]
Clean up args to conflict handling routines
Greg Sabino Mullane [Sat, 28 Jun 2014 12:05:57 +0000 (08:05 -0400)]
Show associated syncs with customcodes
Greg Sabino Mullane [Sat, 28 Jun 2014 12:00:15 +0000 (08:00 -0400)]
Properly account for the case when the track table is empty, when doing our conflict resolution lookups.
Add better debugging.
Greg Sabino Mullane [Sat, 28 Jun 2014 11:57:02 +0000 (07:57 -0400)]
Make sure we allow space-containing arguments for things like add_sync conflict="a b c"
Greg Sabino Mullane [Fri, 27 Jun 2014 20:48:17 +0000 (16:48 -0400)]
Make sure we only populate the final track table when the deltas for it are non-zero.
Greg Sabino Mullane [Fri, 27 Jun 2014 20:40:47 +0000 (16:40 -0400)]
Fix up conflict handling - make sure we have proper db handle, and record the actual count, not just the existence.
Greg Sabino Mullane [Thu, 26 Jun 2014 17:32:43 +0000 (13:32 -0400)]
Allow alternate ways to say conflict_strategy (which is a pain to type!)
Greg Sabino Mullane [Thu, 26 Jun 2014 17:32:08 +0000 (13:32 -0400)]
Fixes and debugging for conflict strategy code
Greg Sabino Mullane [Thu, 26 Jun 2014 17:31:27 +0000 (13:31 -0400)]
Allow the CSV format when doing add database
Greg Sabino Mullane [Thu, 26 Jun 2014 17:30:25 +0000 (13:30 -0400)]
Allow 'conflict' as an alias for 'conflict_strategy'
Greg Sabino Mullane [Thu, 26 Jun 2014 17:29:20 +0000 (13:29 -0400)]
Allow the dbnames parameter to specify roles when doing an add database
Greg Sabino Mullane [Thu, 26 Jun 2014 17:29:11 +0000 (13:29 -0400)]
Test timer tweak
Greg Sabino Mullane [Wed, 25 Jun 2014 20:25:22 +0000 (16:25 -0400)]
Give better output when setting conflict_strategy, and do some basic validation.
Allow conflict as an alias
Greg Sabino Mullane [Wed, 25 Jun 2014 17:45:52 +0000 (13:45 -0400)]
Skip noise word 'set' in update sync
Greg Sabino Mullane [Tue, 24 Jun 2014 16:01:19 +0000 (12:01 -0400)]
Cache our makedelta other sync information. Adjust test to test it better.
Greg Sabino Mullane [Tue, 24 Jun 2014 15:35:12 +0000 (11:35 -0400)]
Allow some other values for boolean args in bucardo: yes/no on/off
Greg Sabino Mullane [Tue, 24 Jun 2014 14:22:21 +0000 (10:22 -0400)]
Mention wiki
Greg Sabino Mullane [Tue, 24 Jun 2014 12:56:04 +0000 (08:56 -0400)]
Bump version to 5.0.1.
Mostly so we don't accidentally release another 5.0.0
Greg Sabino Mullane [Mon, 23 Jun 2014 16:55:21 +0000 (12:55 -0400)]
Signature for version 5.0.0
Greg Sabino Mullane [Mon, 23 Jun 2014 16:53:38 +0000 (12:53 -0400)]
Release date: 5.0.0 June 23, 2014
Greg Sabino Mullane [Mon, 23 Jun 2014 16:07:08 +0000 (12:07 -0400)]
Make sure tests have needed pid directory
Greg Sabino Mullane [Mon, 23 Jun 2014 14:44:39 +0000 (10:44 -0400)]
Fix up test test; better version output too.
Greg Sabino Mullane [Mon, 23 Jun 2014 14:22:04 +0000 (10:22 -0400)]
Change number of test values back to 30: over that runs into date problems, and we no longer need higher values anyway.
Greg Sabino Mullane [Mon, 23 Jun 2014 14:21:27 +0000 (10:21 -0400)]
Test for servers going away suddenly and how Bucardo deals with that.
Greg Sabino Mullane [Mon, 23 Jun 2014 00:18:10 +0000 (20:18 -0400)]
We use 33 in some tests, so make our test values go until 40
Greg Sabino Mullane [Sun, 22 Jun 2014 12:33:44 +0000 (08:33 -0400)]
Plan the tests *after* we adjust the counts
Greg Sabino Mullane [Sun, 22 Jun 2014 12:03:02 +0000 (08:03 -0400)]
This test fails badly for older versions of DBD::Pg, so check for that and skip the tests as needed.
Greg Sabino Mullane [Sat, 21 Jun 2014 20:33:37 +0000 (16:33 -0400)]
Account for test irregularities where most of the initdb-created data directory is gone, but some remains so pg_ctl fails.
Greg Sabino Mullane [Sat, 21 Jun 2014 20:25:01 +0000 (16:25 -0400)]
Change more 'database group' to 'dbgroup'
Greg Sabino Mullane [Sat, 21 Jun 2014 19:36:54 +0000 (15:36 -0400)]
Need Pod::Parser for bucardo help magic
Greg Sabino Mullane [Sat, 21 Jun 2014 19:31:20 +0000 (15:31 -0400)]
There are systems that, sadly, do not have CGI.
Greg Sabino Mullane [Sat, 21 Jun 2014 19:13:29 +0000 (15:13 -0400)]
Remove debugging
Greg Sabino Mullane [Sat, 21 Jun 2014 14:55:28 +0000 (10:55 -0400)]
Proper variable name
Greg Sabino Mullane [Fri, 20 Jun 2014 23:05:52 +0000 (19:05 -0400)]
So it begins...version 5.0.0.
(This time for sure)
Greg Sabino Mullane [Fri, 20 Jun 2014 17:26:19 +0000 (13:26 -0400)]
Minor release cleanups
Greg Sabino Mullane [Thu, 19 Jun 2014 21:25:51 +0000 (17:25 -0400)]
Change tests to reflect recent wording changes.
Greg Sabino Mullane [Thu, 19 Jun 2014 20:04:29 +0000 (16:04 -0400)]
Add a new lint test to detect hash names with spaces in them, to catch the mistake I made earlier.
Greg Sabino Mullane [Thu, 19 Jun 2014 16:29:27 +0000 (12:29 -0400)]
Any day now, but certainly not in 2013!t
Greg Sabino Mullane [Thu, 19 Jun 2014 15:16:36 +0000 (11:16 -0400)]
Typo!
Greg Sabino Mullane [Thu, 19 Jun 2014 10:54:15 +0000 (06:54 -0400)]
Use relgroup and dbgroup consistenly everywhere, rather than bouncing back and forth between short and long forms.
Greg Sabino Mullane [Wed, 18 Jun 2014 21:39:34 +0000 (17:39 -0400)]
Don't clutter logs when a sync is paused and being kicked.
Greg Sabino Mullane [Wed, 18 Jun 2014 13:48:49 +0000 (09:48 -0400)]
Clean up some of the dependencies, get them in sync
Greg Sabino Mullane [Wed, 18 Jun 2014 13:41:33 +0000 (09:41 -0400)]
Tweak log_level output
Greg Sabino Mullane [Wed, 18 Jun 2014 13:41:03 +0000 (09:41 -0400)]
Make sure resumed syncs start out with a kick if needed
Greg Sabino Mullane [Wed, 18 Jun 2014 13:32:18 +0000 (09:32 -0400)]
Tabs to spaces
Greg Sabino Mullane [Wed, 18 Jun 2014 13:30:57 +0000 (09:30 -0400)]
On install, switch to database postgres if our initial selection fails
Greg Sabino Mullane [Wed, 18 Jun 2014 13:28:58 +0000 (09:28 -0400)]
Allow dashes in usernames for install magic
Greg Sabino Mullane [Tue, 17 Jun 2014 13:15:37 +0000 (09:15 -0400)]
Clean up wording on add_sync
Greg Sabino Mullane [Sun, 15 Jun 2014 19:29:31 +0000 (15:29 -0400)]
Test cleanups
Greg Sabino Mullane [Sun, 15 Jun 2014 17:27:47 +0000 (13:27 -0400)]
Adjust tests for new add_database changes. Make sure that first db added to a new group is source, but if to an existing group, always target.
Greg Sabino Mullane [Sun, 15 Jun 2014 15:58:11 +0000 (11:58 -0400)]
New makedelta plan: do not rely on ALWAYS triggers (too many side effects), but lookup the other syncs and send messages to them manually.
Greg Sabino Mullane [Sun, 15 Jun 2014 11:53:08 +0000 (07:53 -0400)]
Add some magic to transform raw "active" and "inactive" to status=$1
Greg Sabino Mullane [Sun, 15 Jun 2014 10:33:05 +0000 (06:33 -0400)]
Fix up reload - the whole MCP if not args, else look for named syncs.
Greg Sabino Mullane [Sun, 15 Jun 2014 10:28:23 +0000 (06:28 -0400)]
Skip the 'extra args' when doing an update_database
Greg Sabino Mullane [Sat, 14 Jun 2014 23:33:30 +0000 (19:33 -0400)]
When grabbing the last modification time for all tables in conflict resolution, make sure we shove NULLs to the bottom!
Greg Sabino Mullane [Sat, 14 Jun 2014 17:54:53 +0000 (13:54 -0400)]
Allow syncs to be paused and resumed via command line.
Greg Sabino Mullane [Sat, 14 Jun 2014 16:41:16 +0000 (12:41 -0400)]
Do not allow syncs to be named "sync"
Greg Sabino Mullane [Sat, 14 Jun 2014 12:45:36 +0000 (08:45 -0400)]
Fix incorrect table gathering
Greg Sabino Mullane [Fri, 13 Jun 2014 17:36:59 +0000 (13:36 -0400)]
Allow 'bucardo stop' to work if piddir is set (and if database is not reachable)
Greg Sabino Mullane [Fri, 13 Jun 2014 11:03:48 +0000 (07:03 -0400)]
Allow :s and :t as valid shortcuts when specifying roles for a database
Greg Sabino Mullane [Fri, 13 Jun 2014 11:02:53 +0000 (07:02 -0400)]
Do not show connction failure message on install if we are trying a different user.
If the postgres user fails on install, try ENV{USER} - even in batch mode.
Greg Sabino Mullane [Fri, 13 Jun 2014 11:01:31 +0000 (07:01 -0400)]
When adding all tables, make sure we truly find the best db (previous check was not enough, as dbcols->{db} was often undef but existed)
Greg Sabino Mullane [Fri, 13 Jun 2014 11:00:33 +0000 (07:00 -0400)]
Allow the role to be specified when adding dbgroups from command line during 'bucardo add database'
Greg Sabino Mullane [Fri, 13 Jun 2014 10:54:07 +0000 (06:54 -0400)]
Remove duplicated arg
Greg Sabino Mullane [Fri, 13 Jun 2014 10:43:25 +0000 (06:43 -0400)]
Do not default to user 'bucardo' on install
Greg Sabino Mullane [Thu, 12 Jun 2014 16:04:42 +0000 (12:04 -0400)]
Allow the piddir to be overidden at the bucardorc level
Greg Sabino Mullane [Wed, 11 Jun 2014 13:58:50 +0000 (09:58 -0400)]
Fix up customcode for conflict handlers
Greg Sabino Mullane [Wed, 11 Jun 2014 13:58:11 +0000 (09:58 -0400)]
Allow syncs to be updates with just 'active' or 'inactive' as shortcuts for status=xxx
Greg Sabino Mullane [Wed, 11 Jun 2014 13:56:30 +0000 (09:56 -0400)]
Allow update customcode to change the source code
Greg Sabino Mullane [Wed, 11 Jun 2014 13:55:48 +0000 (09:55 -0400)]
Minor fixes to bucardo script
Greg Sabino Mullane [Wed, 11 Jun 2014 13:53:04 +0000 (09:53 -0400)]
On startup, go ahead and charge forward if the PID in the mcp pid file seems invalid - and remove that file as well.
Per github issue #80
Greg Sabino Mullane [Tue, 10 Jun 2014 16:30:10 +0000 (12:30 -0400)]
Adjust the makedelta tests
Greg Sabino Mullane [Tue, 10 Jun 2014 11:50:31 +0000 (07:50 -0400)]
Clean up makedelta system a bit
Greg Sabino Mullane [Mon, 9 Jun 2014 15:55:20 +0000 (11:55 -0400)]
Change the per-sync isolation level default to match the global one: repeatable read. Serializable was simply causing too many problems in the tests, and is most likely overkill considering the usual workload of DELETE/COPY.
Greg Sabino Mullane [Mon, 9 Jun 2014 11:51:34 +0000 (07:51 -0400)]
Prevent autovivification of an important hash.
This was causing too many updates to the trigger tracking table.
Should clear up recurring serialization errors seen.
Greg Sabino Mullane [Sun, 8 Jun 2014 17:15:05 +0000 (13:15 -0400)]
Minor formatting cleanups
Greg Sabino Mullane [Sun, 8 Jun 2014 12:44:27 +0000 (08:44 -0400)]
Tweak test for new output format
Greg Sabino Mullane [Sun, 8 Jun 2014 12:43:21 +0000 (08:43 -0400)]
Only assume database being added to a group is source if we have more than one db being added at once
Greg Sabino Mullane [Sun, 8 Jun 2014 00:06:24 +0000 (20:06 -0400)]
Make sure we turn off confirm_commit when testing
Greg Sabino Mullane [Sat, 7 Jun 2014 21:09:00 +0000 (17:09 -0400)]
Tabs again.
Greg Sabino Mullane [Sat, 7 Jun 2014 19:36:55 +0000 (15:36 -0400)]
add_sync: fix checking for existing dbgroup; add back in confirm_commit
Greg Sabino Mullane [Sat, 7 Jun 2014 19:32:14 +0000 (15:32 -0400)]
Make tables=all (e.g. for add_sync) add only tables with pkeys or unique indexes; also excludes the bucardo schema.
Greg Sabino Mullane [Sat, 7 Jun 2014 18:58:55 +0000 (14:58 -0400)]
Use savepoints when removing databases, in case we need to use the evals
Greg Sabino Mullane [Sat, 7 Jun 2014 18:43:20 +0000 (14:43 -0400)]
Add new ENV BUCARDO_CONFIRM which sets bcargs->{confirm} inside of the bucardo program.
Greg Sabino Mullane [Sat, 7 Jun 2014 18:37:10 +0000 (14:37 -0400)]
Mild doc updates
Greg Sabino Mullane [Sat, 7 Jun 2014 18:29:27 +0000 (14:29 -0400)]
Use smallint, integer, and bigint rather than int[248] for the column types in the goat table.
Greg Sabino Mullane [Sat, 7 Jun 2014 15:10:44 +0000 (11:10 -0400)]
Allow add_database to take more than one arg so we can add multiple databases at once via command line
Greg Sabino Mullane [Fri, 6 Jun 2014 22:32:12 +0000 (18:32 -0400)]
Allow the 'dbs' argument to specify a dbgroup when doing "add_sync", for backwards compatibility.
Greg Sabino Mullane [Fri, 6 Jun 2014 19:51:11 +0000 (15:51 -0400)]
Remove few instances of trailing whitespace
Greg Sabino Mullane [Fri, 6 Jun 2014 19:50:56 +0000 (15:50 -0400)]
Trailing whitespace check for Bucardo.pm too
Greg Sabino Mullane [Fri, 6 Jun 2014 19:47:59 +0000 (15:47 -0400)]
Quick trailing whitespace testing
Greg Sabino Mullane [Fri, 6 Jun 2014 19:47:21 +0000 (15:47 -0400)]
Make add_sync much smarter and clearer. Should now be able to add dbgroups, dbs, tables, and relgroups more intuitively.
David E. Wheeler [Tue, 3 Jun 2014 21:22:36 +0000 (14:22 -0700)]
Use -l to check for a symlink.
Not -s. From [-X.pod](http://perldoc.perl.org/functions/-X.html):
-s File has nonzero size (returns size in bytes).
-l File is a symbolic link.
Bug introduced in
9a1c0dbf.
Greg Sabino Mullane [Sun, 1 Jun 2014 22:07:48 +0000 (18:07 -0400)]
Allow args to use : or = as delimiters.
Allow more aliases for tables in add sync calls.
Greg Sabino Mullane [Sun, 1 Jun 2014 20:34:09 +0000 (16:34 -0400)]
Set the log prefix immediately after forking, based on the passed-in type
Greg Sabino Mullane [Sat, 31 May 2014 18:38:43 +0000 (14:38 -0400)]
Spellcheck and linty cleanups
Greg Sabino Mullane [Sat, 31 May 2014 12:34:54 +0000 (08:34 -0400)]
Make sure we import our methods!
Greg Sabino Mullane [Sat, 31 May 2014 12:30:07 +0000 (08:30 -0400)]
Tabs to spaces