Changes to provide Especs to the backend.
authorSebastian Hammer <quinn@indexdata.com>
Mon, 16 Oct 1995 13:51:41 +0000 (13:51 +0000)
committerSebastian Hammer <quinn@indexdata.com>
Mon, 16 Oct 1995 13:51:41 +0000 (13:51 +0000)
include/backend.h
include/dmalloc.h
include/prt-esp.h
include/yconfig.h
server/seshigh.c

index e7ef944..2c45752 100644 (file)
@@ -71,6 +71,7 @@ typedef struct bend_fetchrequest
     char *setname;             /* set name */
     int number;                /* record number */
     oid_value format;          /* One of the CLASS_RECSYN members */
     char *setname;             /* set name */
     int number;                /* record number */
     oid_value format;          /* One of the CLASS_RECSYN members */
+    Z_RecordComposition *comp; /* Formatting instructions */
     ODR stream;                /* encoding stream - memory source if required */
 } bend_fetchrequest;
 
     ODR stream;                /* encoding stream - memory source if required */
 } bend_fetchrequest;
 
index 59b1ffb..a68b59b 100644 (file)
  * OF THIS SOFTWARE.
  *
  * $Log: dmalloc.h,v $
  * OF THIS SOFTWARE.
  *
  * $Log: dmalloc.h,v $
- * Revision 1.4  1995-09-29 17:12:02  quinn
+ * Revision 1.5  1995-10-16 13:51:43  quinn
+ * Changes to provide Especs to the backend.
+ *
+ * Revision 1.4  1995/09/29  17:12:02  quinn
  * Smallish
  *
  * Revision 1.3  1995/09/27  15:02:47  quinn
  * Smallish
  *
  * Revision 1.3  1995/09/27  15:02:47  quinn
@@ -48,8 +51,6 @@
 
 #ifdef DEBUG_MALLOC
 
 
 #ifdef DEBUG_MALLOC
 
-#include <yconfig.h>
-
 #ifdef malloc
 #undef malloc
 #endif
 #ifdef malloc
 #undef malloc
 #endif
index ce0f3b8..26e947b 100644 (file)
@@ -137,7 +137,7 @@ typedef struct Z_Espec1
     Z_Variant *defaultVariantRequest;     /* OPTIONAL */
     int *defaultTagType;                  /* OPTIONAL */
     int num_elements;
     Z_Variant *defaultVariantRequest;     /* OPTIONAL */
     int *defaultTagType;                  /* OPTIONAL */
     int num_elements;
-    Z_ElementRequest *elements;           /* OPTIONAL */
+    Z_ElementRequest **elements;           /* OPTIONAL */
 } Z_Espec1;
 
 int z_Espec1(ODR o, Z_Espec1 **p, int opt);
 } Z_Espec1;
 
 int z_Espec1(ODR o, Z_Espec1 **p, int opt);
index f2a09ff..879943b 100644 (file)
@@ -1,6 +1,8 @@
 #ifndef YCONFIG_H
 #define YCONFIG_H
 
 #ifndef YCONFIG_H
 #define YCONFIG_H
 
+#include <dmalloc.h>
+
 #ifdef WINDOWS
 #define MDF
 #else
 #ifdef WINDOWS
 #define MDF
 #else
index 7e88771..2722d43 100644 (file)
@@ -4,7 +4,10 @@
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: seshigh.c,v $
  * Sebastian Hammer, Adam Dickmeiss
  *
  * $Log: seshigh.c,v $
- * Revision 1.48  1995-10-06 08:51:20  quinn
+ * Revision 1.49  1995-10-16 13:51:53  quinn
+ * Changes to provide Especs to the backend.
+ *
+ * Revision 1.48  1995/10/06  08:51:20  quinn
  * Added Write-buffer.
  *
  * Revision 1.47  1995/08/29  14:24:16  quinn
  * Added Write-buffer.
  *
  * Revision 1.47  1995/08/29  14:24:16  quinn
@@ -807,7 +810,7 @@ static Z_DiagRecs *diagrecs(oid_proto proto, int error, char *addinfo)
 #define MAX_RECORDS 256
 
 static Z_Records *pack_records(association *a, char *setname, int start,
 #define MAX_RECORDS 256
 
 static Z_Records *pack_records(association *a, char *setname, int start,
-                               int *num, Z_ElementSetNames *esn,
+                               int *num, Z_RecordComposition *comp,
                                int *next, int *pres, oid_value format)
 {
     int recno, total_length = 0, toget = *num;
                                int *next, int *pres, oid_value format)
 {
     int recno, total_length = 0, toget = *num;
@@ -848,6 +851,7 @@ static Z_Records *pack_records(association *a, char *setname, int start,
        }
        freq.setname = setname;
        freq.number = recno;
        }
        freq.setname = setname;
        freq.number = recno;
+       freq.comp = comp;
        freq.format = format;
        freq.stream = a->encode;
        if (!(fres = bend_fetch(a->backend, &freq, 0)))
        freq.format = format;
        freq.stream = a->encode;
        if (!(fres = bend_fetch(a->backend, &freq, 0)))
@@ -1036,24 +1040,25 @@ static Z_APDU *response_searchRequest(association *assoc, request *reqb,
     else
     {
        static int toget;
     else
     {
        static int toget;
-       Z_ElementSetNames *setnames;
+       Z_RecordComposition comp;
        static int presst = 0;
 
        resp.records = 0;
        resp.resultCount = &bsrt->hits;
 
        static int presst = 0;
 
        resp.records = 0;
        resp.resultCount = &bsrt->hits;
 
+       comp.which = Z_RecordComp_simple;
        /* how many records does the user agent want, then? */
        if (bsrt->hits <= *req->smallSetUpperBound)
        {
            toget = bsrt->hits;
        /* how many records does the user agent want, then? */
        if (bsrt->hits <= *req->smallSetUpperBound)
        {
            toget = bsrt->hits;
-           setnames = req->smallSetElementSetNames;
+           comp.u.simple = req->smallSetElementSetNames;
        }
        else if (bsrt->hits < *req->largeSetLowerBound)
        {
            toget = *req->mediumSetPresentNumber;
            if (toget > bsrt->hits)
                toget = bsrt->hits;
        }
        else if (bsrt->hits < *req->largeSetLowerBound)
        {
            toget = *req->mediumSetPresentNumber;
            if (toget > bsrt->hits)
                toget = bsrt->hits;
-           setnames = req->mediumSetElementSetNames;
+           comp.u.simple = req->mediumSetElementSetNames;
        }
        else
            toget = 0;
        }
        else
            toget = 0;
@@ -1069,7 +1074,7 @@ static Z_APDU *response_searchRequest(association *assoc, request *reqb,
            else
                form = prefformat->value;
            resp.records = pack_records(assoc, req->resultSetName, 1,
            else
                form = prefformat->value;
            resp.records = pack_records(assoc, req->resultSetName, 1,
-               &toget, setnames, &next, &presst, form);
+               &toget, &comp, &next, &presst, form);
            if (!resp.records)
                return 0;
            resp.numberOfRecordsReturned = &toget;
            if (!resp.records)
                return 0;
            resp.numberOfRecordsReturned = &toget;
@@ -1133,7 +1138,8 @@ static Z_APDU *process_presentRequest(association *assoc, request *reqb,
        form = prefformat->value;
     num = *req->numberOfRecordsRequested;
     resp.records = pack_records(assoc, req->resultSetId,
        form = prefformat->value;
     num = *req->numberOfRecordsRequested;
     resp.records = pack_records(assoc, req->resultSetId,
-       *req->resultSetStartPoint, &num, 0, &next, &presst, form);
+       *req->resultSetStartPoint, &num, req->recordComposition, &next,
+       &presst, form);
     if (!resp.records)
        return 0;
     resp.numberOfRecordsReturned = &num;
     if (!resp.records)
        return 0;
     resp.numberOfRecordsReturned = &num;