Oops, don't forget to set cmd_fetch_size ( and cache_size) of QResultClass objects.
authorHiroshi Inoue <h-inoue@dream.email.ne.jp>
Mon, 28 Mar 2016 05:24:18 +0000 (14:24 +0900)
committerHiroshi Inoue <h-inoue@dream.email.ne.jp>
Mon, 28 Mar 2016 05:26:15 +0000 (14:26 +0900)
connection.c
qresult.c

index 6d66d77530c3204b20ea47c27c60af820e2e0c15..bd5bbad42f3a0f3266469838e37d97e8943ba82d 100644 (file)
@@ -1702,6 +1702,11 @@ CC_send_query_append(ConnectionClass *self, const char *query, QueryInfo *qi, UD
        }
    }
    res = cmdres;
+   if (qi)
+   {
+       res->cmd_fetch_size = qi->fetch_size;
+       res->cache_size = qi->row_size;
+   }
    nrarg.res = res;
 
    while (self->pqconn && (pgres = PQgetResult(self->pqconn)) != NULL)
index 27b5c7a6df48167dc04c6e4cd4ba2d2117eeaf1e..e0bea4f56a995aef509a40ac035ecaa218f19df2 100644 (file)
--- a/qresult.c
+++ b/qresult.c
@@ -676,6 +676,7 @@ inolog("!!%p->cursTup=%d total_read=%d\n", self, self->cursTuple, self->num_tota
    /* EOF is 'fetched < fetch requested' */
    if (self->num_cached_rows - num_cached_rows < self->cmd_fetch_size)
    {
+       mylog("detect EOF %d - %d < %d\n", self->num_cached_rows, num_cached_rows, self->cmd_fetch_size);
        reached_eof_now = TRUE;
        QR_set_reached_eof(self);
    }