Zebra uses string attributes for indexing internally. Using set+numeric
[idzebra-moved-to-github.git] / index / index.h
index 82480b5..d06d36d 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: index.h,v 1.159 2006-05-03 09:31:26 marc Exp $
+/* $Id: index.h,v 1.162 2006-05-19 13:49:34 adam Exp $
    Copyright (C) 1995-2005
    Index Data ApS
 
@@ -184,16 +184,6 @@ typedef struct zebra_rank_class {
 
 #include "reckeys.h"
 
-#if NATTR
-
-#else
-struct sortKeys {
-    int buf_used;
-    int buf_max;
-    char *buf;
-};
-#endif
-
 struct zebra_register {
     char *name;
     
@@ -219,12 +209,7 @@ struct zebra_register {
     int stop_flag;
 
     zebra_rec_keys_t keys;
-
-#if NATTR
     zebra_rec_keys_t sortKeys;
-#else
-    struct sortKeys sortKeys;
-#endif
     char **key_buf;
     size_t ptr_top;
     size_t ptr_i;
@@ -378,14 +363,13 @@ int zebra_server_lock (ZebraService zh, int lockCommit);
 void zebra_server_unlock (ZebraService zh, int commitPhase);
 int zebra_server_lock_get_state (ZebraService zh, time_t *timep);
 
+#if 1
 typedef struct attent
 {
     int attset_ordinal;
     data1_local_attribute *local_attributes;
 } attent;
-
-int att_getentbyatt(ZebraHandle zh, attent *res, oid_value set, int att,
-               const char *sattr);
+#endif
 
 int zebra_record_fetch (ZebraHandle zh, SYSNO sysno, int score, 
                        zebra_snippets *hit_snippet, ODR stream,
@@ -446,13 +430,8 @@ ZEBRA_RES zebra_snippets_hit_vector(ZebraHandle zh, const char *setname,
 void extract_flushRecordKeys (ZebraHandle zh, SYSNO sysno,
                               int cmd, zebra_rec_keys_t reckeys,
                              zint staticrank);
-#if NATTR
 void extract_flushSortKeys (ZebraHandle zh, SYSNO sysno,
                             int cmd, zebra_rec_keys_t skp);
-#else
-void extract_flushSortKeys (ZebraHandle zh, SYSNO sysno,
-                            int cmd, struct sortKeys *skp);
-#endif
 void extract_schema_add (struct recExtractCtrl *p, Odr_oid *oid);
 void extract_token_add (RecWord *p);
 int explain_extract (void *handle, Record rec, data1_node *n);
@@ -488,6 +467,32 @@ ZEBRA_RES zebra_get_hit_vector(ZebraHandle zh, const char *setname, zint sysno);
 void zebra_term_untrans(ZebraHandle zh, int reg_type,
                        char *dst, const char *src);
 
+ZEBRA_RES zebra_apt_get_ord(ZebraHandle zh,
+                            Z_AttributesPlusTerm *zapt,
+                            int index_type,
+                            const char *xpath_use,
+                            oid_value curAttributeSet,
+                            int *ord);
+
+ZEBRA_RES zebra_attr_list_get_ord(ZebraHandle zh,
+                                  Z_AttributeList *attr_list,
+                                  int index_type,
+                                  oid_value curAttributeSet,
+                                  int *ord);
+
+ZEBRA_RES zebra_sort_get_ord(ZebraHandle zh,
+                             Z_SortAttributes *sortAttributes,
+                             int *ord,
+                             int *numerical);
+
 YAZ_END_CDECL
 
 #endif
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+