Commit Graph

163 Commits

Author SHA1 Message Date
Andrey Hristov
157f1bddf1 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
3cfacd1e07 I svn-commit.2.tmp (Modified) Row 2 Col 28 11:45 Ctrl-K H for help
fix compilation on windows and with other compilers who
don't like void* arithmetic
2009-12-03 10:50:02 +00:00
Pierre Joye
330523c60c - disable this debug code until it is actually fixed 2009-12-03 10:41:20 +00:00
Andrey Hristov
4c1065522d fix segfault introduced by Pierre in a recent commit
old code was doing something like
conn + sizeof(MYSQLND) * MYSQLND + plugin * sizeof(void) * sizeof(MYSQLND)
because `conn` is not casted to void*. `conn` has to be casted to void * and
then the whole experession will be void * and the calculations will work.
2009-12-03 09:43:26 +00:00
Pierre Joye
80e5ef6fa5 - void is NaN, you can't do math ops on void. Declarations go first. Fix TS build 2009-11-30 10:56:01 +00:00
Andrey Hristov
0c6fa49fff fix debug windows build as well as remove a compilation warning
(a header not included)
2009-11-26 11:10:47 +00:00
Andrey Hristov
7674c942c7 Compressed protocol support + extensibility for mysqlnd 2009-11-20 08:12:14 +00:00
Andrey Hristov
4afa56f846 Don't forget to update the length too 2009-10-22 17:36:12 +00:00
Andrey Hristov
a86ab84a4c Have the lengths also to skip many calls to strlen 2009-10-22 17:07:55 +00:00
Andrey Hristov
8792edcf76 Count number of affected_rows for normal and PS queries 2009-10-22 14:30:51 +00:00
Ulf Wendel
0949463ed8 Fixing host info for TCP/IP and aligning mysqlnd and libmysql 2009-10-19 12:09:48 +00:00
Ulf Wendel
f0e6db4d56 Extending mysqlnd statistics/monitoring. Now counting COM_* commands. 2009-10-16 13:02:01 +00:00
Ulf Wendel
29d771c543 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
Ulf Wendel
355a88f676 Fixing problems when calling connect (again and again) on a valid connection handle. Most of the patch comes from Andrey. 2009-10-15 15:49:40 +00:00
Ulf Wendel
410804abc4 Avoid buffer resizing and let the initial buffer allocation happen a couple of lines later with conn->m->set_client_option(conn, MYSQLND_OPT_NET_CMD_BUFFER_SIZE, ...). Andrey, I leave it to you to change the default size to 128k. 2009-10-08 16:33:17 +00:00
Ulf Wendel
e9f9b39ae0 Fixing pconnect statistics. 2009-10-08 11:40:16 +00:00
Andrey Hristov
5b97f74b62 Increase the minimal size of the command buffer, which is used
for sending queries and in the future commpressed patch for reading
almost all packets from the wire instead of using stack buffers.
2009-10-07 17:33:51 +00:00
Andrey Hristov
dc01e66027 revert the last change 2009-10-06 12:53:01 +00:00
Andrey Hristov
a86aff9871 count the queries 2009-10-06 10:33:23 +00:00
Andrey Hristov
bc7bbaa65a Use mnd_ wrappers wherever possible. Needed for
statistics.
2009-09-30 23:13:43 +00:00
Andrey Hristov
cec76fd650 Fix possible crash when conn is NULL 2009-09-25 10:37:44 +00:00
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