void test(PGconn* conn)
{
  PGresult *res;
  int i,r;

 /* 1 batch, 3 queries in it */
  r = PQbatchBegin(conn);

  for (i=0; i < 3; i++) {
    r = PQsendQueryParams(conn,
			  "SELECT 1",
			  0,
			  NULL,
			  NULL,
			  NULL,
			  NULL,
			  0);
  }
  PQbatchQueueSync(conn);

  i=0;
  while (PQbatchQueueProcess(conn)) {
    while ((res = PQgetResult(conn)) != NULL) {
      ExecStatusType est = PQresultStatus(res);
	fprintf(stderr, "Result status: %d (%s) for i=%d",
		est, PQresStatus(est), i);
      if (est == PGRES_TUPLES_OK) {
	fprintf(stderr,  ", tuples: %d\n", PQntuples(res));
      }
      else if (est == PGRES_SINGLE_TUPLE) {
	fprintf(stderr,  ", single tuple: %d\n", PQntuples(res));
      }
      else if (est == PGRES_BATCH_END) {
	fprintf(stderr,  ", end of batch reached\n");
      }
      else if (est != PGRES_COMMAND_OK) {
	fprintf(stderr,  ", error: %s\n", PQresultErrorMessage(res));
      }
      PQclear(res);
    }
    i++;
  }
  PQbatchEnd(conn);
}
