diff options
| author | Nikita Popov <nikic@php.net> | 2016-02-22 18:40:45 +0100 |
|---|---|---|
| committer | Nikita Popov <nikic@php.net> | 2016-02-22 19:40:32 +0100 |
| commit | 2d1559f827477963a3f8a40af64212a409ba9457 (patch) | |
| tree | 09e6c1e52186e40af57fff9f427df9c1d505b10f /ext/mysqlnd/mysqlnd_ps.c | |
| parent | 42fe5e6791bb0adca2b4bc0373007a9f776e3d8a (diff) | |
| download | php-git-2d1559f827477963a3f8a40af64212a409ba9457.tar.gz | |
Move free_chunk and resize_chunk into memory pool
Drops 24 bytes from each chunk. For the example in bug #71468 it
reduces memory usage by 30%.
Diffstat (limited to 'ext/mysqlnd/mysqlnd_ps.c')
| -rw-r--r-- | ext/mysqlnd/mysqlnd_ps.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/ext/mysqlnd/mysqlnd_ps.c b/ext/mysqlnd/mysqlnd_ps.c index 907ddb46e1..1e37f79bf4 100644 --- a/ext/mysqlnd/mysqlnd_ps.c +++ b/ext/mysqlnd/mysqlnd_ps.c @@ -947,7 +947,8 @@ mysqlnd_stmt_fetch_row_unbuffered(MYSQLND_RES * result, void * param, const unsi the bound variables. Thus we need to do part of what it does or Zend will report leaks. */ - row_packet->row_buffer->free_chunk(row_packet->row_buffer); + row_packet->result_set_memory_pool->free_chunk( + row_packet->result_set_memory_pool, row_packet->row_buffer); row_packet->row_buffer = NULL; } @@ -1141,13 +1142,15 @@ mysqlnd_fetch_stmt_row_cursor(MYSQLND_RES * result, void * param, unsigned int f the bound variables. Thus we need to do part of what it does or Zend will report leaks. */ - row_packet->row_buffer->free_chunk(row_packet->row_buffer); + row_packet->result_set_memory_pool->free_chunk( + row_packet->result_set_memory_pool, row_packet->row_buffer); row_packet->row_buffer = NULL; } /* We asked for one row, the next one should be EOF, eat it */ ret = PACKET_READ(row_packet); if (row_packet->row_buffer) { - row_packet->row_buffer->free_chunk(row_packet->row_buffer); + row_packet->result_set_memory_pool->free_chunk( + row_packet->result_set_memory_pool, row_packet->row_buffer); row_packet->row_buffer = NULL; } MYSQLND_INC_CONN_STATISTIC(conn->stats, STAT_ROWS_FETCHED_FROM_CLIENT_PS_CURSOR); |
