diff options
author | Andrey Hristov <andrey@php.net> | 2008-01-28 18:25:50 +0000 |
---|---|---|
committer | Andrey Hristov <andrey@php.net> | 2008-01-28 18:25:50 +0000 |
commit | 7932ccba6d4e71bf50bba9797134a047d36e10e1 (patch) | |
tree | 703adc6e5e0fea41ffb536a1ac50def65fbdae19 /ext/mysqlnd/mysqlnd_wireprotocol.h | |
parent | a7dabd575a1e852999ed9a64341e07737f48ec81 (diff) | |
download | php-git-7932ccba6d4e71bf50bba9797134a047d36e10e1.tar.gz |
More optimizations - less MM calls
Clearly separated fetching (physical reading) from decoding phases (data
interpretation). Threaded fetching added but disabled as needs more work for
Windows. For Linux needs some touches to add pthreads if this is enabled,
probably with a compile-time switch.
The code reorganisation makes it easy to add also async API, similar to
cURL's one.
Diffstat (limited to 'ext/mysqlnd/mysqlnd_wireprotocol.h')
-rw-r--r-- | ext/mysqlnd/mysqlnd_wireprotocol.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ext/mysqlnd/mysqlnd_wireprotocol.h b/ext/mysqlnd/mysqlnd_wireprotocol.h index d9c733428d..7d3fe83ab3 100644 --- a/ext/mysqlnd/mysqlnd_wireprotocol.h +++ b/ext/mysqlnd/mysqlnd_wireprotocol.h @@ -258,7 +258,7 @@ struct st_php_mysql_packet_row { mysqlnd_2b warning_count; mysqlnd_2b server_status; - zend_uchar *row_buffer; + struct st_mysqlnd_memory_pool_chunk *row_buffer; zend_bool skip_extraction; zend_bool binary_protocol; @@ -323,6 +323,13 @@ zend_uchar * php_mysqlnd_net_store_length(zend_uchar *packet, uint64 length); extern char * const mysqlnd_empty_string; + +void php_mysqlnd_rowp_read_binary_protocol(MYSQLND_MEMORY_POOL_CHUNK * row_buffer, zval ** fields, + uint field_count, MYSQLND_FIELD *fields_metadata, MYSQLND *conn TSRMLS_DC); + +void php_mysqlnd_rowp_read_text_protocol(MYSQLND_MEMORY_POOL_CHUNK * row_buffer, zval ** fields, + uint field_count, MYSQLND_FIELD *fields_metadata, MYSQLND *conn TSRMLS_DC); + #endif /* MYSQLND_WIREPROTOCOL_H */ /* |