From b2c490b39ab9069bc945b665b682854f6067b231 Mon Sep 17 00:00:00 2001 From: miker Date: Wed, 24 Aug 2005 19:03:25 +0000 Subject: [PATCH] adjusting the merge and remote_update interfaces git-svn-id: svn://svn.open-ils.org/ILS/trunk@1717 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../src/perlmods/OpenILS/Application/Storage/CDBI.pm | 2 +- .../perlmods/OpenILS/Application/Storage/Publisher.pm | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI.pm b/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI.pm index 61ad637908..6fcf59c9f9 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/CDBI.pm @@ -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?"); } diff --git a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher.pm b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher.pm index 5f4668ea8d..086e81f0cf 100644 --- a/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher.pm +++ b/Open-ILS/src/perlmods/OpenILS/Application/Storage/Publisher.pm @@ -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; }; -- 2.43.2