projects
/
yaz-moved-to-github.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added cql2pqf which shows evalutation order
[yaz-moved-to-github.git]
/
src
/
zoom-c.c
diff --git
a/src/zoom-c.c
b/src/zoom-c.c
index
22c4719
..
82044fa
100644
(file)
--- a/
src/zoom-c.c
+++ b/
src/zoom-c.c
@@
-2,7
+2,7
@@
* Copyright (C) 1995-2005, Index Data ApS
* See the file LICENSE for details.
*
* Copyright (C) 1995-2005, Index Data ApS
* See the file LICENSE for details.
*
- * $Id: zoom-c.c,v 1.78 2006-06-15 10:34:17 adam Exp $
+ * $Id: zoom-c.c,v 1.80 2006-06-16 12:34:32 adam Exp $
*/
/**
* \file zoom-c.c
*/
/**
* \file zoom-c.c
@@
-72,6
+72,7
@@
static ZOOM_Event ZOOM_Event_create (int kind)
event->kind = kind;
event->next = 0;
event->prev = 0;
event->kind = kind;
event->next = 0;
event->prev = 0;
+ yaz_log(log_details, "ZOOM_event_create(%d)", kind);
return event;
}
return event;
}
@@
-1195,7
+1196,7
@@
static zoom_ret ZOOM_connection_send_init (ZOOM_connection c)
ZOOM_options_get(c->options, "implementationName"),
odr_prepend(c->odr_out, "ZOOM-C", ireq->implementationName));
ZOOM_options_get(c->options, "implementationName"),
odr_prepend(c->odr_out, "ZOOM-C", ireq->implementationName));
- version = odr_strdup(c->odr_out, "$Revision: 1.78 $");
+ version = odr_strdup(c->odr_out, "$Revision: 1.80 $");
if (strlen(version) > 10) /* check for unexpanded CVS strings */
version[strlen(version)-2] = '\0';
ireq->implementationVersion = odr_prepend(c->odr_out,
if (strlen(version) > 10) /* check for unexpanded CVS strings */
version[strlen(version)-2] = '\0';
ireq->implementationVersion = odr_prepend(c->odr_out,
@@
-1339,8
+1340,16
@@
static zoom_ret ZOOM_connection_srw_send_search(ZOOM_connection c)
record_cache_lookup (resultset, i + resultset->start);
if (!rec)
break;
record_cache_lookup (resultset, i + resultset->start);
if (!rec)
break;
+ else
+ {
+ ZOOM_Event event = ZOOM_Event_create(ZOOM_EVENT_RECV_RECORD);
+ ZOOM_connection_put_event(c, event);
+ }
}
}
- if (i == resultset->count)
+ resultset->start += i;
+ resultset->count -= i;
+
+ if (resultset->count == 0)
return zoom_complete;
}
assert(resultset->query);
return zoom_complete;
}
assert(resultset->query);
@@
-2106,6
+2115,8
@@
static void handle_records (ZOOM_connection c, Z_Records *sr,
record_cache_add (resultset, p->records[i],
i+ resultset->start);
}
record_cache_add (resultset, p->records[i],
i+ resultset->start);
}
+ resultset->count -= i;
+ resultset->start += i;
/* transfer our response to search_nmem .. we need it later */
nmem_transfer (resultset->odr->mem, nmem);
nmem_destroy (nmem);
/* transfer our response to search_nmem .. we need it later */
nmem_transfer (resultset->odr->mem, nmem);
nmem_destroy (nmem);
@@
-2326,6
+2337,7
@@
static zoom_ret send_present(ZOOM_connection c)
yaz_log(log_details, "%p send_present no tasks", c);
return zoom_complete;
}
yaz_log(log_details, "%p send_present no tasks", c);
return zoom_complete;
}
+
switch (c->tasks->which)
{
case ZOOM_TASK_SEARCH:
switch (c->tasks->which)
{
case ZOOM_TASK_SEARCH:
@@
-2364,8
+2376,16
@@
static zoom_ret send_present(ZOOM_connection c)
record_cache_lookup (resultset, i + resultset->start);
if (!rec)
break;
record_cache_lookup (resultset, i + resultset->start);
if (!rec)
break;
+ else
+ {
+ ZOOM_Event event = ZOOM_Event_create(ZOOM_EVENT_RECV_RECORD);
+ ZOOM_connection_put_event(c, event);
+ }
}
}
- if (i == resultset->count)
+ resultset->start += i;
+ resultset->count -= i;
+
+ if (resultset->count == 0)
{
yaz_log(log_details, "%p send_present skip=%d no more to fetch", c, i);
return zoom_complete;
{
yaz_log(log_details, "%p send_present skip=%d no more to fetch", c, i);
return zoom_complete;
@@
-2374,9
+2394,6
@@
static zoom_ret send_present(ZOOM_connection c)
apdu = zget_APDU(c->odr_out, Z_APDU_presentRequest);
req = apdu->u.presentRequest;
apdu = zget_APDU(c->odr_out, Z_APDU_presentRequest);
req = apdu->u.presentRequest;
- resultset->start += i;
- resultset->count -= i;
-
if (i)
yaz_log(log_details, "%p send_present skip=%d", c, i);
if (i)
yaz_log(log_details, "%p send_present skip=%d", c, i);
@@
-3884,6
+3901,7
@@
ZOOM_event (int no, ZOOM_connection *cs)
int i, r, nfds;
int max_fd = 0;
int i, r, nfds;
int max_fd = 0;
+ yaz_log(log_details, "ZOOM_event no=%d", no);
for (i = 0; i<no; i++)
{
ZOOM_connection c = cs[i];
for (i = 0; i<no; i++)
{
ZOOM_connection c = cs[i];
@@
-3897,9
+3915,10
@@
ZOOM_event (int no, ZOOM_connection *cs)
for (i = 0; i<no; i++)
{
ZOOM_connection c = cs[i];
for (i = 0; i<no; i++)
{
ZOOM_connection c = cs[i];
- ZOOM_Event event;
- if (c && ZOOM_connection_exec_task (c))
+ if (c)
{
{
+ ZOOM_Event event;
+ ZOOM_connection_exec_task (c);
if ((event = ZOOM_connection_get_event(c)))
{
ZOOM_Event_destroy (event);
if ((event = ZOOM_connection_get_event(c)))
{
ZOOM_Event_destroy (event);