Commit Graph

42 Commits

Author SHA1 Message Date
Ulf Wendel
8e42cbfeac 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
149914f644 Fixed bug #49027 (mysqli_options() doesn't work when using mysqlnd) 2009-08-27 13:16:39 +00:00
Andrey Hristov
efc752375e Merge with the branch, someone made changes in PHP5_3 and did not merge.
Also switch off the zval cache for now.
2009-06-08 10:19:29 +00:00
Felipe Pena
04c90a0f51 - Removed:
- UG(unicode) checks
- Changed:
     - ZEND_STR_TYPE -> IS_UNICODE
     - convert_to_text -> convert_to_unicode
2009-03-27 19:28:26 +00:00
Johannes Schlüter
6a6e94c0d9 - Improve mysqlnd's internal method registration 2009-02-16 17:25:37 +00:00
Sebastian Bergmann
7f4dc8702a Bump copyright year, 3 of 3. 2008-12-31 11:12:40 +00:00
Andrey Hristov
2452619ed7 mysqlnd fixes for Windows :
- less warnings
- PHPAPI for mysqlnd_poll
2008-11-20 17:29:55 +00:00
Andrey Hristov
d38e2142c1 Fix a small bug that mysqlnd::next_result didn't care about an error in a
multi-statement. In an inner layer the error has been already set, thus it
needed better massage on the top level.
2008-11-19 17:41:25 +00:00
Andrey Hristov
a04cd72975 Fix windows build - pure C compiler 2008-11-18 18:02:06 +00:00
Andrey Hristov
983f575f22 Asynchronous queries for mysqli, when mysqlnd is enabled.
Includes 4 tests for mysqli_poll
2008-11-18 16:54:38 +00:00
Andrey Hristov
0b46d6b5a5 Get rid of many defines (which simplifies the code a lot),
as well as uint->unsigned int
2008-11-06 10:36:30 +00:00
Andrey Hristov
65f5d4e434 64bit fixes:
- fixes to sprintf modifiers, cleaning warnings
- use _t types, like uint64_t instead of uint64, thus skipping series of
typedefs.
2008-10-31 20:30:33 +00:00
Johannes Schlüter
96b3cd0a64 Fix #46285 (lastInsertId() returns "0" when a deferenced PDOStatement is
executed)
2008-10-27 17:20:26 +00:00
Johannes Schlüter
9fe2c9f531 Handle failed connections right 2008-10-01 19:46:58 +00:00
Andrey Hristov
1eb634c0e3 Forgot to merge these changes - Float conversion 2008-09-15 18:10:38 +00:00
Johannes Schlüter
71c14293fc constify strings 2008-08-19 10:42:00 +00:00
Johannes Schlüter
a11121e8df Fix empty error message when connecting to a bad server 2008-08-19 10:15:56 +00:00
Andrey Hristov
73dfa53ca8 Sync with bzr 2008-07-15 13:12:27 +00:00
Andrey Hristov
fd699ce7d3 Fix possible bug with persistent connections 2008-06-24 11:19:07 +00:00
Andrey Hristov
493b0bb51b Update mysqlnd - new ini variable 2008-05-07 15:16:27 +00:00
Andrey Hristov
5da78b297b 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:04:58 +00:00
Andrey Hristov
c931468b88 Update ext/mysql, ext/mysqli and ext/mysqlnd from development tree 2008-04-16 12:53:18 +00:00
Andrey Hristov
0e884df573 - Don't modify the variables which are passed for parameter binding.
We need to clone them, if there will be a transformation (convert_to_xxx)
  which will change the origin.
- Make mysqlnd more compatible to libmysql, in this case if the execute of
  a statement fails set the state of the statement back to PREPARED
- A test case to check the case of a failing statement.
2008-03-20 13:25:49 +00:00
Andrey Hristov
77d6a5afe8 Update mysqlnd - fix bg_store 2008-02-14 12:51:00 +00:00
Andrey Hristov
82ad02f0cd cvs sync 2008-02-11 16:45:15 +00:00
Andrey Hristov
8d7807d681 MFB: Simplify unique string generation and plug a leak. 2008-02-04 17:55:51 +00:00
Andrey Hristov
508841bb5c Fix the build, add a missing file 2008-01-29 18:13:12 +00:00
Andrey Hristov
2687e55829 Moved initialization into a separate function 2008-01-29 12:00:52 +00:00
Andrey Hristov
e580f0fd24 Moving extension specific code to php_mysqlnd.c as the old rule is. 2008-01-28 23:24:05 +00:00
Andrey Hristov
6d9fdbce50 MFB:
some config.w32 fixes
moved mysqlnd's block allocator to a separate file and also now
it's part of the connection, no MT problems.
2008-01-28 22:54:21 +00:00
Andrey Hristov
18c8e6501b MFB: 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:27:49 +00:00
Andrey Hristov
69f4a40d99 Merge with internal version 2008-01-23 19:09:33 +00:00
Andrey Hristov
5a4f6015bb strncpy->strlcpy 2008-01-08 13:13:39 +00:00
Andrey Hristov
69f7eaa749 - 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:16:46 +00:00
Sebastian Bergmann
9b620d50b4 Bump copyright year, 2 of 2. 2007-12-31 07:12:20 +00:00
Andrey Hristov
6555eb521f Fix segfault in debug build 2007-11-08 17:29:06 +00:00
Andrey Hristov
7b23705ce3 MFB: Fix compile failure on windows 2007-10-23 10:17:39 +00:00
Andrey Hristov
9ac92cfecb Update mysqlnd in HEAD
Updated ext/mysql and ext/mysqli in HEAD
2007-10-02 10:45:27 +00:00
Dmitry Stogov
8146078f7b Improved memory usage by movig constants to read only memory. (Dmitry, Pierre) 2007-09-27 18:28:44 +00:00
Andrey Hristov
de29322de4 Fix crashes with pconn in ext/mysql 2007-08-06 15:11:46 +00:00
Andrey Hristov
7186530157 Update CVS
- Fix BIT problem for BIT values represented with 5 bytes. Typo.
- Make it possible with an ini variable to switch off/on statistics
  collection.
- Compile-out debug checking of uneaten data from the line, when the
  build is release. According to callgrind this was eating some percentage.
2007-08-03 16:32:27 +00:00
Jani Taskinen
f3c2a33f42 - Moved mysqnd to it's own directory: It is sort of an extension itself.
(Similar to what ext/libxml is..)
2007-07-25 23:47:33 +00:00