Merge branch 'master' of ssh://git.indexdata.com/home/git/pub/pazpar2
authorDennis Schafroth <dennis@indexdata.com>
Thu, 17 Jun 2010 15:19:34 +0000 (17:19 +0200)
committerDennis Schafroth <dennis@indexdata.com>
Thu, 17 Jun 2010 15:19:34 +0000 (17:19 +0200)
Conflicts:
test/test_http_49.res

Restore to new test result.

src/connection.c
src/settings.h
test/run_pazpar2.sh
test/test_http_46.res
test/test_http_47.res
test/test_http_48.res
test/test_http_49.res
test/test_http_50.res [new file with mode: 0644]
test/test_http_51.res [new file with mode: 0644]
test/test_http_urls

index 19d0477..0d77a90 100644 (file)
@@ -471,11 +471,17 @@ int client_prep_connection(struct client *cl,
     if (!co)
     {
         int max_connections = 0;
+        int reuse_connection = 0;
         const char *v = session_setting_oneval(client_get_database(cl),
                                                PZ_MAX_CONNECTIONS);
         if (v && *v)
             max_connections = atoi(v);
-        
+
+        v = session_setting_oneval(client_get_database(cl),
+                PZ_REUSE_CONNECTIONS);
+        if (v && *v)
+            reuse_connections = atoi(v);
+
         // See if someone else has an idle connection
         // We should look at timestamps here to select the longest-idle connection
         yaz_mutex_enter(host->mutex);
@@ -484,25 +490,26 @@ int client_prep_connection(struct client *cl,
             int num_connections = 0;
             for (co = host->connections; co; co = co->next)
                 num_connections++;
-            for (co = host->connections; co; co = co->next)
-            {
-                if (connection_is_idle(co) &&
-                    (!co->client || client_get_state(co->client) == Client_Idle) &&
-                    !strcmp(ZOOM_connection_option_get(co->link, "user"),
-                            session_setting_oneval(client_get_database(cl),
-                                                   PZ_AUTHENTICATION)))
+            if (reuse_connection) {
+                for (co = host->connections; reuse_connection && co; co = co->next)
                 {
-                    if (zproxy == 0 && co->zproxy == 0)
-                        break;
-                    if (zproxy && co->zproxy && !strcmp(zproxy, co->zproxy))
-                        break;
+                    if (connection_is_idle(co) &&
+                        (!co->client || client_get_state(co->client) == Client_Idle) &&
+                        !strcmp(ZOOM_connection_option_get(co->link, "user"),
+                                session_setting_oneval(client_get_database(cl),
+                                                       PZ_AUTHENTICATION)))
+                    {
+                        if (zproxy == 0 && co->zproxy == 0)
+                            break;
+                        if (zproxy && co->zproxy && !strcmp(zproxy, co->zproxy))
+                            break;
+                    }
+                }
+                if (co)
+                {
+                    yaz_log(YLOG_LOG, "num_connections = %d (reusing)", num_connections);
+                    break;
                 }
-            }
-            if (co)
-            {
-                yaz_log(YLOG_LOG, "num_connections = %d (reusing)",
-                        num_connections);
-                break;
             }
             if (max_connections <= 0 || num_connections < max_connections)
             {
index 71fb326..fd12f7e 100644 (file)
@@ -38,12 +38,13 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #define PZ_SRU           15
 #define PZ_SRU_VERSION   16
 #define PZ_PQF_PREFIX    17
-#define PZ_SORT                 18
+#define PZ_SORT          18
 #define PZ_RECORDFILTER         19
 #define PZ_PQF_STRFTIME  20
 #define PZ_NEGOTIATION_CHARSET  21
-#define PZ_MAX_CONNECTIONS 22
-#define PZ_MAX_EOF       23
+#define PZ_MAX_CONNECTIONS      22
+#define PZ_REUSE_CONNECTIONS    23
+#define PZ_MAX_EOF              24
 
 struct setting
 {
index 28e81aa..0dadcb1 100755 (executable)
@@ -78,6 +78,9 @@ for f in `cat ${srcdir}/${URLS}`; do
        OUT2=${PREFIX}_${testno}.log
        DIFF=${PREFIX}_${testno}.dif
        rm -f $OUT2 $DIFF
+       if [ -n "$DEBUG" ] ; then 
+           echo "test $testno: $f" 
+       fi
        if test -n "${postfile}"; then
            eval $POST
        else
@@ -102,6 +105,9 @@ for f in `cat ${srcdir}/${URLS}`; do
        testno=`expr $testno + 1`
        postfile=
     elif echo $f | grep '^[0-9]' >/dev/null; then
+       if [ -n "$DEBUG" ] ; then 
+           echo "Sleeping $f"
+       fi
        sleep $f
     else
        if test -f $srcdir/$f; then
index 7f14f96..6bfa568 100644 (file)
@@ -1,2 +1,73 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<init><status>OK</status><session>7</session><protocol>1</protocol></init>
\ No newline at end of file
+<record xmlns="http://www.loc.gov/MARC21/slim">
+  <leader>01365nam a2200265 i 4504</leader>
+  <controlfield tag="001">   73090924 //r82</controlfield>
+  <controlfield tag="003">DLC</controlfield>
+  <controlfield tag="005">19820524000000.0</controlfield>
+  <controlfield tag="008">760609s1974    nyua     b    10110 eng  </controlfield>
+  <datafield tag="010" ind1=" " ind2=" ">
+    <subfield code="a">73090924 //r82</subfield>
+  </datafield>
+  <datafield tag="040" ind1=" " ind2=" ">
+    <subfield code="a">DLC</subfield>
+    <subfield code="c">DLC</subfield>
+    <subfield code="d">DLC</subfield>
+  </datafield>
+  <datafield tag="050" ind1="0" ind2="0">
+    <subfield code="a">RC71.3</subfield>
+    <subfield code="b">.W67 1971</subfield>
+  </datafield>
+  <datafield tag="082" ind1="0" ind2="0">
+    <subfield code="a">616.07/575/02854</subfield>
+  </datafield>
+  <datafield tag="111" ind1="2" ind2="0">
+    <subfield code="a">Workshop on Computer Processing of Dynamic Images from an Anger Scintillation Camera,</subfield>
+    <subfield code="c">Washington University,</subfield>
+    <subfield code="d">1971.</subfield>
+  </datafield>
+  <datafield tag="245" ind1="1" ind2="0">
+    <subfield code="a">Computer processing of dynamic images from an Anger scintillation camera :</subfield>
+    <subfield code="b">the proceedings of a workshop /</subfield>
+    <subfield code="c">cosponsored by the Biomedical Computer Laboratory and the Nuclear Medicine Division, Department of Radiology, School of Medicine, Washington University, St. Louis, January 18-22, 1971 ; edited by Kenneth B. Larson, Jerome R. Cox, Jr.</subfield>
+  </datafield>
+  <datafield tag="260" ind1="0" ind2=" ">
+    <subfield code="a">New York :</subfield>
+    <subfield code="b">Society of Nuclear Medicine,</subfield>
+    <subfield code="c">[c1974]</subfield>
+  </datafield>
+  <datafield tag="300" ind1=" " ind2=" ">
+    <subfield code="a">xiv, p. :</subfield>
+    <subfield code="b">ill. ;</subfield>
+    <subfield code="c">24 cm.</subfield>
+  </datafield>
+  <datafield tag="504" ind1=" " ind2=" ">
+    <subfield code="a">Includes bibliographical references and index.</subfield>
+  </datafield>
+  <datafield tag="650" ind1=" " ind2="0">
+    <subfield code="a">Radioisotope scanning</subfield>
+    <subfield code="x">Data processing</subfield>
+    <subfield code="x">Congresses.</subfield>
+  </datafield>
+  <datafield tag="650" ind1=" " ind2="0">
+    <subfield code="a">Scintillation cameras</subfield>
+    <subfield code="x">Congresses.</subfield>
+  </datafield>
+  <datafield tag="650" ind1=" " ind2="0">
+    <subfield code="a">Imaging systems in medicine</subfield>
+    <subfield code="x">Data processing</subfield>
+    <subfield code="x">Congresses.</subfield>
+  </datafield>
+  <datafield tag="700" ind1="1" ind2="0">
+    <subfield code="a">Larson, Kenneth B.</subfield>
+  </datafield>
+  <datafield tag="700" ind1="1" ind2="0">
+    <subfield code="a">Cox, Jerome R.</subfield>
+  </datafield>
+  <datafield tag="710" ind1="2" ind2="0">
+    <subfield code="a">Washington University, St. Louis.</subfield>
+    <subfield code="b">Biomedical Computer Laboratory.</subfield>
+  </datafield>
+  <datafield tag="710" ind1="2" ind2="0">
+    <subfield code="a">Washington University, St. Louis.</subfield>
+    <subfield code="b">Nuclear Medicine Division.</subfield>
+  </datafield>
+</record>
index ab63fe6..7f14f96 100644 (file)
@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<search><status>OK</status></search>
\ No newline at end of file
+<init><status>OK</status><session>7</session><protocol>1</protocol></init>
\ No newline at end of file
index 43fcf8b..ab63fe6 100644 (file)
@@ -1,26 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<show>
-<status>OK</status>
-<activeclients>0</activeclients>
-<merged>1</merged>
-<total>1</total>
-<start>0</start>
-<num>1</num>
-<hit>
-
-<md-title>The religious teachers of Greece</md-title>
-<md-date>1972</md-date>
-<md-author>Adam, James</md-author>
-<md-description>Reprint of the 1909 ed., which was issued as the 1904-1906 Gifford lectures</md-description><location id="z3950.indexdata.com/marc" name="Index Data MARC test server">
-<md-title>The religious teachers of Greece</md-title>
-<md-date>1972</md-date>
-<md-author>Adam, James</md-author>
-<md-description tag="500">Reprint of the 1909 ed., which was issued as the 1904-1906 Gifford lectures</md-description>
-<md-description tag="504">Includes bibliographical references</md-description>
-<md-test-usersetting>XXXXXXXXXX</md-test-usersetting>
-<md-test-usersetting-2>test-usersetting-2 data: 
-        YYYYYYYYY</md-test-usersetting-2></location>
-<relevance>120000</relevance>
-<recid>title the religious teachers of greece author adam james medium book</recid>
-</hit>
-</show>
+<search><status>OK</status></search>
\ No newline at end of file
index 6bfa568..43fcf8b 100644 (file)
@@ -1,73 +1,26 @@
-<record xmlns="http://www.loc.gov/MARC21/slim">
-  <leader>01365nam a2200265 i 4504</leader>
-  <controlfield tag="001">   73090924 //r82</controlfield>
-  <controlfield tag="003">DLC</controlfield>
-  <controlfield tag="005">19820524000000.0</controlfield>
-  <controlfield tag="008">760609s1974    nyua     b    10110 eng  </controlfield>
-  <datafield tag="010" ind1=" " ind2=" ">
-    <subfield code="a">73090924 //r82</subfield>
-  </datafield>
-  <datafield tag="040" ind1=" " ind2=" ">
-    <subfield code="a">DLC</subfield>
-    <subfield code="c">DLC</subfield>
-    <subfield code="d">DLC</subfield>
-  </datafield>
-  <datafield tag="050" ind1="0" ind2="0">
-    <subfield code="a">RC71.3</subfield>
-    <subfield code="b">.W67 1971</subfield>
-  </datafield>
-  <datafield tag="082" ind1="0" ind2="0">
-    <subfield code="a">616.07/575/02854</subfield>
-  </datafield>
-  <datafield tag="111" ind1="2" ind2="0">
-    <subfield code="a">Workshop on Computer Processing of Dynamic Images from an Anger Scintillation Camera,</subfield>
-    <subfield code="c">Washington University,</subfield>
-    <subfield code="d">1971.</subfield>
-  </datafield>
-  <datafield tag="245" ind1="1" ind2="0">
-    <subfield code="a">Computer processing of dynamic images from an Anger scintillation camera :</subfield>
-    <subfield code="b">the proceedings of a workshop /</subfield>
-    <subfield code="c">cosponsored by the Biomedical Computer Laboratory and the Nuclear Medicine Division, Department of Radiology, School of Medicine, Washington University, St. Louis, January 18-22, 1971 ; edited by Kenneth B. Larson, Jerome R. Cox, Jr.</subfield>
-  </datafield>
-  <datafield tag="260" ind1="0" ind2=" ">
-    <subfield code="a">New York :</subfield>
-    <subfield code="b">Society of Nuclear Medicine,</subfield>
-    <subfield code="c">[c1974]</subfield>
-  </datafield>
-  <datafield tag="300" ind1=" " ind2=" ">
-    <subfield code="a">xiv, p. :</subfield>
-    <subfield code="b">ill. ;</subfield>
-    <subfield code="c">24 cm.</subfield>
-  </datafield>
-  <datafield tag="504" ind1=" " ind2=" ">
-    <subfield code="a">Includes bibliographical references and index.</subfield>
-  </datafield>
-  <datafield tag="650" ind1=" " ind2="0">
-    <subfield code="a">Radioisotope scanning</subfield>
-    <subfield code="x">Data processing</subfield>
-    <subfield code="x">Congresses.</subfield>
-  </datafield>
-  <datafield tag="650" ind1=" " ind2="0">
-    <subfield code="a">Scintillation cameras</subfield>
-    <subfield code="x">Congresses.</subfield>
-  </datafield>
-  <datafield tag="650" ind1=" " ind2="0">
-    <subfield code="a">Imaging systems in medicine</subfield>
-    <subfield code="x">Data processing</subfield>
-    <subfield code="x">Congresses.</subfield>
-  </datafield>
-  <datafield tag="700" ind1="1" ind2="0">
-    <subfield code="a">Larson, Kenneth B.</subfield>
-  </datafield>
-  <datafield tag="700" ind1="1" ind2="0">
-    <subfield code="a">Cox, Jerome R.</subfield>
-  </datafield>
-  <datafield tag="710" ind1="2" ind2="0">
-    <subfield code="a">Washington University, St. Louis.</subfield>
-    <subfield code="b">Biomedical Computer Laboratory.</subfield>
-  </datafield>
-  <datafield tag="710" ind1="2" ind2="0">
-    <subfield code="a">Washington University, St. Louis.</subfield>
-    <subfield code="b">Nuclear Medicine Division.</subfield>
-  </datafield>
-</record>
+<?xml version="1.0" encoding="UTF-8"?>
+<show>
+<status>OK</status>
+<activeclients>0</activeclients>
+<merged>1</merged>
+<total>1</total>
+<start>0</start>
+<num>1</num>
+<hit>
+
+<md-title>The religious teachers of Greece</md-title>
+<md-date>1972</md-date>
+<md-author>Adam, James</md-author>
+<md-description>Reprint of the 1909 ed., which was issued as the 1904-1906 Gifford lectures</md-description><location id="z3950.indexdata.com/marc" name="Index Data MARC test server">
+<md-title>The religious teachers of Greece</md-title>
+<md-date>1972</md-date>
+<md-author>Adam, James</md-author>
+<md-description tag="500">Reprint of the 1909 ed., which was issued as the 1904-1906 Gifford lectures</md-description>
+<md-description tag="504">Includes bibliographical references</md-description>
+<md-test-usersetting>XXXXXXXXXX</md-test-usersetting>
+<md-test-usersetting-2>test-usersetting-2 data: 
+        YYYYYYYYY</md-test-usersetting-2></location>
+<relevance>120000</relevance>
+<recid>title the religious teachers of greece author adam james medium book</recid>
+</hit>
+</show>
diff --git a/test/test_http_50.res b/test/test_http_50.res
new file mode 100644 (file)
index 0000000..2b89580
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<show>
+<status>OK</status>
+<activeclients>0</activeclients>
+<merged>1</merged>
+<total>1</total>
+<start>0</start>
+<num>1</num>
+<hit>
+
+<md-title>Computer processing of dynamic images from an Anger scintillation camera</md-title>
+<md-title-remainder>the proceedings of a workshop</md-title-remainder>
+<md-date>1974</md-date>
+<md-description>Includes bibliographical references and index</md-description><location id="z3950.indexdata.com/marc" name="Index Data MARC test server">
+<md-title>Computer processing of dynamic images from an Anger scintillation camera</md-title>
+<md-title-remainder>the proceedings of a workshop</md-title-remainder>
+<md-date>1974</md-date>
+<md-description tag="504">Includes bibliographical references and index</md-description>
+<md-test-usersetting>XXXXXXXXXX</md-test-usersetting>
+<md-test-usersetting-2>test-usersetting-2 data: 
+        YYYYYYYYY</md-test-usersetting-2></location>
+<relevance>0</relevance>
+<recid>title computer processing of dynamic images from an anger scintillation camera author medium book</recid>
+</hit>
+</show>
diff --git a/test/test_http_51.res b/test/test_http_51.res
new file mode 100644 (file)
index 0000000..6bfa568
--- /dev/null
@@ -0,0 +1,73 @@
+<record xmlns="http://www.loc.gov/MARC21/slim">
+  <leader>01365nam a2200265 i 4504</leader>
+  <controlfield tag="001">   73090924 //r82</controlfield>
+  <controlfield tag="003">DLC</controlfield>
+  <controlfield tag="005">19820524000000.0</controlfield>
+  <controlfield tag="008">760609s1974    nyua     b    10110 eng  </controlfield>
+  <datafield tag="010" ind1=" " ind2=" ">
+    <subfield code="a">73090924 //r82</subfield>
+  </datafield>
+  <datafield tag="040" ind1=" " ind2=" ">
+    <subfield code="a">DLC</subfield>
+    <subfield code="c">DLC</subfield>
+    <subfield code="d">DLC</subfield>
+  </datafield>
+  <datafield tag="050" ind1="0" ind2="0">
+    <subfield code="a">RC71.3</subfield>
+    <subfield code="b">.W67 1971</subfield>
+  </datafield>
+  <datafield tag="082" ind1="0" ind2="0">
+    <subfield code="a">616.07/575/02854</subfield>
+  </datafield>
+  <datafield tag="111" ind1="2" ind2="0">
+    <subfield code="a">Workshop on Computer Processing of Dynamic Images from an Anger Scintillation Camera,</subfield>
+    <subfield code="c">Washington University,</subfield>
+    <subfield code="d">1971.</subfield>
+  </datafield>
+  <datafield tag="245" ind1="1" ind2="0">
+    <subfield code="a">Computer processing of dynamic images from an Anger scintillation camera :</subfield>
+    <subfield code="b">the proceedings of a workshop /</subfield>
+    <subfield code="c">cosponsored by the Biomedical Computer Laboratory and the Nuclear Medicine Division, Department of Radiology, School of Medicine, Washington University, St. Louis, January 18-22, 1971 ; edited by Kenneth B. Larson, Jerome R. Cox, Jr.</subfield>
+  </datafield>
+  <datafield tag="260" ind1="0" ind2=" ">
+    <subfield code="a">New York :</subfield>
+    <subfield code="b">Society of Nuclear Medicine,</subfield>
+    <subfield code="c">[c1974]</subfield>
+  </datafield>
+  <datafield tag="300" ind1=" " ind2=" ">
+    <subfield code="a">xiv, p. :</subfield>
+    <subfield code="b">ill. ;</subfield>
+    <subfield code="c">24 cm.</subfield>
+  </datafield>
+  <datafield tag="504" ind1=" " ind2=" ">
+    <subfield code="a">Includes bibliographical references and index.</subfield>
+  </datafield>
+  <datafield tag="650" ind1=" " ind2="0">
+    <subfield code="a">Radioisotope scanning</subfield>
+    <subfield code="x">Data processing</subfield>
+    <subfield code="x">Congresses.</subfield>
+  </datafield>
+  <datafield tag="650" ind1=" " ind2="0">
+    <subfield code="a">Scintillation cameras</subfield>
+    <subfield code="x">Congresses.</subfield>
+  </datafield>
+  <datafield tag="650" ind1=" " ind2="0">
+    <subfield code="a">Imaging systems in medicine</subfield>
+    <subfield code="x">Data processing</subfield>
+    <subfield code="x">Congresses.</subfield>
+  </datafield>
+  <datafield tag="700" ind1="1" ind2="0">
+    <subfield code="a">Larson, Kenneth B.</subfield>
+  </datafield>
+  <datafield tag="700" ind1="1" ind2="0">
+    <subfield code="a">Cox, Jerome R.</subfield>
+  </datafield>
+  <datafield tag="710" ind1="2" ind2="0">
+    <subfield code="a">Washington University, St. Louis.</subfield>
+    <subfield code="b">Biomedical Computer Laboratory.</subfield>
+  </datafield>
+  <datafield tag="710" ind1="2" ind2="0">
+    <subfield code="a">Washington University, St. Louis.</subfield>
+    <subfield code="b">Nuclear Medicine Division.</subfield>
+  </datafield>
+</record>
index a36d278..d1efce6 100644 (file)
@@ -33,17 +33,25 @@ http://localhost:9763/search.pz2?session=4&command=search&query=computer
 http://localhost:9763/search.pz2?command=init
 http://localhost:9763/search.pz2?session=5&command=settings&pz:name%5Bz3950.indexdata.com%2Fmarc%5D=marc&pz:requestsyntax%5Bz3950.indexdata.com%2Fmarc%5D=usmarc&pz:nativesyntax%5Bz3950.indexdata.com%2Fmarc%5D=iso2709&pz:xslt%5Bz3950.indexdata.com%2Fmarc%5D=marc21%5Ftest.xsl&pz:recordfilter%5Bz3950.indexdata.com%2Fmarc%5D=date
 http://localhost:9763/search.pz2?session=5&command=search&query=computer&filter=pz%3Aid%3Dz3950.indexdata.com%2Fmarc
-2 http://localhost:9763/search.pz2?session=5&command=show&block=1
+2 
+http://localhost:9763/search.pz2?session=5&command=show&block=1
 http://localhost:9763/search.pz2?session=5&command=search&query=computer&filter=pz%3Aid%3Dunknown
 http://localhost:9763/search.pz2?session=3&command=settings&pz:maxrecs%5Bz3950.indexdata.com%2Fgils%5D=8
 http://localhost:9763/search.pz2?session=3&command=search&query=the
 http://localhost:9763/search.pz2?session=5&command=search&query=the&maxrecs=5&startrecs=2
-2 http://localhost:9763/search.pz2?session=3&command=show&block=1
+2
+http://localhost:9763/search.pz2?session=3&command=show&block=1
 http://localhost:9763/search.pz2?session=5&command=show&block=1
 http://localhost:9763/search.pz2?command=init&pz:elements%5Bz3950.indexdata.com%2Fmarc%5D=F
-1 http://localhost:9763/search.pz2?session=6&command=search&query=louis
+1
+http://localhost:9763/search.pz2?session=6&command=search&query=louis
+1
 http://localhost:9763/search.pz2?session=6&command=show&block=1
+http://localhost:9763/search.pz2?session=6&command=record&id=title+computer+processing+of+dynamic+images+from+an+anger+scintillation+camera+author+medium+book&offset=0
 http://localhost:9763/search.pz2?command=init&pz:elements%5Bz3950.indexdata.com%2Fmarc%5D=F
-1 http://localhost:9763/search.pz2?session=7&command=search&query=greece
+http://localhost:9763/search.pz2?session=7&command=search&query=greece
+1
 http://localhost:9763/search.pz2?session=7&command=show&block=1
+1
+http://localhost:9763/search.pz2?session=6&command=show&block=1
 http://localhost:9763/search.pz2?session=6&command=record&id=title+computer+processing+of+dynamic+images+from+an+anger+scintillation+camera+author+medium+book&offset=0