X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=zoom%2Fzoomtst7.c;h=9a317bd108370f07677b5c1493057ef7c63e0767;hp=939d8bca57c8184d8c7005e3a00bc5a7f5f00d7e;hb=d84e4c3cd444d04aee7beeadb5bb0ae061ee24c9;hpb=69bcd68523a9a8da083faef16887100369152673 diff --git a/zoom/zoomtst7.c b/zoom/zoomtst7.c index 939d8bc..9a317bd 100644 --- a/zoom/zoomtst7.c +++ b/zoom/zoomtst7.c @@ -1,7 +1,6 @@ -/* - * $Id: zoomtst7.c,v 1.1 2001-10-23 21:00:20 adam Exp $ - * - * API test.. +/* This file is part of the YAZ toolkit. + * Copyright (C) Index Data + * See the file LICENSE for details. */ #include @@ -10,144 +9,181 @@ #include #include - +#include #include int main(int argc, char **argv) { - int i, j, block; - Z3950_connection z; - Z3950_resultset r[10]; /* and result sets .. */ - Z3950_options o; + int block; + int i, j; + ZOOM_connection z; + ZOOM_resultset r[10]; /* and result sets .. */ + ZOOM_options o; + + o = ZOOM_options_create (); - nmem_init (); + z = ZOOM_connection_new ("localhost", 9999); + if (ZOOM_connection_error (z, 0, 0)) + { + printf ("error - couldn't connect?\n"); + exit (1); + } - o = Z3950_options_create (); + ZOOM_connection_destroy (z); for (block = 0; block < 3; block++) { - switch (block) - { - case 0: - printf ("blocking - not calling Z3950_events\n"); - break; - case 1: - printf ("blocking - calling Z3950_events\n"); - break; - case 2: - printf ("non-blocking - calling Z3950_events\n"); - break; - } - if (block > 1) - Z3950_options_set (o, "async", "1"); - for (i = 0; i<10; i++) - { - char host[40]; - printf ("session %2d", i); - sprintf (host, "localhost:9999/%d", i); - z = Z3950_connection_create (o); - Z3950_connection_connect (z, host, 0); - - for (j = 0; j < 10; j++) - { - Z3950_record recs[2]; - size_t recs_count = 2; - char query[40]; - Z3950_search s = Z3950_search_create (); - - sprintf (query, "i%dr%d", i, j); - - if (Z3950_search_prefix (s, query)) - { - printf ("bad PQF: %s\n", query); - exit (2); - } - Z3950_options_set (o, "start", "0"); - Z3950_options_set (o, "count", "0"); - - r[j] = Z3950_connection_search (z, s); /* non-piggy */ - - Z3950_options_set (o, "count", "2"); - Z3950_resultset_records (r[j], 0, 0); /* first two */ - - Z3950_options_set (o, "start", "1"); - Z3950_options_set (o, "count", "2"); - Z3950_resultset_records (r[j], recs, &recs_count); /* third */ - Z3950_resultset_records (r[j], 0, 0); /* ignored */ - - if (Z3950_resultset_size (r[j]) > 2) - { - if (!recs[0]) - { - fprintf (stderr, "\nrecord missing\n"); - exit (1); - } - } - Z3950_record_destroy (recs[0]); - Z3950_record_destroy (recs[1]); - - Z3950_search_destroy (s); - - putchar ('.'); - if (block > 0) - while (Z3950_event (1, &z)) - ; - } - for (j = 0; j 0) - while (Z3950_event (1, &z)) - ; - } - Z3950_connection_destroy (z); - - Z3950_options_set (o, "count", "1"); - for (j = 0; j < 10; j++) - { - Z3950_resultset_records (r[j], 0, 0); - if (block > 0) - while (Z3950_event (1, &z)) - ; - } - for (j = 0; j < 10; j++) - Z3950_resultset_destroy (r[j]); - Z3950_search_destroy (s); - printf ("10 searches, 10 ignored presents done\n"); - } - } - Z3950_options_destroy (o); - nmem_exit (); - xmalloc_trav(""); + switch (block) + { + case 0: + printf ("blocking - not calling ZOOM_events\n"); + break; + case 1: + printf ("blocking - calling ZOOM_events\n"); + break; + case 2: + printf ("non-blocking - calling ZOOM_events\n"); + break; + } + if (block > 1) + ZOOM_options_set (o, "async", "1"); + for (i = 0; i<10; i++) + { + char host[40]; + + printf ("session %2d", i); + sprintf (host, "localhost:9999/%d", i); + z = ZOOM_connection_create (o); + ZOOM_connection_connect (z, host, 0); + + for (j = 0; j < 10; j++) + { + ZOOM_record recs[2]; + char query[40]; + ZOOM_query s = ZOOM_query_create (); + + sprintf (query, "i%dr%d", i, j); + + if (ZOOM_query_prefix (s, query)) + { + printf ("bad PQF: %s\n", query); + exit (2); + } + ZOOM_options_set (o, "start", "0"); + ZOOM_options_set (o, "count", "0"); + + r[j] = ZOOM_connection_search (z, s); /* non-piggy */ + + ZOOM_resultset_records (r[j], recs, 0, 2); /* first two */ + + ZOOM_resultset_records (r[j], recs, 1, 2); /* third */ + + ZOOM_resultset_records (r[j], recs, 0, 0); /* ignored */ + + if (ZOOM_resultset_size (r[j]) > 2) + { + if (!recs[0]) + { + fprintf (stderr, "\nrecord missing\n"); + exit (1); + } + } + + ZOOM_query_destroy (s); + + printf ("."); + if (block > 0) + while (ZOOM_event (1, &z)) + ; + } + for (j = 0; j 0) + while (ZOOM_event (1, &z)) + ; + } + + ZOOM_connection_destroy (z); + + for (j = 0; j < 10; j++) + { + ZOOM_resultset_records (r[j], 0, 0, 1); + } + for (j = 0; j < 10; j++) + ZOOM_resultset_destroy (r[j]); + ZOOM_query_destroy (q); + printf ("10 searches, 10 ignored presents done\n"); + } + + + for (i = 0; i<1; i++) + { + char host[40]; + ZOOM_scanset scan = 0; + + printf ("session %2d", i); + sprintf (host, "localhost:9999/%d", i); + z = ZOOM_connection_create (o); + ZOOM_connection_connect (z, host, 0); + + scan = ZOOM_connection_scan(z, "@attr 1=4 a"); + if (block > 0) + while (ZOOM_event (1, &z)) + ; + printf (" scan size = %ld\n", (long) ZOOM_scanset_size(scan)); + for (j = 0; j < (int) ZOOM_scanset_size (scan); j++) + { + size_t len; + size_t occur; + const char *term; + term = ZOOM_scanset_term (scan, j, &occur, &len); + if (term) + printf ("%d %.*s %d\n", j, (int) len, term, (int) occur); + + } + ZOOM_scanset_destroy (scan); + ZOOM_connection_destroy (z); + } + + } + ZOOM_options_destroy (o); exit (0); } +/* + * Local variables: + * c-basic-offset: 4 + * c-file-style: "Stroustrup" + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ -