Commit graph

290 commits

Author SHA1 Message Date
Pierre Joye
af206a90ae - fix build, come on, it is not that hard to test before commit, is it? 2009-12-11 16:35:42 +00:00
Andrey Hristov
13c8bba00a Make MYSQLND_NET dynamically allocated structure with allocator
and deallocator. More member functions will come.
2009-12-11 11:58:57 +00:00
Andrey Hristov
b1d4cea57e Make MYSQLND_NET dynamically allocated structure with allocator
and deallocator. More member functions will come.
2009-12-11 11:58:57 +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
fd44827701 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
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
Pierre Joye
2a3ec70d10 - 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
1cf1cb3015 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
5143fe41e2 Compressed protocol support + extensibility for mysqlnd 2009-11-20 08:12:14 +00:00
Andrey Hristov
7674c942c7 Compressed protocol support + extensibility for mysqlnd 2009-11-20 08:12:14 +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
ab4670ee53 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
Andrey Hristov
2743c7a6df Fix ZTS build 2009-09-30 23:34:56 +00:00
Andrey Hristov
2f81bcd44b Fix ZTS build 2009-09-30 23:34:56 +00:00
Andrey Hristov
4ac04d8936 Afix not included by the fix committed by Ulf.
pemalloc and then efree - too bad!
Sorry for committing in two passes, my big tree is already patched
with compressed.
2009-09-17 15:13:36 +00:00
Andrey Hristov
c2e66884e1 MFH, a fix not included by the fix committed by Ulf.
pemalloc and then efree - too bad!
Sorry for committing in two passes, my big tree is already patched
with compressed.
2009-09-17 15:13:14 +00:00
Ulf Wendel
1b5f0f63b4 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
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
5f260e14b2 Next attempt to fix http://bugs.php.net/bug.php?id=48745. Patch by Andrey. 2009-09-09 17:03:03 +00:00
Ulf Wendel
5254c6f372 Next attempt to fix http://bugs.php.net/bug.php?id=48745. Patch by Andrey. 2009-09-09 17:03:03 +00:00
Andrey Hristov
e8412fb61c Fix for bug#48745
mysqlnd: mysql_num_fields returns wrong column count for mysql_list_fields
2009-08-28 09:30:16 +00:00
Johannes Schlüter
7f6fa981b3 MFB52: Fix include path 2009-07-01 14:13:07 +00:00
Johannes Schlüter
81761e636d Fix path 2009-06-28 21:52:51 +00:00
Pierre Joye
76a395e73d - fix build 2009-06-28 12:41:51 +00:00
Pierre Joye
a68f6c9c28 - fix build 2009-06-28 12:04:44 +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
27270621cb MFH:
Hardwire function call instead of using callbacks. We don't actually need
callbacks, it was done for making 2 functions static, not to pollute the
global functions space but that had its price of 8 bytes overheat per
allocation, which is just too much. Also making the app member 32b instead
of 64b, which should save additional 4 byte, to the total of 12 byte per
allocation of a row buffer.
2009-06-16 09:15:38 +00:00
Andrey Hristov
5d3ea92ee9 Hardwire function call instead of using callbacks. We don't actually need
callbacks, it was done for making 2 functions static, not to pollute the
global functions space but that had its price of 8 bytes overheat per
allocation, which is just too much. Also making the app member 32b instead
of 64b, which should save additional 4 byte, to the total of 12 byte per
allocation of a row buffer.
2009-06-16 09:15:09 +00:00
Andrey Hristov
22c8786493 MFH:
Fix crash when tracing is enabled. Position after buffer was used also
direct usage of MYSQLND_STRING pointer instead of the "s" property of the
structure.
2009-06-12 13:24:57 +00:00
Andrey Hristov
dc9d37998f Fix crash when tracing is enabled. Position after buffer was used also
direct usage of MYSQLND_STRING pointer instead of the "s" property of the
structure.
2009-06-12 13:24:37 +00:00
Andrey Hristov
9a2cc0ce67 Put these in an ifdef because they are not used at all if the zval cache
is off.
2009-06-11 17:54:04 +00:00
Andrey Hristov
b2f0e08307 Revert by adding an ifdef 2009-06-11 17:53:13 +00:00
Pierre Joye
54ac8205a0 - nuke unused var 2009-06-11 17:16:35 +00:00
Pierre Joye
c590f68297 - MF53: silent warning and make it less ambiguous 2009-06-11 17:14:34 +00:00
Pierre Joye
f2fcd8fb29 - silent warning and make it less ambiguous 2009-06-11 14:36:48 +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
6f90ebd669 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:32:34 +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
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
Sebastian Bergmann
08659c2dcd MFH: Bump copyright year, 3 of 3. 2008-12-31 11:15:49 +00:00
Sebastian Bergmann
7f4dc8702a Bump copyright year, 3 of 3. 2008-12-31 11:12:40 +00:00
Andrey Hristov
737c3c89c6 MFB: More Windows types cleanup 2008-11-06 18:48:55 +00:00
Andrey Hristov
9532d30738 More type fixes for Windows 2008-11-06 18:37:32 +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
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
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
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
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