| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
A bit problematic is that the streams seem not to be completely ported.
Also there are some hacks in the streams about EG(regular_list) and EG(persistent_list)
and these need to be carefully checked. The test suite should catch them, however.
|
|
|
|
|
|
|
| |
unbuffered
substructures. Add methods to these too. Preparing for pluggable interface for
returning data to the engine (zvals, c-style, something else)
|
| |
|
|\ |
|
| |\ |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
of state transitioning in every case
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
on file close.
- Also add a trace modifier to switch on and off the profiling.
- With additional compiler switch the profiling can be completely omitted,
of course it makes sense only when --enable-debug. Because otherwise
there is no tracing, thus no profiling.
- Added a fix for Windows for handling trace files on different devices
(special handing of ':' )
|
| | |
| | |
| | |
| | |
| | |
| | | |
unicode. Unicode is no more, but these are "bookmarks" where
to change mysqlnd, if Unicode becomes trendy again.
|
| | |
| | |
| | |
| | |
| | | |
and the Zend MM won't help.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fix inconsistencies
- memory allocated with spprintf, or likes, outside of mysqlnd's
allocator functions should not be freed by the mysqlnd's allocator
(a wrapper around emalloc/malloc).
- memory allocated by the mysqlnd's allocator should only be freed
by it.
- add a mode to track memory usage (malloc/free)
|
| | |
| | |
| | |
| | | |
void * and other known situations). Also Johannes, can you check that commit pls? Thought we were in bugs fixing only for 5.3
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- memory allocated with spprintf, or likes, outside of mysqlnd's
allocator functions should not be freed by the mysqlnd's allocator
(a wrapper around emalloc/malloc).
- memory allocated by the mysqlnd's allocator should only be freed
by it.
- add a mode to track memory usage (malloc/free)
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
mysqlnd_wireprotocol is about the protocol not the transport
layer
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Get rid of many defines (which simplifies the code a lot),
as well as uint->unsigned int
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
64bit fixes:
- fixes to sprintf modifiers, cleaning warnings
- use _t types, like uint64_t instead of uint64, thus skipping series of
typedefs.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Add mysqli_stmt_more_result()/mysqli_stmt_next_result(), but only in
mysqlnd builds as libmysql doesn't support this feature.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
moved mysqlnd's block allocator to a separate file and also now
it's part of the connection, no MT problems.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- 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
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
current stable branch. mysqli from 5_3 patched for mysqlnd should be also
compilable with 5_2.
|
| |
| |
| |
| |
| | |
Patch ext/mysql and ext/mysqli to support mysqlnd
|
| | |
|
| |
| |
| |
| |
| | |
of state transitioning in every case
|
| |
| |
| |
| |
| |
| |
| | |
methods for the handle and the data object.
Add auxiliary functions to work with the new methods.
Add possibility to clone a connection object - shadow copy.
|
| |
| |
| |
| |
| | |
A step in the direction of keeping internal data private
|
| |
| |
| |
| |
| |
| | |
pointer to a structure. The structure is still aggregated but we add
a level of indirection for possible plugins to overwrite the storage
|
| |
| |
| |
| |
| | |
for similar objects
|