Use the correct list of pk columns when generating makedelta entries: before we were...
authorGreg Sabino Mullane <greg@endpoint.com>
Tue, 25 Nov 2014 12:27:20 +0000 (07:27 -0500)
committerGreg Sabino Mullane <greg@endpoint.com>
Tue, 25 Nov 2014 12:27:20 +0000 (07:27 -0500)
Bucardo.pm

index 02d37b2903554805c96748bd437b6b6fbf49d00b..de8dcbf648500f577fe39fc7fcf9d0fff2ae7c0f 100644 (file)
@@ -9762,16 +9762,17 @@ sub push_rows {
                 my $d = $sync->{db}{ $t->{name} };
                 if (!$fullcopy and $d->{does_makedelta}{$S}{$T}) {
                     $self->glog("Using makedelta to populate delta and track tables for $t->{name}.$tname", LOG_VERBOSE);
-                    my ($cols, $vals);
+                    my $vals;
                     if ($numpks == 1) {
-                        $cols = "($pkcols)";
                         $vals = join ',', map { "($_)" } map { @{ $_ } } @pkvals;
-                    } else {
-                        $cols = $pkcols;
+                    }
+                    else {
                         $vals = join ',', map { @{ $_ } } @pkvals;
                     }
+                    my $cols = join ',' => @{ $goat->{qpkey} };
+
                     $dbh->do(qq{
-                        INSERT INTO bucardo.$goat->{deltatable} $cols
+                        INSERT INTO bucardo.$goat->{deltatable} ($cols)
                         VALUES $vals
                     });
                     # Make sure we track it - but only if this sync already acts as a source!