X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Frecctrl.h;h=4736bd86ce2b6e3f66fd8a9ba7297e245523a83c;hb=5260b5390d8a1a36c66e52083e8ebb9d26b49f01;hp=93de77b410703e457596ac8043db373f5c89350a;hpb=fd12cf9b8e16c109f3c0f7aedb0e0efd65209e16;p=idzebra-moved-to-github.git diff --git a/include/recctrl.h b/include/recctrl.h index 93de77b..4736bd8 100644 --- a/include/recctrl.h +++ b/include/recctrl.h @@ -1,10 +1,29 @@ /* - * Copyright (C) 1994-1997, Index Data I/S + * Copyright (C) 1994-1998, Index Data I/S * All rights reserved. * Sebastian Hammer, Adam Dickmeiss * * $Log: recctrl.h,v $ - * Revision 1.21 1997-09-18 08:59:19 adam + * Revision 1.26 1998-05-20 10:12:12 adam + * Implemented automatic EXPLAIN database maintenance. + * Modified Zebra to work with ASN.1 compiled version of YAZ. + * + * Revision 1.25 1998/03/11 11:19:04 adam + * Changed the way sequence numbers are generated. + * + * Revision 1.24 1998/03/05 08:38:46 adam + * New member recordSize in recRetrieveCtrl. + * + * Revision 1.23 1998/02/10 12:03:05 adam + * Implemented Sort. + * + * Revision 1.22 1997/10/27 14:33:04 adam + * Moved towards generic character mapping depending on "structure" + * field in abstract syntax file. Fixed a few memory leaks. Fixed + * bug with negative integers when doing searches with relational + * operators. + * + * Revision 1.21 1997/09/18 08:59:19 adam * Extra generic handle for the character mapping routines. * * Revision 1.20 1997/09/17 12:19:10 adam @@ -85,34 +104,21 @@ #include #include #include +#include #ifdef __cplusplus extern "C" { #endif -typedef enum { - Word_String, - Word_Phrase, - Word_Numeric -} RecWordType; - /* single word entity */ typedef struct { int attrSet; int attrUse; - RecWordType which; -#if 0 - enum { - Word_String, - Word_Phrase, - Word_Numeric - } which; -#endif - union { - char *string; - int numeric; - } u; - int seqno; + unsigned reg_type; + char *string; + int length; + int *seqnos; + ZebraMaps zebra_maps; } RecWord; /* Extract record control */ @@ -124,10 +130,12 @@ struct recExtractCtrl { void (*endf)(void *fh, off_t offset); /* end of record position */ off_t offset; /* start offset */ char *subType; - void (*init)(RecWord *p); - void (*add)(const RecWord *p); - const char **(*map_chrs_input)(void *vp, const char **from, int len); + void (*init)(struct recExtractCtrl *p, RecWord *w); + void (*addWord)(RecWord *p); + ZebraMaps zebra_maps; int flagShowRecords; + int seqno[256]; + void (*addSchema)(struct recExtractCtrl *p, Odr_oid *oid); data1_handle dh; }; @@ -143,6 +151,7 @@ struct recRetrieveCtrl { Z_RecordComposition *comp; /* formatting instructions */ int localno; /* local id of record */ int score; /* score 0-1000 or -1 if none */ + int recordSize; /* size of record in bytes */ char *subType; data1_handle dh; @@ -164,6 +173,8 @@ typedef struct recType RecType recType_byName (const char *name, char *subType); +int grs_extract_tree(struct recExtractCtrl *p, data1_node *n); + #ifdef __cplusplus } #endif