Commit Graph

490 Commits

Author SHA1 Message Date
Andrey Hristov
b9bb138017 Don't write more data than the protocol can grok or the server will
be confused. This comes without a test because the server needs to be
a non-community one with closed source PAM plugin loaded.
2011-11-30 17:20:25 +00:00
Andrey Hristov
0e31a00117 use the method in all builds. Thus it can be used for detection
of state transitioning in every case
2011-11-22 16:38:06 +00:00
Andrey Hristov
a330739594 Add a middleman which can intercept the calls and can reroute them 2011-11-02 17:06:30 +00:00
Andrey Hristov
29f88a003f - shift a bit of code around
- when cloning use the methods of the original object
2011-11-02 15:08:01 +00:00
Andrey Hristov
4f7dc4d283 fix trace log messages 2011-11-02 14:20:35 +00:00
Andrey Hristov
ba1f65faa1 Now really split the method tables and have different
methods for the handle and the data object.
Add auxiliary functions to work with the new methods.
Add possibility to clone a connection object - shadow copy.
2011-10-31 14:33:56 +00:00
Andrey Hristov
6a9feb730f Split struct MYSQLND in struct MYSQLND and struct MYSQLD_CONN_DATA.
A step in the direction of keeping internal data private
2011-10-31 11:46:24 +00:00
Andrey Hristov
cae81edb0c Bump internal version id after recent changes 2011-10-26 09:00:32 +00:00
Andrey Hristov
845d8fa10c Move from directly referencing an aggregated structure to using a
pointer to a structure. The structure is still aggregated but we add
a level of indirection for possible plugins to overwrite the storage
2011-10-25 23:01:49 +00:00
Andrey Hristov
13bc754db7 Add hooks for __call like functionality and also allow to
handle calls that spread over two internal functions. Let's call it
a local TX.
2011-10-25 19:04:36 +00:00
Andrey Hristov
4cda1b4086 remove duplicate, happened after double patching 2011-10-24 12:54:04 +00:00
Andrey Hristov
374018803a move plugin specific stuff to one file. create object factory
for similar objects
2011-10-24 12:34:44 +00:00
Andrey Hristov
7472c081b7 add files that weren't committed with the previous commit 2011-10-21 15:29:43 +00:00
Andrey Hristov
139813877c shift code around to two new files - mysqlnd_driver.c
and mysqlnd_ext_plugin.c (mysqlnd extension plugin)
2011-10-21 15:28:58 +00:00
Andrey Hristov
10e4419231 api_ext to reverse_api 2011-10-19 15:04:12 +00:00
Rui Hirokawa
e3c13d7961 fixed maximum byte length of utf8mb4. 2011-10-18 14:28:01 +00:00
Andrey Hristov
badb5f2610 export this existing function 2011-10-12 16:18:02 +00:00
Andrey Hristov
a498bc62b8 MYSQLND_NET refactored not to use any direct reference to MYSQLND (the connection)
QC will need an ifdef-layer to compile with this
2011-10-10 20:49:28 +00:00
Andrey Hristov
5f6020bc4d try not to crash when closing persistent sockets, because EG(persistent_list)
is cleaned before the extensions' MSHUTDOWNs are called.
2011-10-06 00:45:58 +00:00
Johannes Schlüter
31ff0d156e - Fix folding 2011-09-25 13:06:09 +00:00
Xinchen Hui
437f058814 Fix warning "implicit declaration of function `zend_fetch_debug_backtrace'" 2011-09-25 03:18:39 +00:00
Pierre Joye
272180cb85 - fix build (macros mess) 2011-09-17 12:41:23 +00:00
Pierre Joye
7b2eeea2b4 - fix TS build 2011-09-17 10:24:18 +00:00
Dmitry Stogov
938d956e2e Fixed Windows build 2011-09-16 06:55:43 +00:00
Johannes Schlüter
fca3b40d7b - Fix bug #55609 (mysqlnd cannot be built shared)
# This adds an option --enable-mysqlnd to explicitly built mysqlnd, like any
# other extension it can be used with =shared to build mysqlnd shared;
# mysqlnd will implicitly enabled when requested from another extension
2011-09-06 16:38:22 +00:00
Andrey Hristov
4f0b4031fe add query information to the trace log 2011-09-06 14:48:43 +00:00
Andrey Hristov
4325a8bffc Fix for Bug #55582 mysqli_num_rows() returns always 0 for unbuffered, when mysqlnd is used 2011-09-05 15:29:45 +00:00
Xinchen Hui
83f61c2c53 Fixed compiler warning "incompatible pointer type" 2011-09-05 15:02:21 +00:00
Gustavo André dos Santos Lopes
187b419b04 - Fixed bad xor in signed types due to integer promotion.
- Replaced undefined signed overflow with char -> unsigned char conversion.
2011-09-05 00:39:39 +00:00
Andrey Hristov
1f3e66cd56 fix message 2011-09-02 12:59:32 +00:00
Andrey Hristov
2dbc61a2ff function rename to comply with the schema of other callbacks 2011-09-02 11:22:41 +00:00
Johannes Schlüter
4eff96b99b - Fix TSRM build 2011-09-01 12:04:54 +00:00
Johannes Schlüter
39b0be5126 - Register extensions using mysqlnd (mysql, myslqi, pdo_mysql) with mysqlnd 2011-08-31 20:30:08 +00:00
Andrey Hristov
604fa1537a Fix valgrind error (sending of initialized bytes over the network).
When the compression was successful the compressed data + uninitialized data
at the end was sent to the server, because the length of the compressed payload
wasn't correctly calculated (actually the length of the uncompressed payload as assumed).
However, the uncompress() function has internally the length of the real payload and skips
the binary trash at the end - thus no data damage occurs!
2011-08-31 18:18:23 +00:00
Andrey Hristov
ee17839f20 fix valgrind warnings in debug builds 2011-08-26 12:14:31 +00:00
Xinchen Hui
d7e0ccbc5a Eliminated compile warning "comparison is always false due to limited range of data type"
Fixed test failed due to mysql_pconnect throw warning
Fixed test failed when host mysql server doesn't listen on 3306
2011-08-24 10:15:47 +00:00
Andrey Hristov
9baee85844 Fix Bug #55473 mysql_pconnect leaks file descriptors on reconnect
The fix is for now in 5_4 and trunk, to be merged into 5_3 after 5.3.8
is packaged (expected today). The test case goes to all branches
2011-08-22 10:42:43 +00:00
Andrey Hristov
9ae3777b10 compile out when PHP_DEBUG is not present 2011-08-17 11:15:55 +00:00
Andrey Hristov
e289cf7267 relax constraint 2011-08-10 14:12:24 +00:00
Felipe Pena
9480eace41 - Added ZEND_MOD_END macro to use in the end of zend_module_dep[] 2011-08-06 14:47:44 +00:00
Andrey Hristov
11f198b203 Add mysqli_error_list() that returns an array with errors. Typically only
one and just one for libmysql. mysqlnd can return generate more than one error
during its work and with mysqli_error() only the last error is being reported.
In the array returned by mysqli_error_list() / $mysqli->error_list, all errors will be found.
The list is reset when the next command is executed
2011-08-04 09:51:26 +00:00
Andrey Hristov
2e1825830f longer error messages, don't cut them 2011-07-27 10:26:59 +00:00
Felipe Pena
da376383e8 - Make usage of new PHP_FE_END macro 2011-07-25 11:35:02 +00:00
Andrey Hristov
fa27e05438 free data in case of failure in the callee not in the caller 2011-07-05 20:31:53 +00:00
Andrey Hristov
b730fde67f reuse code 2011-05-31 20:42:44 +00:00
Andrey Hristov
33701b76ae fix macros 2011-05-31 10:35:07 +00:00
Andrey Hristov
6c2f42b544 exchange a "trap" with an error 2011-05-17 09:44:11 +00:00
Johannes Schlüter
b83b4880d3 - Move the field access behind the check
# Only called from one place where the connection is checked, but
# playing safe, again (parfait)
2011-05-17 00:16:57 +00:00
Johannes Schlüter
898e3095f1 - Move the access behind the check.
# I can't find an unsafe call, but let's play safe
2011-05-16 10:15:28 +00:00
Andrey Hristov
9a197618b4 Fix range
(thanks again nihen)
2011-05-10 07:15:22 +00:00