X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=perl%2FIDZebra.i;h=e289a540287fbb5997cc65970d530448e7ab2d5d;hb=4003296c8a5cf45925cf18f2d6feef929ead1f66;hp=88e6a7bbcdaf0c348837fbb6c0a6eb7d1386b6fd;hpb=1b62315f3ba83b91a8580f72943124ba9cb09249;p=idzebra-moved-to-github.git diff --git a/perl/IDZebra.i b/perl/IDZebra.i index 88e6a7b..e289a54 100644 --- a/perl/IDZebra.i +++ b/perl/IDZebra.i @@ -7,6 +7,7 @@ #include "zebra_perl.h" #include "data1.h" #include "yaz/odr.h" +#include "yaz/cql.h" %} /* == Typemaps ============================================================= */ @@ -69,12 +70,21 @@ %include "zebra_perl.h" +typedef struct { + int processed; + int inserted; + int updated; + int deleted; + long utime; + long stime; +} ZebraTransactionStatus; + + /* == Module initialization and cleanup (zebra_perl.c) ===================== */ void init (void); void DESTROY (void); - /* == Logging facilities (yaz/log.h) ======================================= */ void logLevel (int level); @@ -164,12 +174,16 @@ void zebra_begin_trans (ZebraHandle zh); /* end transaction (remove write lock) (zebraapi.c) */ %name(end_trans) -void zebra_end_trans (ZebraHandle zh); +void zebra_end_transaction (ZebraHandle zh, ZebraTransactionStatus *stat); + +%name(trans_no) +int zebra_trans_no (ZebraHandle zh); -/* begin retrieval (add read lock) (zebraapi.c) */ %name(begin_read) int zebra_begin_read (ZebraHandle zh); +void zts_test (ZebraTransactionStatus *stat); + /* end retrieval (remove read lock) (zebraapi.c) */ %name(end_read) void zebra_end_read (ZebraHandle zh); @@ -214,6 +228,7 @@ void zebra_repository_show (ZebraHandle zh); %name(update_record) int zebra_update_record (ZebraHandle zh, recordGroup *rGroup, + const char *recordType, int sysno, const char *match, const char *fname, @@ -223,6 +238,7 @@ int zebra_update_record (ZebraHandle zh, %name(delete_record) int zebra_delete_record (ZebraHandle zh, recordGroup *rGroup, + const char *recordType, int sysno, const char *match, const char *fname, @@ -238,8 +254,16 @@ int zebra_search_PQF (ZebraHandle zh, const char *setname); -/* TODO: search_CCL */ +/* == YAZ - query tools ==================================================== */ + + +cql_transform_t cql_transform_open_fname(const char *fname); +void cql_transform_close(cql_transform_t ct); +int cql_transform_error(cql_transform_t ct, const char **addinfo); +%name(cql2pqf) +int zebra_cql2pqf (cql_transform_t ct, + const char *query, char *res, int len); /* == Retrieval (zebra_api_ext.c) ========================================== */ @@ -272,19 +296,6 @@ int sort (ZebraHandle zh, ); /* == Scan ================================================================= */ -/* -%apply int *INOUT {int *position}; -%apply int *INOUT {int *num_entries}; -%apply int *INOUT {int *is_partial}; - -%name(scan_PQF) -void zebra_scan_PQF (ZebraHandle zh, - ODR stream, - const char *pqf_query, - int *position, - int *num_entries, - int *is_partial); -*/ %name(scan_PQF) void zebra_scan_PQF (ZebraHandle zh, ScanObj *so,