adjusting the merge and remote_update interfaces
authormiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 24 Aug 2005 19:03:25 +0000 (19:03 +0000)
committermiker <miker@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Wed, 24 Aug 2005 19:03:25 +0000 (19:03 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@1717 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI.pm
Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher.pm

index 61ad637..6fcf59c 100644 (file)
@@ -178,7 +178,7 @@ sub merge {
        if (@objs == 1) {
                return $objs[0]->update($arg);
        } elsif (@objs == 0) {
-               return $self->create($arg);
+               return $self->create({%$search,%$arg});
        } else {
                throw OpenSRF::EX::WARN ("Non-unique search key for merge.  Perhaps you meant to use remote_update?");
        }
index 5f4668e..086e81f 100644 (file)
@@ -265,13 +265,14 @@ sub mass_delete {
 sub remote_update_node {
        my $self = shift;
        my $client = shift;
-       my $node = shift;
+       my $keys = shift;
+       my $vals = shift;
 
        my $cdbi = $self->{cdbi};
 
        my $success = 1;
        try {
-               $success = $cdbi->remote_update($node);
+               $success = $cdbi->remote_update($keys,$vals);
        } catch Error with {
                $success = 0;
        };
@@ -281,13 +282,14 @@ sub remote_update_node {
 sub merge_node {
        my $self = shift;
        my $client = shift;
-       my $node = shift;
+       my $keys = shift;
+       my $vals = shift;
 
        my $cdbi = $self->{cdbi};
 
        my $success = 1;
        try {
-               $success = $cdbi->merge($node)->id;
+               $success = $cdbi->merge($keys,$vals)->id;
        } catch Error with {
                $success = 0;
        };