Added get_pg_backend_state

pull/5156/head
Rahim Kanji 6 months ago
parent cdfd1543a4
commit 81d4c3ad74

@ -509,6 +509,7 @@ public:
char get_transaction_status_char();
inline int get_backend_pid() { return (pgsql_conn) ? get_pg_backend_pid() : -1; }
bool is_pipeline_active() { return (PQpipelineStatus(pgsql_conn) != PQ_PIPELINE_OFF); }
const char* get_pg_backend_state() const;
static int char_to_encoding(const char* name) {
return pg_char_to_encoding(name);

@ -2117,6 +2117,25 @@ const char* PgSQL_Connection::get_pg_transaction_status_str() {
return "INVALID";
}
const char* PgSQL_Connection::get_pg_backend_state() const {
if (PQstatus(pgsql_conn) != CONNECTION_OK)
return "disconnected";
switch (PQtransactionStatus(pgsql_conn)) {
case PQTRANS_IDLE:
return "idle";
case PQTRANS_ACTIVE:
return "active";
case PQTRANS_INTRANS:
return "idle in transaction";
case PQTRANS_INERROR:
return "idle in transaction (aborted)";
case PQTRANS_UNKNOWN:
default:
return "unknown";
}
}
bool PgSQL_Connection::handle_copy_out(const PGresult* result, uint64_t* processed_bytes) {
if (new_result == true) {

Loading…
Cancel
Save