Dmitry Stogov
4ad9cf4605
Bit test optimization
2018-05-08 11:58:17 +03:00
Dmitry Stogov
c88be6aee1
Bit check micro-optimization
2018-04-28 14:13:12 +03:00
Xinchen Hui
a6519d0514
year++
2018-01-02 12:57:58 +08:00
Xinchen Hui
7a7ec01a49
year++
2018-01-02 12:55:14 +08:00
Dmitry Stogov
7067f7ccb4
Fixed incorrect buffer reallocation
2017-11-30 13:54:24 +03:00
Dmitry Stogov
6bcace1b72
Use single memory pool for result metadata and result set.
2017-11-15 14:07:09 +03:00
Dmitry Stogov
e2c9dfb5de
Cleanup. Make difference between MYSQLND_ROW_BUFFER and MYSQLND_MEMORY_POOL_CHUNK (the last one is completely removed).
2017-11-15 11:33:32 +03:00
Dmitry Stogov
de5cc9017e
Use better buffer reallocation strategy
2017-11-15 02:44:34 +03:00
Dmitry Stogov
492bc8ea57
Use mnd_emalloc/mnd_efree
2017-11-14 23:34:06 +03:00
Dmitry Stogov
f1f1f63ce1
Reimplemented MYSQLND_MEMORY_POOL to avoid allocations ouside of pool. Store all data related to result set in the pool.
2017-11-14 23:08:29 +03:00
Dmitry Stogov
3077a14aea
Use mnd_erealloc()
2017-11-14 16:19:44 +03:00
Dmitry Stogov
148641980c
Merge mysqlnd_field_hash_key structure into st_mysqlnd_field.
2017-11-14 16:14:13 +03:00
Dmitry Stogov
93334b5fc2
Use stack-allocated packets.
2017-11-14 15:10:27 +03:00
Dmitry Stogov
a7305eb539
Made "result", "statement" and "last_message" to always use Zend MM heap. (even for persistent connections these entities don't relive request boundary)
2017-11-02 03:27:25 +03:00
Dmitry Stogov
e111bccd48
Use zval_ptr_dtor_nogc() for data that can't be circular
2017-06-29 12:14:41 +03:00
Sammy Kaye Powers
9e29f841ce
Update copyright headers to 2017
2017-01-02 09:30:12 -06:00
Andrey Hristov
675fc9e04e
Merge branch 'PHP-7.1'
2016-12-12 22:00:30 +02:00
Andrey Hristov
9eca4dca73
Optimized memory handling of BIT fields. Less memory copies and less
...
memory usage.
2016-12-12 21:59:29 +02:00
Anatol Belski
b204b3abd1
further normalizations, uint vs uint32_t
...
fix merge mistake
yet one more replacement run
2016-11-26 17:29:01 +01:00
Andrey Hristov
b27ff62ee0
Fix for bug #71863 Segfault when EXPLAIN with "Unknown column" error
...
The reason was that after the big refactoring of mysqlnd at the end of
last year code that is initializing the error_info structure in the
result set was not added. It existed already for connections and PS.
The code that segfaults is hit only with MariaDB because MariaDB sends
full metadata about the EXPLAIN query + EOF packet and only then it sends
an error packet. MySQL doesn't do that but sends directly an error which
is caught (by different code path). As errors during execution (which means
after sending meta) are pretty rare there was no test case of MySQL to
catch it.
2016-07-25 21:59:27 +02:00
Andrey Hristov
671d22f5de
Fix for bug #71863 Segfault when EXPLAIN with "Unknown column" error
...
The reason was that after the big refactoring of mysqlnd at the end of
last year code that is initializing the error_info structure in the
result set was not added. It existed already for connections and PS.
The code that segfaults is hit only with MariaDB because MariaDB sends
full metadata about the EXPLAIN query + EOF packet and only then it sends
an error packet. MySQL doesn't do that but sends directly an error which
is caught (by different code path). As errors during execution (which means
after sending meta) are pretty rare there was no test case of MySQL to
catch it.
2016-07-23 00:26:26 +03:00
Kalle Sommer Nielsen
bb198ec9a6
Fix compiler warnings in mysqlnd
2016-04-03 02:27:25 +02:00
Andrey Hristov
3a33ee63e8
Merge branch 'PHP-7.0'
2016-03-16 10:47:27 +01:00
Andrey Hristov
f2ab731a8c
Fix emails in headers. @mysql.com addresses are no more since many years.
2016-03-16 10:24:52 +01:00
Nikita Popov
2d1559f827
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%.
2016-02-22 19:40:32 +01:00
Lior Kaplan
3d5438bf7b
Merge branch 'PHP-7.0'
...
* PHP-7.0:
Update header to PHP Version 7
Happy new year (Update copyright to 2016)
Happy new year (Update copyright to 2016)
2016-01-01 20:04:31 +02:00
Lior Kaplan
ed35de784f
Merge branch 'PHP-5.6' into PHP-7.0
...
* PHP-5.6:
Happy new year (Update copyright to 2016)
2016-01-01 19:48:25 +02:00
Lior Kaplan
49493a2dcf
Happy new year (Update copyright to 2016)
2016-01-01 19:21:47 +02:00
Andrey Hristov
067380d7c6
MNDR:
...
- constify some parameters to MYSQLND_RES functions
2015-11-12 16:19:16 +01:00
Andrey Hristov
0a7e08d385
MNDR:
...
- cleanup in mysqlnd_result.c
- switch from zend_ulong to size_t for lengths. Accordingly change
mysqli and pdo_mysql for this.
2015-11-12 16:19:16 +01:00
Andrey Hristov
94ce013bff
MNDR:
...
- remove unused macros
2015-11-12 16:19:16 +01:00
Andrey Hristov
2e3fc57c5c
MNDR:
...
- move things out of mysqlnd_priv.h
2015-11-12 16:19:16 +01:00
Andrey Hristov
c286d7075d
MNDR:
...
- move from char* + len to MYSQLND_STRING
- add some more const modifiers
2015-11-12 16:19:16 +01:00
Andrey Hristov
aa4966d4e3
MNDR:
...
- now send_command_handle_response() also doesn't depend directly on
MYSQLND_CONN_DATA
2015-11-12 16:19:16 +01:00
Andrey Hristov
280c834c49
MNDR:
...
- rename the macro for updating the connection state
2015-11-12 16:19:16 +01:00
Andrey Hristov
4bb784cd0d
MNDR:
...
- make MYSQLND_ERROR_INFO a class
2015-11-12 16:19:16 +01:00
Andrey Hristov
5609eabc6f
MDNR:
...
- make MYSQLND_UPSERT_STATUS more like an object that a simple structure
Still use macros to make updates simple
2015-11-12 16:19:16 +01:00
Andrey Hristov
34a33928d6
MNDR:
...
- Rename MYSQLND_PROTOCOL to MYSQLND_PROTOCOL_PAYLOAD_DECODER_FACTORY
- Rename other symbols related to MYSQLND_PROTOCOL accordingly
2015-11-12 16:19:16 +01:00
Stanislav Malyshev
bf55a4e223
Merge branch 'PHP-5.6'
...
* PHP-5.6:
fix sizeof size
2015-02-01 12:42:00 -08:00
Stanislav Malyshev
969e389121
Merge branch 'PHP-5.5' into PHP-5.6
...
* PHP-5.5:
fix sizeof size
2015-02-01 12:41:33 -08:00
Stanislav Malyshev
f66f5b2ffa
Merge branch 'PHP-5.4' into PHP-5.5
...
* PHP-5.4:
fix sizeof size
2015-02-01 12:41:00 -08:00
Stanislav Malyshev
7efbd70b03
fix sizeof size
2015-02-01 12:40:38 -08:00
Xinchen Hui
fc33f52d8c
bump year
2015-01-15 23:27:30 +08:00
Xinchen Hui
0579e8278d
bump year
2015-01-15 23:26:37 +08:00
Xinchen Hui
73c1be2653
Bump year
2015-01-15 23:26:03 +08:00
Stanislav Malyshev
b7a7b1a624
trailing whitespace removal
2015-01-10 15:07:38 -08:00
Anatol Belski
e112f6a04e
second shot on removing TSRMLS_*
2014-12-14 14:07:59 +01:00
Anatol Belski
bdeb220f48
first shot remove TSRMLS_* things
2014-12-13 23:06:14 +01:00
Johannes Schlüter
d0cb715373
s/PHP 5/PHP 7/
2014-09-19 18:33:14 +02:00
Anatol Belski
c3e3c98ec6
master renames phase 1
2014-08-25 19:24:55 +02:00