-# $Id: Session.pm,v 1.21 2004-09-09 14:12:10 adam Exp $
+# $Id: Session.pm,v 1.22 2004-09-09 15:23:07 heikki Exp $
#
# Zebra perl API header
# =============================================================================
use IDZebra::ScanList;
use IDZebra::RetrievalRecord;
require Exporter;
- our $VERSION = do { my @r = (q$Revision: 1.21 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+ our $VERSION = do { my @r = (q$Revision: 1.22 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
our @ISA = qw(IDZebra::Logger Exporter);
our @EXPORT = qw (TRANS_RW TRANS_RO);
}
sub insert_record {
my ($self, %args) = @_;
$self->checkzh;
+ $args{sysno}=0; # make sure we don't overwrite any records
my @args = $self->_record_update_args(%args);
- my $stat = IDZebra::insert_record($self->{zh}, @args);
- # ADAM: rg no longer part of vector
- print STDERR "\nsub insert_record stat=$stat sys=${$args[1]}\n";
- return $stat;
+ my @ret = IDZebra::insert_record($self->{zh}, @args);
+ return @ret; # returns ($status, $sysno)
}
sub update_record {
my ($self, %args) = @_;
$self->checkzh;
my @args = $self->_record_update_args(%args);
- my $stat = IDZebra::update_record($self->{zh}, @args);
- # ADAM: rg no longer part of vector
- my $sysno = $args[1]; $stat = -1 * $stat if ($stat > 0);
- return $stat ? $stat : $$sysno;
+ my @ret = IDZebra::update_record($self->{zh}, @args);
+ return @ret; # ($status, $sysno)
}
sub delete_record {
$self->checkzh;
my @args = $self->_record_update_args(%args);
my $stat = IDZebra::delete_record($self->{zh}, @args);
- # ADAM: rg no longer part of vector
- my $sysno = $args[1]; $stat = -1 * $stat if ($stat > 0);
+ return $stat;
}
sub _record_update_args {
my ($self, %args) = @_;
- my $dummysysno=0;
- my $sysno = $args{sysno} ? $args{sysno} : \$dummysysno;
+ my $sysno = $args{sysno} ? $args{sysno} : 0;
my $match = $args{match} ? $args{match} : "";
my $rectype = $args{recordType} ? $args{recordType} : "";
my $fname = $args{file} ? $args{file} : "<no file>";
#!perl
# =============================================================================
-# $Id: 03_record_update.t,v 1.8 2004-09-09 14:12:10 adam Exp $
+# $Id: 03_record_update.t,v 1.9 2004-09-09 15:23:07 heikki Exp $
#
# Perl API header
# =============================================================================
my $rec2=`cat lib/IDZebra/Filter.pm`;
my $rec3=`cat lib/IDZebra/Session.pm`;
-my ($sysno, $stat);
+my ($sysno, $stat, $ret);
$sess->init;
-# ADAM: we must set database separately (can't be set from group)
+# ADAM: we must set database separately (cant be set from group)
$sess->databases('demo1');
$sess->begin_trans;
-my $ret = $sess->insert_record(data => $rec1,
+($ret,$sysno) = $sess->insert_record(data => $rec1,
recordType => 'grs.perl.pod',
groupName => "demo1",
);
-print STDERR "\nAfter first insert_record. ret=$ret\n";
+print STDERR "\nAfter first insert_record. ret=$ret sysno=$sysno\n";
ok(($ret == 0),"Must return ret=0 (OK)");