1
0
mirror of https://github.com/mariadb-corporation/mariadb-connector-c.git synced 2025-08-07 02:42:49 +03:00

New options MARIADB_CONNECTION_BYTES_READ/SENT

Added new options MARIADB_CONNECTION_BYTES_READ and
MARIADB_CONNECTION_BYTES_SENT which can be passed to
mariadb_get_infov() api funcion to obtain the bytes sent
or read to/from database server.
This commit is contained in:
Georg Richter
2022-01-02 14:14:39 +01:00
parent bc7bbd4752
commit 510c7e5dfe
4 changed files with 15 additions and 1 deletions

View File

@@ -84,6 +84,8 @@ struct st_ma_pvio {
PVIO_METHODS *methods; PVIO_METHODS *methods;
void (*set_error)(MYSQL *mysql, unsigned int error_nr, const char *sqlstate, const char *format, ...); void (*set_error)(MYSQL *mysql, unsigned int error_nr, const char *sqlstate, const char *format, ...);
void (*callback)(MARIADB_PVIO *pvio, my_bool is_read, const uchar *buffer, size_t length); void (*callback)(MARIADB_PVIO *pvio, my_bool is_read, const uchar *buffer, size_t length);
size_t bytes_read;
size_t bytes_sent;
}; };
typedef struct st_ma_pvio_cinfo typedef struct st_ma_pvio_cinfo

View File

@@ -285,7 +285,9 @@ extern const char *SQLSTATE_UNKNOWN;
MARIADB_CONNECTION_SERVER_STATUS, MARIADB_CONNECTION_SERVER_STATUS,
MARIADB_CONNECTION_SERVER_CAPABILITIES, MARIADB_CONNECTION_SERVER_CAPABILITIES,
MARIADB_CONNECTION_EXTENDED_SERVER_CAPABILITIES, MARIADB_CONNECTION_EXTENDED_SERVER_CAPABILITIES,
MARIADB_CONNECTION_CLIENT_CAPABILITIES MARIADB_CONNECTION_CLIENT_CAPABILITIES,
MARIADB_CONNECTION_BYTES_READ,
MARIADB_CONNECTION_BYTES_SENT
}; };
enum mysql_status { MYSQL_STATUS_READY, enum mysql_status { MYSQL_STATUS_READY,

View File

@@ -265,6 +265,8 @@ end:
p= p->next; p= p->next;
} }
} }
if (r > 0)
pvio->bytes_read+= r;
return r; return r;
} }
/* }}} */ /* }}} */
@@ -391,6 +393,8 @@ end:
p= p->next; p= p->next;
} }
} }
if (r > 0)
pvio->bytes_sent+= r;
return r; return r;
} }
/* }}} */ /* }}} */

View File

@@ -4495,6 +4495,12 @@ my_bool mariadb_get_infov(MYSQL *mysql, enum mariadb_value value, void *arg, ...
else else
goto error; goto error;
break; break;
case MARIADB_CONNECTION_BYTES_READ:
*((size_t *)arg)= mysql->net.pvio->bytes_read;
break;
case MARIADB_CONNECTION_BYTES_SENT:
*((size_t *)arg)= mysql->net.pvio->bytes_sent;
break;
default: default:
va_end(ap); va_end(ap);
return(-1); return(-1);