Implemented sorting using ICU. Bug #1190. The Debian package now
[pazpar2-moved-to-github.git] / src / record.h
index 2ef42b2..2071621 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: record.h,v 1.6 2007-04-26 10:19:05 marc Exp $
+/* $Id: record.h,v 1.12 2007-09-10 16:25:50 adam Exp $
    Copyright (c) 2006-2007, Index Data.
 
 This file is part of Pazpar2.
@@ -28,7 +28,10 @@ struct client;
 struct conf_service;
 
 union data_types {
-    char *text;
+    struct {
+        const char *disp;
+        const char *sort;
+    } text;
     struct {
         int min;
         int max;
@@ -56,10 +59,15 @@ struct record {
     union data_types **sortkeys;
     // Next in cluster of merged records       
     struct record *next;  
+    // client result set position;
+    int position;
 };
 
 
-struct record * record_create(NMEM nmem, int num_metadata, int num_sortkeys);
+struct record * record_create(NMEM nmem, int num_metadata, int num_sortkeys,
+                              struct client *client, int position);
+
+struct record_metadata * record_metadata_create(NMEM nmem);
 
 struct record_metadata * record_metadata_insert(NMEM nmem, 
                                                 struct record_metadata ** rmd,
@@ -79,7 +87,6 @@ struct record_metadata * record_add_metadata(NMEM nmem,
                                              union data_types data);
 
 
-
 union data_types * record_assign_sortkey_field_id(NMEM nmem, 
                                                struct record * record,
                                                int field_id, 
@@ -104,7 +111,7 @@ struct record_cluster
     int relevance;
     int *term_frequency_vec;
     // Set-specific ID for this record
-    int recid; 
+    char *recid;
     struct record *records;
 };