char state;
SBuf *sbuf = &server->sbuf;
PgSocket *client = server->link;
+ bool async_response = false;
Assert(!server->pool->db->admin);
case 'A': /* NotificationResponse */
idle_tx = server->idle_tx;
ready = server->ready;
+ async_response = true;
break;
/* copy mode */
client->query_start = 0;
server->pool->stats.query_time += total;
slog_debug(client, "query time: %d us", (int)total);
- } else if (ready || idle_tx) {
+ } else if ((ready || idle_tx) && !async_response) {
slog_warning(client, "FIXME: query end, but query_start == 0");
}
client->xact_start = 0;
server->pool->stats.xact_time += total;
slog_debug(client, "transaction time: %d us", (int)total);
- } else if (ready) {
+ } else if (ready && !async_response) {
slog_warning(client, "FIXME: transaction end, but xact_start == 0");
}
}