Allow solution sequence / modifier MPSPARQL-9
[mp-sparql-moved-to-github.git] / src / sparql.c
index e551ead..55b02e1 100644 (file)
@@ -322,7 +322,11 @@ int yaz_sparql_from_rpn_stream(yaz_sparql_t s,
         {
             ;
         }
-        else if (!strncmp(e->pattern, "field", 5))
+        else if (!strcmp(e->pattern, "form"))
+        {
+            ;
+        }
+        else if (!strcmp(e->pattern, "modifier"))
         {
             ;
         }
@@ -331,17 +335,14 @@ int yaz_sparql_from_rpn_stream(yaz_sparql_t s,
             errors++;
         }
     }
-    pr("\n", client_data);
-    pr("SELECT", client_data);
     for (e = s->conf; e; e = e->next)
     {
-        if (!strncmp(e->pattern, "field", 5))
+        if (!strcmp(e->pattern, "form"))
         {
-            pr(" ", client_data);
             pr(e->value, client_data);
+            pr("\n", client_data);
         }
     }
-    pr("\n", client_data);
     pr("WHERE {\n", client_data);
     for (e = s->conf; e; e = e->next)
     {
@@ -398,6 +399,15 @@ int yaz_sparql_from_rpn_stream(yaz_sparql_t s,
         wrbuf_destroy(vars);
     }
     pr("\n}\n", client_data);
+
+    for (e = s->conf; e; e = e->next)
+    {
+        if (!strcmp(e->pattern, "modifier"))
+        {
+            pr(e->value, client_data);
+            pr(e->value, "\n");
+        }
+    }
     yaz_tok_cfg_destroy(cfg);
 
     return errors ? -1 : r;