Commit Graph

212 Commits

Author SHA1 Message Date
Pierre Joye
7cc3ad6313 - fix TS build 2009-06-09 10:03:42 +00:00
Pierre Joye
67f88a0c3f - ws 2009-06-09 09:51:56 +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
Andrey Hristov
1683d46dc9 Add support for mysql_stmt_store_result() from libmysql 6.0.8+ and 5.4.x 2009-05-29 13:09:22 +00:00
Andrey Hristov
37234bb393 Fix for the failing mysql_stmt_execute() test. Data was cleaned after
stmt_reset() but it should stay and be freed as later as next stmt_execute()
2009-05-29 12:19:26 +00:00
Andrey Hristov
9230362631 Fix a very well hidden error because of not being careful with CPP.
I usually don't make this mistake :)
2009-05-29 08:05:21 +00:00
Andrey Hristov
86aa4e8035 Fix a valgrind warning as well as more trace log information 2009-05-28 17:49:00 +00:00
Andrey Hristov
09b56ed2a5 Fix a problem with cursors, which did not happen with unbuffered PS for
some reason. Double free of the data, which led to valgrind warnigns.
The fix actually optimizes the code in this cases because the old code
used copy_ctor while the new one skips it because it is not needed.
Transferring data ownership and nulling works best, for PS where we
always copy the string from the result set, unlike the text protocol.
2009-05-28 16:35:16 +00:00
Andrey Hristov
c90b10a290 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:15 +00:00
Andrey Hristov
8b43f4fddc ws 2009-05-26 13:42:43 +00:00
Andrey Hristov
6d9d60b902 Fix a typo, utf8 is 3 byte max, for us, for now
Add a another cset
2009-05-26 13:42:06 +00:00
Johannes Schlüter
16606a9cdf Fix #47535 Compilation failure in ps_fetch_from_1_to_8_bytes() 2009-04-20 09:15:46 +00:00
Felipe Pena
cf5e94b010 - Sync with 5.3 2009-03-30 19:43:47 +00:00
Johannes Schlüter
53034b18cb - Fix #47819 (Getting pdo_mysql.so: undefined symbol: mysqlnd_debug_init at
startup)
2009-03-30 13:53:35 +00:00
Felipe Pena
7c860bb018 - Removed leftover UG(unicode) checks 2009-03-27 19:50:56 +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
5306bb0e4b - mark mysqlnd's threading (which can be used for background pre-fetching)
experimental
2009-03-17 10:04:57 +00:00
Andrey Hristov
7271069329 Fix the build, because the macro's name has changed 2009-03-17 09:51:04 +00:00
Andrey Hristov
cf78f35270 Add the charsets available from 6.0 as a structure, to be used later 2009-02-20 13:24:14 +00:00
Johannes Schlüter
6a6e94c0d9 - Improve mysqlnd's internal method registration 2009-02-16 17:25:37 +00:00
Johannes Schlüter
d15503bfcc - Export mysql_refresh to mysqli (mysqli_refresh(), $mysqli->refresh()) 2009-01-22 20:57:32 +00:00
Sebastian Bergmann
7f4dc8702a Bump copyright year, 3 of 3. 2008-12-31 11:12:40 +00:00
Johannes Schlüter
5522a99905 No infinite loop in case the connection broke 2008-11-28 14:37:43 +00:00
Pierre Joye
3def8739ce - declaration first (fix build win) 2008-11-22 23:52: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
9532d30738 More type fixes for Windows 2008-11-06 18:37:32 +00:00
Andrey Hristov
de610e1dd7 Rely on win32/php_stdint.h on Windows for stdint types 2008-11-06 14:20:19 +00:00
Andrey Hristov
1ed87531cb More cleanup of config-win.h and missed merge, which actually occured in 5_3 2008-11-06 11:26:07 +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
6fd6b92ffc Fix the windows build 2008-11-03 18:07:40 +00:00
Andrey Hristov
2c697a2572 Fix the build 2008-10-31 21:30:58 +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
Andrey Hristov
0b77134114 Fix overusage of memory when the result set is empty. Then no memory will be
allocated compared to before. Also grow (realloc) the rset with 10% instead
of 33% - more reallocs but better memory usage. Of course later theres is a
realloc to shrink the rset t ofree it from unused rows but its better to
to eat too much at once.
2008-10-27 15:13:42 +00:00
Andrey Hristov
c52f1524e7 Fix a name 2008-10-27 14:38:17 +00:00
Johannes Schlüter
c2e0aaebb6 Don't dereference NULL-pointer 2008-10-19 12:22:49 +00:00
Johannes Schlüter
e7bd1e240c Improve order in MINFO output 2008-10-01 21:35:27 +00:00
Johannes Schlüter
9fe2c9f531 Handle failed connections right 2008-10-01 19:46:58 +00:00
Andrey Hristov
a7226f1a03 Fix a crash introduced yesterday in mysqlnd, non-zts mode - missing if () for
STAT_LAST was accessing wrong memory thus overwritting method pointers.

Windows doesn't have atoll(), which is C99, C89 has only atoi() + atol().
Win has _atoi64, so use it.
2008-09-16 14:34:11 +00:00
Andrey Hristov
1eb634c0e3 Forgot to merge these changes - Float conversion 2008-09-15 18:10:38 +00:00
Andrey Hristov
9b48b002f6 Add float conversions too. Float users should understand how float works!!! 2008-09-15 18:07:58 +00:00
Andrey Hristov
02ae7e8737 Compile-in a string-to-int conversion for INT columns by default,
controlled by a ini setting.
2008-09-15 14:02:55 +00:00
Andrey Hristov
5b93dff141 - More statistics
- Fixed endless loop - mysqlnd_stmt_next_result() returned FAIL but as it
  is defined to be 1 (and PASS is 0), checking for mysqlnd_stmt_more_result()
  was successful although we were expecting a FAIL.
2008-09-12 15:06:55 +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
Felipe Pena
8e1b4a55cc - Added TSRMLS_DC to apply_func_args_t and zend_hash_apply_with_arguments. 2008-07-24 19:50:23 +00:00
Andrey Hristov
40267cdcf8 Fixed bug#44897 - failed to prepare statement
After a PS "CALL()" we have at least one result set. If the SP does also some, then
we need to clean the wire more fool-proof.
2008-07-23 14:06:31 +00:00
Andrey Hristov
ea85e2924f More debugging info 2008-07-22 16:05:28 +00:00
Andrey Hristov
73dfa53ca8 Sync with bzr 2008-07-15 13:12:27 +00:00
Jani Taskinen
430feb52a6 MFB 2008-07-14 10:32:45 +00:00
Andrey Hristov
fd699ce7d3 Fix possible bug with persistent connections 2008-06-24 11:19:07 +00:00
Andrey Hristov
e5f72d0685 Add missing header 2008-06-24 08:02:06 +00:00
Andrey Hristov
c9d53ab74c Even more debug info 2008-06-24 06:56:59 +00:00
Andrey Hristov
f3cf29671a Added more debug info for tracking problems 2008-06-23 22:21:55 +00:00
Andrey Hristov
8a72f8d6ed MFB 2008-05-29 15:50:10 +00:00
Elizabeth Marie Smith
132ecdfa7d MFB and steph's pecl fixes into confutils 2008-05-14 03:32:27 +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
Johannes Schlüter
5105552d5a - Fix Windows build 2008-04-23 16:55:51 +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
1bf96fdf5c MFB : Fix for Bug #43832 mysqi_get_charset() doesn't expose charset comment 2008-03-25 18:28:13 +00:00
Andrey Hristov
9732763eca Small fix and a test case to prove it 2008-03-20 15:34:09 +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
e53f44b9bd MFB - Bug #44352 mysqli_connect_error() false negative for host errors 2008-03-18 16:58:43 +00:00
Andrey Hristov
60869b3e8e Update mysqlnd, ext/mysql and ext/mysqli - now possible to compile with different
configurations one or the another extension to use libmysql or mysqlnd mixed in
one binary
2008-03-10 20:27:15 +00:00
Rob Richards
7a92403c87 fix win32 build 2008-02-25 22:56:06 +00:00
Andrey Hristov
5855e35b01 Fix memory leak 2008-02-20 15:20:14 +00:00
Andrey Hristov
7b0625865b Fix a compile warning + test 2008-02-19 15:38:24 +00:00
Andrey Hristov
62e8d0f5aa Another fix 2008-02-14 15:20:08 +00:00
Andrey Hristov
91b568e65d Fix memory errors 2008-02-14 14:48:57 +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
925c22c65b new 6.0 flag 2008-02-11 14:48:39 +00:00
Andrey Hristov
0c65a68fc9 Fix a bug and a test 2008-02-06 14:11:32 +00:00
Andrey Hristov
8d7807d681 MFB: Simplify unique string generation and plug a leak. 2008-02-04 17:55:51 +00:00
Andrey Hristov
cfcf16f0f7 Fix a leak and memory warning. 2008-02-04 17:32:43 +00:00
Rob Richards
65c4bd9d08 fix win32 build 2008-01-29 22:06:16 +00:00
Andrey Hristov
508841bb5c Fix the build, add a missing file 2008-01-29 18:13:12 +00:00
Dmitry Stogov
205eda4377 missing spaces 2008-01-29 12:25:38 +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
Rob Richards
3b37e3a80d fix win32 compile 2008-01-25 15:54:31 +00:00
Andrey Hristov
69f4a40d99 Merge with internal version 2008-01-23 19:09:33 +00:00
Rob Richards
685a7c9a3a fix win32 compile 2008-01-09 11:23:25 +00:00
Andrey Hristov
5a4f6015bb strncpy->strlcpy 2008-01-08 13:13:39 +00:00
Andrey Hristov
6445c6c1fe Header protection 2008-01-03 12:50:05 +00:00
Andrey Hristov
648afb2ef5 Remove unneeded field 2008-01-03 11:38:03 +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
Stanislav Malyshev
a7de2feb45 fix build (temp fix pending Andrey's review) 2007-11-02 17:37:41 +00:00
Andrey Hristov
7b23705ce3 MFB: Fix compile failure on windows 2007-10-23 10:17:39 +00:00
Andrey Hristov
a0aa80a3f8 Sync mysqlnd with HEAD. Same sources as in 5_3 2007-10-16 20:58:35 +00:00
Antony Dovgal
970320b43a silence the warning 2007-10-07 12:33:40 +00:00
Antony Dovgal
e9ded30d23 fix typos 2007-10-07 12:23:29 +00:00
Yiduo (David) Wang
95da0dc570 Added macros for managing zval refcounts and is_ref statuses 2007-10-07 05:15:07 +00:00
Andrey Hristov
74952b148b Fix error 2007-10-04 11:04:22 +00:00
Andrey Hristov
d1215883b5 Try to fix the windows build of mysqlnd 2007-10-04 09:53:19 +00:00
Andrey Hristov
59b1ba561a Fix problems in Windows build 2007-10-04 09:00:02 +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
f771450890 - Check also if ulong is available 2007-07-26 14:54:49 +00:00
Andrey Hristov
2a80356a52 Return to previous code 2007-07-26 14:40:18 +00:00
Jani Taskinen
b16daf597c fix typo 2007-07-26 14:29:03 +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