Merge branch 'master' into sru_2_0
authorAdam Dickmeiss <adam@indexdata.dk>
Wed, 11 Sep 2013 13:29:45 +0000 (15:29 +0200)
committerAdam Dickmeiss <adam@indexdata.dk>
Wed, 11 Sep 2013 13:29:45 +0000 (15:29 +0200)
Conflicts:
IDMETA
debian/changelog

NEWS
debian/changelog
src/rpn2solr.c
test/test_rpn2solr.c

diff --git a/NEWS b/NEWS
index 847c5c6..d6e820b 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,5 @@
+--- 4.2.66 2013/09/11
+
 ZOOM: fix record handling for Solr. ZOOM_record_get would return 0, if
 schema was given for search. YAZ-675
 
index d8299ee..c1701b0 100644 (file)
@@ -4,6 +4,12 @@ yaz (5.0.0-1indexdata) unstable; urgency=low
 
  -- Adam Dickmeiss <adam@indexdata.dk>  Wed, 11 Sep 2013 09:26:11 +0200
 
+yaz (4.2.66-1indexdata) unstable; urgency=low
+
+  * Upstream.
+
+ -- Adam Dickmeiss <adam@indexdata.dk>  Wed, 11 Sep 2013 15:07:49 +0200
+
 yaz (4.2.65-1indexdata) unstable; urgency=low
 
   * Upstream.
index c7dff45..4a2c5e4 100644 (file)
@@ -69,15 +69,15 @@ static const char *lookup_relation_index_from_attr(Z_AttributeList *attributes)
                 {
                     /* Unsure on whether this is the relation attribute constants? */
                 case Z_ProximityOperator_Prox_lessThan:
-                    return 0;
+                    return "<";
                 case Z_ProximityOperator_Prox_lessThanOrEqual:
-                    return 0;
+                    return "le";
                 case Z_ProximityOperator_Prox_equal:
                     return ":";
                 case Z_ProximityOperator_Prox_greaterThanOrEqual:
-                    return 0;
+                    return "ge";
                 case Z_ProximityOperator_Prox_greaterThan:
-                    return 0;
+                    return ">";
                 case Z_ProximityOperator_Prox_notEqual:
                     return 0;
                 case 100:
index c2188d8..3589e7f 100644 (file)
@@ -37,9 +37,9 @@ static int compare(solr_transform_t ct, const char *pqf, const char *solr)
         {
             yaz_log(YLOG_LOG, "%s -> %s", pqf, wrbuf_cstr(w));
             if (solr && !strcmp(wrbuf_cstr(w), solr))
-            {
                 ret = 1;
-            }
+            else
+                yaz_log(YLOG_LOG, "Exp: %s", solr);
         }
     }
     wrbuf_destroy(w);
@@ -91,6 +91,24 @@ static void tst1(void)
     YAZ_CHECK(compare(ct, "@attr 5=104 \\\"\\\\\\\\\\\"",
                       "\\\"" "\\\\" "\\\""));
 
+    YAZ_CHECK(compare(ct, "@attr 1=date @attr 2=1 1980", "date:[* TO 1980}"));
+    YAZ_CHECK(compare(ct, "@attr 1=date @attr 2=2 1980", "date:[* TO 1980]"));
+    YAZ_CHECK(compare(ct, "@attr 1=date @attr 2=3 1980", "date:1980"));
+    YAZ_CHECK(compare(ct, "@attr 1=date @attr 2=4 1980", "date:[1980 TO *]"));
+    YAZ_CHECK(compare(ct, "@attr 1=date @attr 2=5 1980", "date:{1980 TO *]"));
+    YAZ_CHECK(compare(ct, "@and @attr 1=date @attr 2=2 234 @attr 1=date @attr 2=4 1990", "date:[1990 TO 234]"));
+    YAZ_CHECK(compare(ct, "@and @attr 1=date @attr 2=2 345 @attr 1=date @attr 2=4 234",  "date:[234 TO 345]"));
+    YAZ_CHECK(compare(ct, "@and @attr 1=date @attr 2=5 234 @attr 1=titl @attr 2=2 1990", "date:{234 TO *] AND titl:[* TO 1990]"));
+    YAZ_CHECK(compare(ct, "@and @attr 1=date @attr 2=5 234 @attr 1=date @attr 2=2 1990", "date:{234 TO 1990]"));
+    YAZ_CHECK(compare(ct, "@and @attr 1=date @attr 2=4 234 @attr 1=date @attr 2=2 1990", "date:[234 TO 1990]"));
+    YAZ_CHECK(compare(ct, "@and @attr 1=date @attr 2=5 234 @attr 1=date @attr 2=1 1990", "date:{234 TO 1990}"));
+    YAZ_CHECK(compare(ct, "@and @attr 1=date @attr 2=4 234 @attr 1=date @attr 2=2 1990", "date:[234 TO 1990]"));
+    YAZ_CHECK(compare(ct, "@or  @attr 1=date @attr 2=4 234 @attr 1=date @attr 2=2 1990", "date:[234 TO *] OR date:[* TO 1990]"));
+    YAZ_CHECK(compare(ct, "@or  @attr 1=date @attr 2=2 234 @attr 1=date @attr 2=4 1990", "date:[* TO 234] OR date:[1990 TO *]"));
+    YAZ_CHECK(compare(ct, "@attr 1=date @attr 2=1 1980", "date:[* TO 1980}"));
+    YAZ_CHECK(compare(ct, "@attr 1=date @attr 2=2 1980", "date:[* TO 1980]"));
+    YAZ_CHECK(compare(ct, "@and @attr 1=date @attr 2=2 234 @attr 1=date @attr 2=4 1990", "date:[1990 TO 234]"));
+
     solr_transform_close(ct);
 }