Andrey Hristov
2743c7a6df
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
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
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
Pierre Joye
76a395e73d
- fix build
2009-06-28 12:41:51 +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
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
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
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
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
7f4dc8702a
Bump copyright year, 3 of 3.
2008-12-31 11:12:40 +00:00
Andrey Hristov
9532d30738
More type fixes for Windows
2008-11-06 18:37:32 +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
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
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
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
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
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
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
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
9ac92cfecb
Update mysqlnd in HEAD
...
Updated ext/mysql and ext/mysqli in HEAD
2007-10-02 10:45:27 +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