-# $Id: Session.pm,v 1.20 2004-07-28 08:15:46 adam Exp $
+# $Id: Session.pm,v 1.21 2004-09-09 14:12:10 adam Exp $
#
# Zebra perl API header
# =============================================================================
use IDZebra::ScanList;
use IDZebra::RetrievalRecord;
require Exporter;
- our $VERSION = do { my @r = (q$Revision: 1.20 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+ our $VERSION = do { my @r = (q$Revision: 1.21 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
our @ISA = qw(IDZebra::Logger Exporter);
our @EXPORT = qw (TRANS_RW TRANS_RO);
}
my @args = $self->_record_update_args(%args);
my $stat = IDZebra::insert_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;
+ print STDERR "\nsub insert_record stat=$stat sys=${$args[1]}\n";
+ return $stat;
}
sub update_record {
sub _record_update_args {
my ($self, %args) = @_;
-
- my $sysno = $args{sysno} ? $args{sysno} : 0;
+ my $dummysysno=0;
+ my $sysno = $args{sysno} ? $args{sysno} : \$dummysysno;
my $match = $args{match} ? $args{match} : "";
my $rectype = $args{recordType} ? $args{recordType} : "";
my $fname = $args{file} ? $args{file} : "<no file>";
}
# ADAM: rg no longer part of vector..
- return ($rectype, \$sysno, $match, $fname, $buff, $len, $force);
+ return ($rectype, $sysno, $match, $fname, $buff, $len, $force);
}
# -----------------------------------------------------------------------------
#!perl
# =============================================================================
-# $Id: 03_record_update.t,v 1.7 2004-07-28 08:15:47 adam Exp $
+# $Id: 03_record_update.t,v 1.8 2004-09-09 14:12:10 adam Exp $
#
# Perl API header
# =============================================================================
my ($sysno, $stat);
+$sess->init;
+
# ADAM: we must set database separately (can't be set from group)
$sess->databases('demo1');
-$sess->begin_trans;
-$sysno = $sess->update_record(data => $rec1,
- recordType => 'grs.perl.pod',
- groupName => "demo1",
- );
-$stat = $sess->end_trans;
-ok(($stat->{updated} == 1), "Updated 1 records");
-
-$sess->begin_trans;
-$sysno = $sess->delete_record(data => $rec2,
- recordType => 'grs.perl.pod',
- groupName => "demo1",
- );
-$stat = $sess->end_trans;
-ok(($stat->{deleted} == 1), "Deleted 1 records");
-
-$sess->begin_trans;
-$sysno = $sess->insert_record(data => $rec2,
- recordType => 'grs.perl.pod',
- groupName => "demo1",
- );
-$stat = $sess->end_trans;
-ok(($stat->{inserted} == 1), "Inserted 1 records");
-ok(($sysno > 0),"Inserted record got valid sysno");
$sess->begin_trans;
-$sysno = $sess->insert_record(data => $rec2,
+my $ret = $sess->insert_record(data => $rec1,
recordType => 'grs.perl.pod',
groupName => "demo1",
);
-$stat = $sess->end_trans;
-ok(($stat->{inserted} == 0), "Inserted 0 records");
-ok(($stat->{updated} == 0), "Updated 0 records");
-ok(($sysno < 0),"Inserted record got invalid sysno");
-
-$sess->begin_trans;
-my $sysno1 = $sess->update_record(data => $rec2,
- recordType => 'grs.perl.pod',
- groupName => "demo1",
- );
+print STDERR "\nAfter first insert_record. ret=$ret\n";
-my $sysno2 = $sess->update_record(data => $rec2,
- recordType => 'grs.perl.pod',
- groupName => "demo1",
- );
-
-$stat = $sess->end_trans;
-ok(($stat->{inserted} == 0), "Inserted 0 records");
-ok(($stat->{updated} == 1), "Updated $stat->{updated} records");
-ok(($sysno1 > 0),"Updated record got valid sysno");
-ok(($sysno2 < 0),"Unupdated record got invalid sysno");
+ok(($ret == 0),"Must return ret=0 (OK)");
-$sess->begin_trans;
-$sysno = $sess->delete_record(data => $rec3,
- recordType => 'grs.perl.pod',
- groupName => "demo1",
- );
$stat = $sess->end_trans;
-
+ok(($stat->{inserted} == 1), "Inserted 1 records");
+die;
$sess->begin_trans;
-$sysno = $sess->update_record(data => $rec2,
+$sysno=-42;
+$ret = $sess->insert_record(data => $rec2,
recordType => 'grs.perl.pod',
groupName => "demo1",
+ sysno => \$sysno,
);
-
-foreach my $i (1..100) {
- $sysno = $sess->update_record(data => $rec2,
- recordType => 'grs.perl.pod',
- groupName => "demo1",
- force => 1,
- );
-}
-foreach my $i (1..10) {
- $sysno = $sess->update_record(data => $rec3,
- recordType => 'grs.perl.pod',
- groupName => "demo1",
- force => 1,
- );
-}
-foreach my $i (1..10) {
- $sysno = $sess->update_record(data => $rec2,
- recordType => 'grs.perl.pod',
- groupName => "demo1",
- force => 1,
- );
-}
-
+ok(($ret == 0 && $sysno != 42),"Inserted record got valid sysno");
$stat = $sess->end_trans;
-ok(($stat->{inserted} == 1), "Inserted $stat->{inserted} records");
-ok(($stat->{updated} == 120), "Updated $stat->{updated} records");
-ok(($sysno > 0),"Inserted got valid sysno");
-
-# ----------------------------------------------------------------------------
-# Close session
+ok(($stat->{inserted} == 1), "Inserted 1 records");
$sess->commit;
$sess->close;