ZebraRetrievalRecord changed. Fixed returning of null buffers in the wrapper
[idzebra-moved-to-github.git] / perl / lib / IDZebra.pm
index 8cd1372..b820918 100644 (file)
@@ -55,7 +55,9 @@ package IDZebra;
 *select_databases = *IDZebrac::select_databases;
 *begin_trans = *IDZebrac::begin_trans;
 *end_trans = *IDZebrac::end_trans;
+*trans_no = *IDZebrac::trans_no;
 *begin_read = *IDZebrac::begin_read;
+*zts_test = *IDZebrac::zts_test;
 *end_read = *IDZebrac::end_read;
 *commit = *IDZebrac::commit;
 *get_shadow_enable = *IDZebrac::get_shadow_enable;
@@ -68,9 +70,22 @@ package IDZebra;
 *update_record = *IDZebrac::update_record;
 *delete_record = *IDZebrac::delete_record;
 *search_PQF = *IDZebrac::search_PQF;
+*cql_transform_open_fname = *IDZebrac::cql_transform_open_fname;
+*cql_transform_close = *IDZebrac::cql_transform_close;
+*cql_transform_error = *IDZebrac::cql_transform_error;
+*cql2pqf = *IDZebrac::cql2pqf;
 *records_retrieve = *IDZebrac::records_retrieve;
 *record_retrieve = *IDZebrac::record_retrieve;
 *sort = *IDZebrac::sort;
+*scan_PQF = *IDZebrac::scan_PQF;
+sub getScanEntry {
+    my @args = @_;
+    my $result = IDZebrac::getScanEntry(@args);
+    return undef if (!defined($result));
+    my %resulthash;
+    tie %resulthash, ref($result), $result;
+    return bless \%resulthash, ref($result);
+}
 *nmem_create = *IDZebrac::nmem_create;
 *nmem_destroy = *IDZebrac::nmem_destroy;
 *data1_create = *IDZebrac::data1_create;
@@ -148,6 +163,8 @@ package IDZebra;
 *data1_get_tabpath = *IDZebrac::data1_get_tabpath;
 *data1_get_tabroot = *IDZebrac::data1_get_tabroot;
 *grs_perl_readf = *IDZebrac::grs_perl_readf;
+*grs_perl_readline = *IDZebrac::grs_perl_readline;
+*grs_perl_getc = *IDZebrac::grs_perl_getc;
 *grs_perl_seekf = *IDZebrac::grs_perl_seekf;
 *grs_perl_tellf = *IDZebrac::grs_perl_tellf;
 *grs_perl_endf = *IDZebrac::grs_perl_endf;
@@ -334,6 +351,10 @@ package IDZebra::RetrievalRecord;
 *swig_position_set = *IDZebrac::RetrievalRecord_position_set;
 *swig_base_get = *IDZebrac::RetrievalRecord_base_get;
 *swig_base_set = *IDZebrac::RetrievalRecord_base_set;
+*swig_sysno_get = *IDZebrac::RetrievalRecord_sysno_get;
+*swig_sysno_set = *IDZebrac::RetrievalRecord_sysno_set;
+*swig_score_get = *IDZebrac::RetrievalRecord_score_get;
+*swig_score_set = *IDZebrac::RetrievalRecord_score_set;
 *swig_format_get = *IDZebrac::RetrievalRecord_format_get;
 *swig_format_set = *IDZebrac::RetrievalRecord_format_set;
 *swig_buf_get = *IDZebrac::RetrievalRecord_buf_get;
@@ -467,6 +488,161 @@ sub STORE {
 }
 
 
+############# Class : IDZebra::ScanObj ##############
+
+package IDZebra::ScanObj;
+@ISA = qw( IDZebra );
+%OWNER = ();
+%BLESSEDMEMBERS = (
+    entries => 'IDZebra::ScanEntry',
+);
+
+%ITERATORS = ();
+*swig_num_entries_get = *IDZebrac::ScanObj_num_entries_get;
+*swig_num_entries_set = *IDZebrac::ScanObj_num_entries_set;
+*swig_position_get = *IDZebrac::ScanObj_position_get;
+*swig_position_set = *IDZebrac::ScanObj_position_set;
+*swig_is_partial_get = *IDZebrac::ScanObj_is_partial_get;
+*swig_is_partial_set = *IDZebrac::ScanObj_is_partial_set;
+*swig_entries_get = *IDZebrac::ScanObj_entries_get;
+*swig_entries_set = *IDZebrac::ScanObj_entries_set;
+sub new {
+    my $pkg = shift;
+    my @args = @_;
+    my $self = IDZebrac::new_ScanObj(@args);
+    return undef if (!defined($self));
+    $OWNER{$self} = 1;
+    my %retval;
+    tie %retval, "IDZebra::ScanObj", $self;
+    return bless \%retval, $pkg;
+}
+
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    delete $ITERATORS{$self};
+    if (exists $OWNER{$self}) {
+        IDZebrac::delete_ScanObj($self);
+        delete $OWNER{$self};
+    }
+}
+
+sub DISOWN {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    delete $OWNER{$ptr};
+    };
+
+sub ACQUIRE {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    $OWNER{$ptr} = 1;
+    };
+
+sub FETCH {
+    my ($self,$field) = @_;
+    my $member_func = "swig_${field}_get";
+    my $val = $self->$member_func();
+    if (exists $BLESSEDMEMBERS{$field}) {
+        return undef if (!defined($val));
+        my %retval;
+        tie %retval,$BLESSEDMEMBERS{$field},$val;
+        return bless \%retval, $BLESSEDMEMBERS{$field};
+    }
+    return $val;
+}
+
+sub STORE {
+    my ($self,$field,$newval) = @_;
+    my $member_func = "swig_${field}_set";
+    if (exists $BLESSEDMEMBERS{$field}) {
+        $self->$member_func(tied(%{$newval}));
+    } else {
+        $self->$member_func($newval);
+    }
+}
+
+
+############# Class : IDZebra::ZebraTransactionStatus ##############
+
+package IDZebra::ZebraTransactionStatus;
+@ISA = qw( IDZebra );
+%OWNER = ();
+%BLESSEDMEMBERS = (
+);
+
+%ITERATORS = ();
+*swig_processed_get = *IDZebrac::ZebraTransactionStatus_processed_get;
+*swig_processed_set = *IDZebrac::ZebraTransactionStatus_processed_set;
+*swig_inserted_get = *IDZebrac::ZebraTransactionStatus_inserted_get;
+*swig_inserted_set = *IDZebrac::ZebraTransactionStatus_inserted_set;
+*swig_updated_get = *IDZebrac::ZebraTransactionStatus_updated_get;
+*swig_updated_set = *IDZebrac::ZebraTransactionStatus_updated_set;
+*swig_deleted_get = *IDZebrac::ZebraTransactionStatus_deleted_get;
+*swig_deleted_set = *IDZebrac::ZebraTransactionStatus_deleted_set;
+*swig_utime_get = *IDZebrac::ZebraTransactionStatus_utime_get;
+*swig_utime_set = *IDZebrac::ZebraTransactionStatus_utime_set;
+*swig_stime_get = *IDZebrac::ZebraTransactionStatus_stime_get;
+*swig_stime_set = *IDZebrac::ZebraTransactionStatus_stime_set;
+sub new {
+    my $pkg = shift;
+    my @args = @_;
+    my $self = IDZebrac::new_ZebraTransactionStatus(@args);
+    return undef if (!defined($self));
+    $OWNER{$self} = 1;
+    my %retval;
+    tie %retval, "IDZebra::ZebraTransactionStatus", $self;
+    return bless \%retval, $pkg;
+}
+
+sub DESTROY {
+    return unless $_[0]->isa('HASH');
+    my $self = tied(%{$_[0]});
+    return unless defined $self;
+    delete $ITERATORS{$self};
+    if (exists $OWNER{$self}) {
+        IDZebrac::delete_ZebraTransactionStatus($self);
+        delete $OWNER{$self};
+    }
+}
+
+sub DISOWN {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    delete $OWNER{$ptr};
+    };
+
+sub ACQUIRE {
+    my $self = shift;
+    my $ptr = tied(%$self);
+    $OWNER{$ptr} = 1;
+    };
+
+sub FETCH {
+    my ($self,$field) = @_;
+    my $member_func = "swig_${field}_get";
+    my $val = $self->$member_func();
+    if (exists $BLESSEDMEMBERS{$field}) {
+        return undef if (!defined($val));
+        my %retval;
+        tie %retval,$BLESSEDMEMBERS{$field},$val;
+        return bless \%retval, $BLESSEDMEMBERS{$field};
+    }
+    return $val;
+}
+
+sub STORE {
+    my ($self,$field,$newval) = @_;
+    my $member_func = "swig_${field}_set";
+    if (exists $BLESSEDMEMBERS{$field}) {
+        $self->$member_func(tied(%{$newval}));
+    } else {
+        $self->$member_func($newval);
+    }
+}
+
+
 # ------- VARIABLE STUBS --------
 
 package IDZebra;