Merge branch 'master' of ssh://git.indexdata.com/home/git/pub/pazpar2
authorDennis Schafroth <dennis@indexdata.com>
Mon, 21 May 2012 11:27:27 +0000 (11:27 +0000)
committerDennis Schafroth <dennis@indexdata.com>
Mon, 21 May 2012 11:27:27 +0000 (11:27 +0000)
Conflicts:
test/test_limit_limitmap.urls

src/database.c
src/database.h
src/pazpar2_config.c
src/pazpar2_config.h
src/settings.c
src/settings.h
test/run_pazpar2.sh
test/test_limit_limitmap_4.xml
test/test_limit_limitmap_settings_3.xml
test/test_limit_limitmap_settings_4.xml
test/test_solr.urls

index f45cab5..d59ce34 100644 (file)
@@ -58,7 +58,7 @@ struct database *new_database(const char *id, NMEM nmem)
 {
     return new_database_inherit_settings(id, nmem, 0);
 }
-struct database *new_database_inherit_settings(const char *id, NMEM nmem, struct settings *service_settings)
+struct database *new_database_inherit_settings(const char *id, NMEM nmem, struct settings_array *service_settings)
 {
     struct database *db;
     struct setting *idset;
@@ -70,16 +70,15 @@ struct database *new_database_inherit_settings(const char *id, NMEM nmem, struct
     if (service_settings && service_settings->num_settings > 0) {
         yaz_log(YLOG_DEBUG, "copying settings from service to database %s settings", db->id);
         db->num_settings = service_settings->num_settings;
-        db->settings = nmem_malloc(nmem, sizeof(struct settings*) * db->num_settings);
+        db->settings = nmem_malloc(nmem, sizeof(*db->settings) * db->num_settings);
         // Initialize database settings with service settings
-        memcpy(db->settings, service_settings->settings,  sizeof(struct settings*) * db->num_settings);
-
+        memcpy(db->settings, service_settings->settings,  sizeof(*db->settings) * db->num_settings);
     }
     else {
         yaz_log(YLOG_DEBUG, "No service settings to database %s ", db->id);
         db->num_settings = PZ_MAX_EOF;
-        db->settings = nmem_malloc(nmem, sizeof(struct settings*) * db->num_settings);
-        memset(db->settings, 0, sizeof(struct settings*) * db->num_settings);
+        db->settings = nmem_malloc(nmem, sizeof(*db->settings) * db->num_settings);
+        memset(db->settings, 0, sizeof(*db->settings) * db->num_settings);
     }
     idset = nmem_malloc(nmem, sizeof(*idset));
     idset->precedence = 0;
@@ -103,7 +102,6 @@ struct database *create_database_for_service(const char *id,
     
     yaz_log(YLOG_DEBUG, "new database %s under service %s", id, service->id);
     p = new_database_inherit_settings(id, service->nmem, service->settings);
-
     p->next = service->databases;
     service->databases = p;
 
index 0ed6fa9..9fbe340 100644 (file)
@@ -23,7 +23,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 struct session_database;
 struct session;
 struct conf_service;
-struct settings;
+struct settings_array;
 
 struct database *create_database_for_service(const char *id,
                                             struct conf_service *service);
@@ -34,7 +34,7 @@ int predef_grep_databases(void *context, struct conf_service *service,
 int match_zurl(const char *zurl, const char *pattern);
 struct database *new_database(const char *id, NMEM nmem);
 // inherit values from (service) settings
-struct database *new_database_inherit_settings(const char *id, NMEM nmem, struct settings *settings);
+struct database *new_database_inherit_settings(const char *id, NMEM nmem, struct settings_array *settings);
 
 
 #endif
index 075347e..bff5810 100644 (file)
@@ -138,7 +138,7 @@ struct conf_service *service_init(struct conf_server *server,
     // Setup a dictionary from server.
     service->dictionary = 0;
 
-    service->settings = nmem_malloc(nmem, sizeof(struct settings));
+    service->settings = nmem_malloc(nmem, sizeof(*service->settings));
     service->settings->num_settings = PZ_MAX_EOF;
     service->settings->settings = nmem_malloc(nmem, sizeof(struct setting*) * service->settings->num_settings);
     memset(service->settings->settings, 0, sizeof(struct setting*) * service->settings->num_settings);
index 58eb0e7..692d260 100644 (file)
@@ -111,7 +111,7 @@ struct conf_service
     int num_sortkeys;
     struct conf_sortkey *sortkeys;
     struct setting_dictionary *dictionary;
-    struct settings *settings;
+    struct settings_array *settings;
     struct conf_service *next;
     char *id;
     NMEM nmem;
index cb55b5e..491ad08 100644 (file)
@@ -372,7 +372,7 @@ void expand_settings_array(struct setting ***set_ar, int *num, int offset,
     }
 }
 
-void expand_settings_array2(struct settings *settings, int offset, NMEM nmem)
+void expand_settings_array2(struct settings_array *settings, int offset, NMEM nmem)
 {
     assert(offset >= 0);
     assert(settings);
@@ -389,7 +389,7 @@ void expand_settings_array2(struct settings *settings, int offset, NMEM nmem)
     }
 }
 
-static void update_settings(struct setting *set, struct settings *settings, int offset, NMEM nmem)
+static void update_settings(struct setting *set, struct settings_array *settings, int offset, NMEM nmem)
 {
     struct setting **sp;
     yaz_log(YLOG_LOG, "update service settings offset %d with %s=%s", offset, set->name, set->value);
index a746dfa..6351e9c 100644 (file)
@@ -65,7 +65,7 @@ struct setting
     struct setting *next;
 };
 
-struct settings
+struct settings_array
 {
     // Array of pointer setting, index is looked up in setting_dictionary
     struct setting **settings;
index cb6a9b3..b221d10 100755 (executable)
@@ -50,7 +50,7 @@ POST='$curl --silent --header "Content-Type: text/xml" --data-binary "@$postfile
 
 if [ -z "$SKIP_PAZPAR2" ] ; then
 # remove log if starting pazpar2
-    rm -f $PREFIX_pazpar2.log
+    rm -f ${PREFIX}_pazpar2.log
 fi
 
 CFG=${PREFIX}.cfg
index 117f75a..313cf71 100644 (file)
@@ -1,4 +1,4 @@
 <settings target="ID_1">
   <set name="pz:limitmap:author"  value="rpn:@attr 1=1003 @attr 6=3" />
-  <set name="pz:limitmap:subject" value="rpn:@attr 1=21 @attr 6=3" />
+  <set name="pz:limitmap:subject" value="rpn:@attr 1=21 @attr 6=3" />  
 </settings>
index bcd1e71..43bfdee 100644 (file)
@@ -1,4 +1,5 @@
 <settings target="Target-1">
   <set name="pz:limitmap:author"  value="rpn:@attr 1=1003 @attr 6=3" />
   <set name="pz:limitmap:subject" value="rpn:@attr 1=21 @attr 6=3" />
+  <set name="pz:limitmap:Mysubject" value="local:subject" />
 </settings>
index 0d3528f..6004c29 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<settings target="Target-1">
-  <set name="pz:limitmap:MySubject" value="local:subject" />
+<settings target="Target-2">
+  <set name="pz:limitmap:Mysubject" value="local:subject" />
 </settings>
 
 
index 8b89896..5908f77 100644 (file)
@@ -14,7 +14,7 @@ http://localhost:9763/search.pz2?session=1&command=search&query=water
 http://localhost:9763/search.pz2?session=1&command=bytarget
 http://localhost:9763/search.pz2?session=1&command=termlist&name=xtargets%2Csubject%2Cauthor%2Cdate%2Cmedium
 test_solr_settings_4.xml http://localhost:9763/search.pz2?session=1&command=settings
-http://localhost:9763/search.pz2?session=1&command=search&query=water
+http://localhost:9763/search.pz2?session=1&command=search&query=water&maxrecs=200
 3 http://localhost:9763/search.pz2?session=1&command=show
 http://localhost:9763/search.pz2?session=1&command=bytarget
 http://localhost:9763/search.pz2?session=1&command=termlist&name=xtargets%2Csubject%2Cauthor%2Cdate%2Cmedium