Commit Graph

451 Commits

Author SHA1 Message Date
Pierre Joye
f2fcd8fb29 - silent warning and make it less ambiguous 2009-06-11 14:36:48 +00:00
Johannes Schlüter
11340cf299 MFH: Use a better extension version 2009-06-11 10:18:08 +00:00
Andrey Hristov
28c8d25dca MFH:
Protect the code when variable is NULL, which should never happen, but
anyway, you know about "never happens" :)
2009-06-11 08:52:06 +00:00
Andrey Hristov
cff09ba5df MFH:
Check the pointer before calling a function on it, or we will crash.
  This is a very rare situation where the server is totally broken.
2009-06-11 08:35:47 +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
ec777b89f4 Merge with HEAD. Someone committed changes to HEAD and did not merge back to
the branch.
Also switch off the zval cache, for now.
2009-06-08 10:20:27 +00:00
Andrey Hristov
c1d46eb502 MFH:Add support for mysql_stmt_store_result() from libmysql 6.0.8+ and 5.4.x 2009-05-29 13:09:47 +00:00
Andrey Hristov
ccf0665170 MFH: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:40 +00:00
Andrey Hristov
133296f962 MFH: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:38 +00:00
Andrey Hristov
804f6138a6 MFH:Fix a valgrind warning as well as more trace log information 2009-05-28 17:49:29 +00:00
Andrey Hristov
76d091d5f5 MFH: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:41 +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
Andrey Hristov
7ae2505cab Fix a typo, utf8 is 3 byte max, for us, for now
Add a another cset
2009-05-26 13:41:18 +00:00
Johannes Schlüter
501ecb10f4 Fix #47535 Compilation failure in ps_fetch_from_1_to_8_bytes() 2009-04-20 09:16:51 +00:00
Felipe Pena
dcd86aebd2 - MFH: Removed UG(unicode) checks 2009-03-30 16:52:33 +00:00
Johannes Schlüter
bcb40030a5 MFH Fix #47819 (Getting pdo_mysql.so: undefined symbol: mysqlnd_debug_init at
startup)
2009-03-30 13:55:47 +00:00
Johannes Schlüter
5942f27d86 MFH: mark mysqlnd's threading (which can be used for background pre-fetching)
experimental
2009-03-17 10:05:19 +00:00
Andrey Hristov
df7ebb5d41 MFH: Fix the build because the macro name has changed 2009-03-17 09:51:31 +00:00
Andrey Hristov
8f102c1697 MFH: Add charsets from MySQL 6.0 as a structure to be used later 2009-02-20 13:25:12 +00:00
Johannes Schlüter
ebef020ecc - MFH: Improve mysqlnd's internal method registration 2009-02-16 17:26:43 +00:00
Johannes Schlüter
074b084852 MFH: export mysql_refresh
[DOC] This makes mysql_refresh() as described in
      http://dev.mysql.com/doc/refman/6.0/en/mysql-refresh.html
      available as mysqli_Refresh() and mysqli->refresh()
      MYSQLI_REFRESH_BACKUP_LOG is only available when linking libmysql 6.0
      or mysqlnd
2009-01-22 21:01:58 +00:00
Sebastian Bergmann
08659c2dcd MFH: Bump copyright year, 3 of 3. 2008-12-31 11:15:49 +00:00
Johannes Schlüter
836dd82c8e MFH: No infinite loop in case the connection broke 2008-11-28 14:38:03 +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
e62f5f8f03 MFH:
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:45:43 +00:00
Andrey Hristov
3343619b9a MFH: Fix Windows build, pure C compiler 2008-11-18 18:02:44 +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
737c3c89c6 MFB: More Windows types cleanup 2008-11-06 18:48:55 +00:00
Andrey Hristov
e49366850f MFH: Use win32/php_stdint.h for stdint types on Windows 2008-11-06 14:21:50 +00:00
Andrey Hristov
e099d732a6 MFH: More cleanup of config-win.h 2008-11-06 11:29:20 +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
a836ea7b71 Fix windows build 2008-11-01 21:22:29 +00:00
Andrey Hristov
9726d6b047 Fix the build 2008-10-31 21:29:54 +00:00
Andrey Hristov
77c1e145e1 MFB:
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:32:17 +00:00
Johannes Schlüter
04d9bbe65e MFH: Fix #46285 (lastInsertId() returns "0" when a deferenced PDOStatement is
executed)
2008-10-27 17:21:22 +00:00
Andrey Hristov
7d4c51c2bd MFH:
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:14:17 +00:00
Andrey Hristov
b18bf1f880 Fix a name 2008-10-27 14:38:31 +00:00
Johannes Schlüter
c3dab8f191 MFH: Don't dereference NULL-pointer 2008-10-19 12:28:43 +00:00
Johannes Schlüter
80720205c0 MFH: Improve order in MINFO output 2008-10-01 21:36:43 +00:00
Johannes Schlüter
3c335a3b5e MFH: Handle failed connections right 2008-10-01 19:47:17 +00:00
Andrey Hristov
b429a84c2b MFH:
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:35:01 +00:00
Andrey Hristov
8bb2465a51 MFH:
Add float conversions too. Float users should understand how float works!!!
2008-09-15 18:09:20 +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
Pierre Joye
6c7f41d482 - fix build (declaration must be fist in a given contex) 2008-09-14 22:10:24 +00:00
Andrey Hristov
99ea8068df MFH:
- 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:08:41 +00:00
Johannes Schlüter
9a13dea744 MFH: constify strings 2008-08-19 10:42:11 +00:00
Johannes Schlüter
aeab8bade6 MFH: Fix empty error message when connecting to a bad server 2008-08-19 10:16:12 +00:00
Felipe Pena
0fbe6a0c14 - MFH: Added TSRMLS_DC to apply_func_args_t and zend_hash_apply_with_arguments. 2008-07-24 19:52:24 +00:00
Andrey Hristov
24e7d03e48 MFH: 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:07:38 +00:00
Andrey Hristov
2c54b3abb5 More debugging info for the trace log 2008-07-22 16:06:08 +00:00
Andrey Hristov
136a55fcd9 Sync with bzr 2008-07-15 13:11:09 +00:00
Jani Taskinen
1e2b2bbeae - Some config*.m4 file cleanups: NO tabs in these! 2008-07-14 09:02:26 +00:00
Andrey Hristov
827b772c9f Fix remaining valgrind problems with pconn and zval cache
HEAD merge will follow tomorrow.
2008-06-24 22:22:48 +00:00
Andrey Hristov
943e9a577b Fix double-free, introduced lately 2008-06-24 13:19:29 +00:00
Andrey Hristov
e0f45cf7ae Fix possible bug with persistent connections and mysqlnd 2008-06-24 11:01:38 +00:00
Andrey Hristov
9d7955b821 Add missing header 2008-06-24 08:01:13 +00:00
Andrey Hristov
f93e715fc5 Even more debug info 2008-06-24 06:56:36 +00:00
Andrey Hristov
ad0f0b73c7 Added more debug info for tracking problems 2008-06-23 22:21:18 +00:00
Andrey Hristov
e49404929a Fix a bug that let PDO fail. It has been long fixed, but locally. Now I know
what it fixes :)
2008-05-29 15:49:32 +00:00
Elizabeth Marie Smith
7d4dfa8ee4 Windows configure fixes, a few additional lib names allowed, apache2 only on for zts builds since apache on win is always threaded, isapi no longer stops configure in non-zts mode, look for _debug for debug libraries when debug is enabled 2008-05-14 03:13:17 +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
5abe8c8d01 Small updates & a fix for
Bug #43832 mysqi_get_charset() doesn't expose charset comment
2008-03-25 18:27:17 +00:00
Andrey Hristov
85cd8525c9 Small fix and a test case to prove it's right 2008-03-20 15:29:14 +00:00
Andrey Hristov
6867385d75 - 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
  (bug#44390 bind_param / bind_result and Object member variables)
- 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 14:03:30 +00:00
Andrey Hristov
caf3e9c3f1 Fixed a bunch of bugs reported in
Bug #44352 mysqli_connect_error() false negative for host errors
From now on the mysqli object doesn't have that magic properties, like
error, which were readable but not visible through isset(), property_exists()
and var_dump(). All other ext/mysqli classes were fixed too.
Now it will be easier to debug mysqli based applications.
2008-03-18 16:57:31 +00:00
Andrey Hristov
725b31fc6c 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:15:38 +00:00
Rob Richards
de52173257 MFH: fix win32 build 2008-02-25 22:57:09 +00:00
Andrey Hristov
7d0cee8c80 Fix memory leak 2008-02-20 15:18:17 +00:00
Andrey Hristov
4dd2425184 Fix compile warning 2008-02-19 15:38:58 +00:00
Andrey Hristov
28e7d996df Another fix 2008-02-14 15:20:49 +00:00
Andrey Hristov
7e0be017df Fix memory errors< 2008-02-14 14:50:21 +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
55b1f666d7 new 6.0 flag 2008-02-11 14:48:04 +00:00
Andrey Hristov
9790d7bfe8 MFH: Fix a compatibility bug and a failing test 2008-02-06 14:12:32 +00:00
Andrey Hristov
1caa85a682 Pconnect working with mysqli_real_connect(). To less failing tests. 2008-02-06 11:34:44 +00:00
Andrey Hristov
2b6e11b555 Simplify unique string generation and plug a leak. 2008-02-04 17:55:06 +00:00
Andrey Hristov
2d5e8a1e55 Fix a leak, memory warning and failing test case. 2008-02-04 17:33:46 +00:00
Rob Richards
d7622b8ecf MFH: fix win32 build 2008-01-29 22:06:43 +00:00
Andrey Hristov
829831f5ba Fix the build, add a missing file 2008-01-29 18:11:46 +00:00
Dmitry Stogov
a55d235fef missing spaces 2008-01-29 12:25:25 +00:00
Andrey Hristov
00877eff13 Moved initialization code into a function. 2008-01-29 11:59:53 +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
2033c1b7f2 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:50:06 +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
Rob Richards
b65adbb4fb MFH: fix win32 compile 2008-01-25 15:54:58 +00:00
Andrey Hristov
c52b63ea1d Merge with internal version 2008-01-23 19:11:28 +00:00
Rob Richards
9238ee440f MFH: fix win32 compile 2008-01-09 11:23:59 +00:00
Andrey Hristov
82e36686b3 strncpy->strlcpy 2008-01-08 13:11:55 +00:00
Andrey Hristov
60a1a17399 Header protection 2008-01-03 12:49:45 +00:00
Andrey Hristov
18aa7b9607 Remove unused field 2008-01-03 11:37:33 +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
6d2bcdacc1 Fix segfault in debug build 2007-11-08 17:29:42 +00:00
Andrey Hristov
8b8cd15428 Fix build failure on Windows. Seems "free" can't be used even as method name of a structure. The MS compiler (the preprocessor most probably) changes it to _free_dbg 2007-10-23 10:10:18 +00:00
Andrey Hristov
8a2e9e6043 Sync mysqlnd. Should still compile with 5_2 for those who want to use the
current stable branch. mysqli from 5_3 patched for mysqlnd should be also
compilable with 5_2.
2007-10-16 20:56:22 +00:00
Yiduo (David) Wang
f4f0a47433 Fix build for mysqlnd 2007-10-07 21:47:36 +00:00
Andrey Hristov
8b9b553aa2 Import mysqlnd
Patch ext/mysql and ext/mysqli to support mysqlnd
2007-10-05 21:23:56 +00:00