Zebra uses string attributes for indexing internally. Using set+numeric
[idzebra-moved-to-github.git] / index / zebraapi.c
index 1b24783..ff4902f 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: zebraapi.c,v 1.215 2006-05-03 09:31:26 marc Exp $
+/* $Id: zebraapi.c,v 1.218 2006-05-18 12:03:05 adam Exp $
    Copyright (C) 1995-2005
    Index Data ApS
 
@@ -246,6 +246,14 @@ ZebraService zebra_start_res (const char *configName, Res def_res, Res over_res)
         zh->path_root = res_get (zh->global_res, "root");
        zh->nmem = nmem_create();
        zh->record_classes = recTypeClass_create (zh->global_res, zh->nmem);
+
+       if (1)
+       {
+           const char *module_path = res_get(res, "modulePath");
+           if (module_path)
+               recTypeClass_load_modules(&zh->record_classes, zh->nmem,
+                                         module_path);
+       }
         return zh;
     }
     return 0;
@@ -360,12 +368,7 @@ struct zebra_register *zebra_register_open(ZebraService zs, const char *name,
 
     reg->keys = zebra_rec_keys_open();
 
-#if NATTR
     reg->sortKeys = zebra_rec_keys_open();
-#else
-    reg->sortKeys.buf = 0;
-    reg->sortKeys.buf_max = 0;
-#endif
 
     reg->records = 0;
     reg->dict = 0;
@@ -543,11 +546,7 @@ static void zebra_register_close(ZebraService zs, struct zebra_register *reg)
     data1_destroy (reg->dh);
 
     zebra_rec_keys_close(reg->keys);
-#if NATTR
     zebra_rec_keys_close(reg->sortKeys);
-#else
-    xfree(reg->sortKeys.buf);
-#endif
 
     xfree(reg->key_buf);
     xfree(reg->name);
@@ -2465,3 +2464,11 @@ void zebra_lock_prefix (Res res, char *path)
         strcat (path, "/");
 }
 
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+