/*%include "zebra_perl.h" */
-typedef struct {
- char *groupName;
- char *databaseName;
- char *path;
- char *recordId;
- char *recordType;
- int flagStoreData;
- int flagStoreKeys;
- int flagRw;
- int fileVerboseLimit;
- int databaseNamePath;
- int explainDatabase;
- int followLinks;
-} recordGroup;
typedef struct {
int noOfRecords;
char *errString; /* error string */
int position; /* position of record in result set (1,2,..) */
char *base;
- int sysno;
+ long long sysno;
int score;
char *format; /* record syntax */
RetrievalRecordBuf *buf;
char * zebra_errAdd (ZebraHandle zh);
-/* == Record groups and database selection ================================= */
+/* == Zebra resources and database selection =============================== */
-/* initialize a recordGroup (zebra_api_ext.c); */
-void init_recordGroup (recordGroup *rg);
+/* set a resource */
+%name(set_resource)
+void zebra_set_resource(ZebraHandle zh, const char *name, const char *value);
-/* set up a recordGroup for a specific file extension from zebra.cfg
- (zebra_api_ext.c); */
-void res_get_recordGroup (ZebraHandle zh, recordGroup *rg,
- const char *ext);
-/* set current record group for update purposes (zebraapi.c) */
-%name(set_group)
-void zebra_set_group (ZebraHandle zh, struct recordGroup *rg);
+/* get a resource */
+%name(get_resource)
+const char *zebra_set_resource(ZebraHandle zh, const char *name,
+ const char *defaultvalue);
/* select database for update purposes (zebraapi.c) */
%name(select_database)
int zebra_compact (ZebraHandle zh);
%name(repository_update)
-void zebra_repository_update (ZebraHandle zh);
+void zebra_repository_update (ZebraHandle zh, const char *path);
%name(repository_delete)
-void zebra_repository_delete (ZebraHandle zh);
+void zebra_repository_delete (ZebraHandle zh, const char *path);
%name(repository_show)
-void zebra_repository_show (ZebraHandle zh);
+void zebra_repository_show (ZebraHandle zh, const char *path);
/* == Record update/delete (zebra_api_ext.c) =============================== */
If not, and match_criteria is provided, then sysno is guessed
If not, and a record is provided, then sysno is got from there */
-%apply int *REFERENCE { int *sysno };
+%apply int *REFERENCE { long long *sysno };
%name(insert_record)
int zebra_insert_record (ZebraHandle zh,
- recordGroup *rGroup,
const char *recordType,
- int *sysno,
+ long long *sysno,
const char *match,
const char *fname,
const char *buf,
int buf_size,
- int force_update);
+ int force_update);
%name(update_record)
int zebra_update_record (ZebraHandle zh,
- recordGroup *rGroup,
const char *recordType,
- int *sysno,
+ long long *sysno,
const char *match,
const char *fname,
const char *buf,
%name(delete_record)
int zebra_delete_record (ZebraHandle zh,
- recordGroup *rGroup,
const char *recordType,
- int *sysno,
+ long long *sysno,
const char *match,
const char *fname,
const char *buf,
int buf_size,
int force_update);
-
/* == Search (zebraapi.c) ================================================== */
%include "typemaps.i"
%apply int *REFERENCE { int *hits };
int *statuses);
+/* Resultset terms */
+%name(resultSetTerms)
+int zebra_resultSetTerms (ZebraHandle zh, const char *setname,
+ int no, int *REFERENCE,
+ int *REFERENCE, char *out, int *REFERENCE);
+
/* == Sort ================================================================= */
%name(sort)
int zebra_sort_by_specstr (ZebraHandle zh,