From a57bc4c915e755399b997d907b2a2d219d179cfd Mon Sep 17 00:00:00 2001 From: Greg Sabino Mullane Date: Tue, 4 Aug 2015 22:49:00 -0400 Subject: [PATCH] Standardize on clean "off/on" output when changing bucardo.db makedelta and server_side_prepares. Basically, force everything from boolean to on/off when doing an 'bucardo update db ' --- bucardo | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/bucardo b/bucardo index cb795ed49..2a34838bf 100755 --- a/bucardo +++ b/bucardo @@ -2199,6 +2199,19 @@ sub update_database { ## Standardize the values as well my $value = $args->{$setting}; my $newvalue = transform_value($value); + my $oldvalue = $DB->{$name}{$newname}; + + ## We want certain booleans to appear as "off/on" + if ($setting =~ /makedelta|server_side_prepares/) { + $oldvalue = $oldvalue ? 'on' : 'off'; + ## Clean up, but lightly so invalid entries fall through for later + if ($newvalue =~ /^[1tT]/ or $newvalue =~ /^on/i) { + $newvalue = 'on'; + } + elsif ($newvalue =~ /^[0fF]/ or $newvalue =~ /^off/i) { + $newvalue = 'off'; + } + } ## Handle all the non-standard columns if ($newname =~ /^group/) { @@ -2283,7 +2296,6 @@ sub update_database { print qq{Cannot change "$newname"\n}; next; } - my $oldvalue = $DB->{$name}{$newname}; ## Has this really changed? if ($oldvalue eq $newvalue) { -- 2.39.5