Andrey Hristov
1ed3da294b
Remove dead code and add possibility to fine tune the size of
...
a mempool (used for result sets).
2010-04-22 15:07:40 +00:00
Felipe Pena
6d951e2ded
- Fix copyrights
2010-04-20 13:50:34 +00:00
Andrey Hristov
c04f752625
Fix for bug#49234 method not found ssl_set
...
Patch was tested and compiles on Windows. (Thanks Kalle)
2010-04-15 11:01:30 +00:00
Andrey Hristov
7496cc761e
decouple the methods in MYSQLND_STMT from the data,
...
needed to move to a new structure MYSQLND_STMT. Makes
the code cleaner and less error-prone.
Also fix PDO/MySQL which directly touch mysqlnd internals
instead of using API calls.
2010-03-16 12:36:57 +00:00
Andrey Hristov
ccfd9cd744
allow persistency of PS
2010-03-12 13:03:46 +00:00
Andrey Hristov
e50de7d982
Pass tsrmls to all functions, which might need it in the future.
...
We are anyway breaking the internal ABI in 5.3.2 so this won't hurt
and make us prepared for the future.
2010-02-03 17:31:29 +00:00
Andrey Hristov
4bbdce5ca7
export more functionality for phpize builds
2010-01-13 18:00:41 +00:00
Andrey Hristov
8b3931b444
this function should be exporten in all cases, not only under PHP6
2010-01-11 18:40:11 +00:00
Andrey Hristov
3264e51983
add restart_psession and end_psession hooks
2010-01-08 13:47:03 +00:00
Andrey Hristov
70690e1163
remove C++ comments
2009-12-15 14:48:24 +00:00
Andrey Hristov
523471f7e8
export this function
2009-12-15 14:26:24 +00:00
Andrey Hristov
a633de0020
bump version number
2009-12-10 11:59:14 +00:00
Andrey Hristov
00d76a8445
Add plugin storage for MYSQLND_STMT too
2009-12-10 11:18:05 +00:00
Andrey Hristov
06a417b6a9
Remove stub code which never actually was used for anything.
...
Things like this can be built on top of the core.
2009-12-09 20:38:11 +00:00
Andrey Hristov
6f598e62ff
Remove the zval caching from mysqlnd. It was disabled versions ago
...
due to problems on windows, which were not debugged. Better have
code that is disabled not in the core.
2009-12-09 20:21:05 +00:00
Andrey Hristov
4d2735007d
Remove disabled code - threaded fetching. This can be implemented
...
on a upper level and by offloading it we reduce the complexity of
the core.
2009-12-09 16:57:03 +00:00
Andrey Hristov
5143fe41e2
Compressed protocol support + extensibility for mysqlnd
2009-11-20 08:12:14 +00:00
Ulf Wendel
629d8fe47e
Updating mysqlnd version number.
2009-10-22 16:10:02 +00:00
Ulf Wendel
d8dc47d58f
Making mysqlnd emit no warnings when fetching pooled persistent connections that have timed out or are unusable for any other reason - bug #49761
2009-10-15 20:46:08 +00:00
Andrey Hristov
2f81bcd44b
Fix ZTS build
2009-09-30 23:34:56 +00:00
Ulf Wendel
e6cf6693e6
Fix (by Andrey) and test for bug #49442 . Don't use efree() for memory allocated with malloc()... If a connection gets created by mysqli_init(), mysqlnd makes it 'persistent'. 'Persistent' means that mysqlnd uses malloc(). mysqlnd does use malloc() instead of ealloc() because it is unknown if the connection will become a true persistent connection in the sense of ext/mysqli. It is unknown if the user wants a persistent connection or not until the user calls mysqli_real_connect(). To avoid tricky conversions mysqlnd uses malloc(), which sets a private persistent flag in the mysqlnd structures. A precondition for the crash to happen was that the private persistent flag is set. The flag is also set when creating a real persistent connection (in the sense of ext/mysqli) and so the bug can happen with mysql_init()/mysqli_real_connect() and mysql_connect('p:<host>', ...). Therefore we test both cases. Note the (tricky?) difference between the implementation detail'mysqlnd private persistent flag = use malloc()' and persistent connections from a user perspective. Although mysqlnd will always set its private persistent flag and use malloc() for connections created with mysqli_init() it is still up to the user to decide in mysqli_real_connect() if the connection shall become a (true) persistent connection or not.
2009-09-16 17:03:44 +00:00
Ulf Wendel
20005db2a0
Fix and tests for bug #49511 . mysqlnd and the MySQL Client Library (libmysql) use different networking APIs. mysqlnd does use PHP streams whereas libmysql uses its own wrapper of the operating level network calls. PHP sets by default a read timeout of 60s for streams - php.ini, default_socket_timeout. This default applies to all streams that set no other timeout value. mysqlnd has not set any other value and therefore it connections of long running queries can have been cut off after default_socket_timeout seconds resulting in a 2006 - MySQL Server has gone away error message. The MySQL Client Library sets a default timeout of 365 * 24 * 3600 seconds (1year) and waits for other timeouts to happen, e.g. TCP/IP timeouts. mysqlnd now uses the same very long timeout. The value is configurable through a new php.ini setting: mysqlnd.net_read_timeout. mysqlnd.net_read_timeout gets used by any extension (ext/mysql, ext/mysqli, PDO_MySQL) that uses mysqlnd. mysqlnd tells PHP Streams to use mysqlnd.net_read_timeout. Please note that there may be subtle differences between MYSQL_OPT_READ_TIMEOUT from the MySQL Client Library and PHP Streams. E.g. MYSQL_OPT_READ_TIMEOUT is documented to work only for TCP/IP connections and, prior to MySQL 5.1.2, only for Windows. PHP streams may not have this limitation. Please check the streams documentation, if in doubt.
2009-09-16 15:00:54 +00:00
Andrey Hristov
cac5325aac
test 2
2009-08-03 14:50:10 +00:00
Andrey Hristov
af22257ba4
test
2009-08-03 14:46:11 +00:00
Johannes Schlüter
9485cad688
Revert mysqlnd to RC3 state after issues with pconnects
2009-06-25 19:03:52 +00:00
Andrey Hristov
0aada07656
MFH:
...
Fix two problems:
- The value of mysqli_get_client_info() has been changed recently and did
not include "mysqlnd" anymore thus the test suite was thinking the build
is always libmysql. This did not kept the suite from running pconn tests
- Going back to the libc allocator because the memory arena could be on a
persistent connections. If the build is not debug there will be no error
but the memory will be freed and in the second use of this pconn freed
memory will be used - not good! For now the arena doesn't take an argument
whether it should allocate persistently or not, thus persistent is safe
for now.
Johannes gave his +1 to commit this.
2009-06-17 16:22:13 +00:00
Johannes Schlüter
11340cf299
MFH: Use a better extension version
2009-06-11 10:18:08 +00:00
Andrey Hristov
a3b85c28c6
Sync with PHP6 - TSRMLS_FETCH
...
Extract reference decrement in own function
Remove PHPAPI of a function and make it static as it is not called
externally
2009-06-11 08:30:08 +00:00
Andrey Hristov
6c4e8fa4f9
MFH:
...
Fix a bug with mysqlnd_fetch_field(_direct()). With mysqlnd the optimised
function was called, which however, doesn't respect that during store the
raw data is not unpacked, to be lazy. The data is unpacked to zvals later,
during every row fetch. However, this way max_length won't be calculated
correctly. So, if a mysqlnd_fetch_field(_direct) call comes we need to
unpack everything and then calculate max_length...and that is expensive,
defies our lazy unpacking optimisation.
2009-05-28 11:47:48 +00:00
Johannes Schlüter
ebef020ecc
- MFH: Improve mysqlnd's internal method registration
2009-02-16 17:26:43 +00:00
Sebastian Bergmann
08659c2dcd
MFH: Bump copyright year, 3 of 3.
2008-12-31 11:15:49 +00:00
Andrey Hristov
d43b7b022f
MFH:
...
Windows fixes for mysqlnd
Less warnings + PHPAPI for mysqlnd_poll
2008-11-20 17:21:36 +00:00
Andrey Hristov
825034cea5
MFH:
...
Asynchronous queries for mysqli, when mysqlnd is enabled.
Includes 4 tests for mysqli_poll
2008-11-18 17:02:18 +00:00
Andrey Hristov
9186528994
MFH:
...
Get rid of many defines (which simplifies the code a lot),
as well as uint->unsigned int
2008-11-06 10:37:47 +00:00
Andrey Hristov
5f7bd521f0
MFH:Compile-in a string-to-int conversion for INT columns by default,
...
controlled by a ini setting.
2008-09-15 14:07:44 +00:00
Andrey Hristov
e0f45cf7ae
Fix possible bug with persistent connections and mysqlnd
2008-06-24 11:01:38 +00:00
Andrey Hristov
8256272540
Update mysqlnd
2008-05-07 15:14:26 +00:00
Andrey Hristov
f4e659d2af
Update ext/mysql's and ext/mysqli's tests
...
Add mysqli_stmt_more_result()/mysqli_stmt_next_result(), but only in
mysqlnd builds as libmysql doesn't support this feature.
2008-04-24 14:22:19 +00:00
Johannes Schlüter
1a419cac12
- MFH: Fix Windows build
2008-04-23 16:56:51 +00:00
Andrey Hristov
de560f3161
MFB: Update CVS from the development tree
2008-04-16 12:57:38 +00:00
Andrey Hristov
28e7d996df
Another fix
2008-02-14 15:20:49 +00:00
Andrey Hristov
2d9d22395f
Update mysqlnd - fix bg_store
2008-02-14 12:49:30 +00:00
Andrey Hristov
cf07e941f1
cvs sync
2008-02-11 16:44:48 +00:00
Andrey Hristov
829831f5ba
Fix the build, add a missing file
2008-01-29 18:11:46 +00:00
Andrey Hristov
d95c29d7f6
Moving extension specific code to php_mysqlnd.c as the old rule is.
2008-01-28 23:23:08 +00:00
Andrey Hristov
7932ccba6d
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.
2008-01-28 18:25:50 +00:00
Andrey Hristov
c52b63ea1d
Merge with internal version
2008-01-23 19:11:28 +00:00
Andrey Hristov
fdf20a8287
- Fix problems with double definitions
...
- Clean up a bit a type mess - 4 types less. No need to have aliases
for the same thing (unification is the name).
- New macro for Johannes mysqlnd_stmt_ro_result_metadata
2008-01-02 21:14:35 +00:00
Sebastian Bergmann
d1dded8751
MFH: Bump copyright year, 2 of 2.
2007-12-31 07:17:19 +00:00
Andrey Hristov
8b9b553aa2
Import mysqlnd
...
Patch ext/mysql and ext/mysqli to support mysqlnd
2007-10-05 21:23:56 +00:00