Felipe Pena
8775a37559
- Year++
2012-01-01 13:15:04 +00:00
Andrey Hristov
a330739594
Add a middleman which can intercept the calls and can reroute them
2011-11-02 17:06:30 +00:00
Andrey Hristov
ba1f65faa1
Now really split the method tables and have different
...
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.
2011-10-31 14:33:56 +00:00
Andrey Hristov
6a9feb730f
Split struct MYSQLND in struct MYSQLND and struct MYSQLD_CONN_DATA.
...
A step in the direction of keeping internal data private
2011-10-31 11:46:24 +00:00
Andrey Hristov
845d8fa10c
Move from directly referencing an aggregated structure to using a
...
pointer to a structure. The structure is still aggregated but we add
a level of indirection for possible plugins to overwrite the storage
2011-10-25 23:01:49 +00:00
Andrey Hristov
13bc754db7
Add hooks for __call like functionality and also allow to
...
handle calls that spread over two internal functions. Let's call it
a local TX.
2011-10-25 19:04:36 +00:00
Andrey Hristov
374018803a
move plugin specific stuff to one file. create object factory
...
for similar objects
2011-10-24 12:34:44 +00:00
Andrey Hristov
139813877c
shift code around to two new files - mysqlnd_driver.c
...
and mysqlnd_ext_plugin.c (mysqlnd extension plugin)
2011-10-21 15:28:58 +00:00
Andrey Hristov
10e4419231
api_ext to reverse_api
2011-10-19 15:04:12 +00:00
Andrey Hristov
a498bc62b8
MYSQLND_NET refactored not to use any direct reference to MYSQLND (the connection)
...
QC will need an ifdef-layer to compile with this
2011-10-10 20:49:28 +00:00
Andrey Hristov
604fa1537a
Fix valgrind error (sending of initialized bytes over the network).
...
When the compression was successful the compressed data + uninitialized data
at the end was sent to the server, because the length of the compressed payload
wasn't correctly calculated (actually the length of the uncompressed payload as assumed).
However, the uncompress() function has internally the length of the real payload and skips
the binary trash at the end - thus no data damage occurs!
2011-08-31 18:18:23 +00:00
Andrey Hristov
e289cf7267
relax constraint
2011-08-10 14:12:24 +00:00
Andrey Hristov
11f198b203
Add mysqli_error_list() that returns an array with errors. Typically only
...
one and just one for libmysql. mysqlnd can return generate more than one error
during its work and with mysqli_error() only the last error is being reported.
In the array returned by mysqli_error_list() / $mysqli->error_list, all errors will be found.
The list is reset when the next command is executed
2011-08-04 09:51:26 +00:00
Andrey Hristov
3afdf62df0
throw out legacy code, that never was used for something
...
useful. Was added for QC but QC is now a plugin, not part of
the core.
2011-03-21 13:58:11 +00:00
Andrey Hristov
2d2d1c7335
new function/methods - mysqlnd_stmt_flush. Removing
...
code duplication
2011-03-18 13:35:33 +00:00
Andrey Hristov
4a38256394
compiler warnings fixed
2011-03-16 11:51:56 +00:00
Andrey Hristov
59c5875f83
move from macros to functions, which can be overwritten, if needed
2011-02-25 12:25:36 +00:00
Andrey Hristov
ce4e6f4db5
Handle MySQL 5.5 authentication features.
...
Authentication protocol can be changed, a new raw
packet is introduced, which includes only the "encrypted"
data for the auth plugin, sent after change protocol (0xFE)
is sent to the client.
2011-01-24 12:34:47 +00:00
Andrey Hristov
16c6ce94d2
Update on the mysqlnd auth plugins, changed the plugin
...
structure and where they load themselves.
0xFE packets (method switch) needs to be done, additional
wire-level packet to be created to be parsed and the packet
doesn't fit the PACKET_OK structure anymore.
2011-01-14 20:04:17 +00:00
Andrey Hristov
5ca5c2bf43
Change things to allow passing of the password length
...
to mysqlnd. This is needed as a password might include
a \0 and thus we need to be binary safe.
2011-01-14 13:00:42 +00:00
Andrey Hristov
429e07bba2
grok the MySQL 5.5 extended handshake.
...
Move the authentication routines, the native ones, to
separate file and encapsulate them in a plugin.
Depending on the server version and what the server
requests (or doesn't in old versions) load the authentication
plugin to handle it.
Currently only the 4.1+ authentication is supported. More to come
2011-01-12 21:40:05 +00:00
Felipe Pena
0203cc3d44
- Year++
2011-01-01 02:17:06 +00:00
Andrey Hristov
cfac5f5b67
extending the API interface - plugins can register
...
themselves with a structure and can be searched.
Every plugin can have statistics and they are shown
under the statistics of mysqlnd in MINFO.
2010-12-28 15:16:21 +00:00
Andrey Hristov
60bfedb1e6
rename parameter, should not conflict with global symbol -
...
the socket function
2010-10-05 16:27:49 +00:00
Andrey Hristov
75ed0bbb3e
fixing more types
2010-10-05 10:30:00 +00:00
Andrey Hristov
1762d63406
add another hook, maybe the last one, for MYSQLND_STMT, which
...
was missed before
2010-09-28 14:36:18 +00:00
Andrey Hristov
383d7d005a
fix build on windows, seems this macro is not defined
2010-09-01 16:54:20 +00:00
Andrey Hristov
b2bcf3ae48
OPT_COMPRESS support for mysqlnd_conn::set_client_option
...
To be used by mysqli_options
2010-09-01 14:47:36 +00:00
Andrey Hristov
c974313aed
Switch from using PHP_MAJOR_VERSION to separate define for
...
unicode. Unicode is no more, but these are "bookmarks" where
to change mysqlnd, if Unicode becomes trendy again.
2010-08-12 12:02:02 +00:00
Andrey Hristov
ebaee8a4d0
Lay foundations for named pipe support in mysqlnd
2010-08-09 17:01:57 +00:00
David Soria Parra
d9afaad77f
make ssl_set return value in mysqlnd compatible with libmysqli return value
2010-08-06 19:47:03 +00:00
Andrey Hristov
ee4818a12a
Two functions, which should be methods so one can catch
...
their output, for example
2010-06-24 19:52:13 +00:00
Andrey Hristov
986e30048d
missed this one in the last commit, the real type
2010-06-18 12:00:57 +00:00
Andrey Hristov
d02e785d68
Handle problems in the row_decoder, return type used to be void,
...
now it can return on problems.
2010-05-31 17:57:03 +00:00
Andrey Hristov
4de0da5a56
Fix deallocation which can crash if the object is half-baken.
...
Happens during OOM.
2010-05-27 08:51:46 +00:00
Andrey Hristov
6d434e70a4
Init should return status value because initialization can fail.
...
In this case mysqlnd_init() should return NULL to the end-user.
2010-05-25 22:40:47 +00:00
Andrey Hristov
8a093b3811
Allow overloading of mysqlnd_result_meta_init().
...
Add free space for future hooks.
2010-05-14 15:11:56 +00:00
Andrey Hristov
8691786ebd
- Give possibility to overload mysqlnd_result_init().
...
- Always use conn->m->stmt_init instead of mysqlnd_stmt_init()
2010-05-14 13:18:39 +00:00
Andrey Hristov
ec0fe858c6
Remove unused parameter
2010-05-03 16:09:05 +00:00
Andrey Hristov
8e8348a4b0
Handle OOM when resizing blocks during data fetch
2010-05-03 14:16:04 +00:00
Andrey Hristov
16d5d5966e
const-ify fields
2010-04-28 12:29:13 +00:00
Andrey Hristov
1ed3da294b
Remove dead code and add possibility to fine tune the size of
...
a mempool (used for result sets).
2010-04-22 15:07:40 +00:00
Felipe Pena
6d951e2ded
- Fix copyrights
2010-04-20 13:50:34 +00:00
Andrey Hristov
a9880e78c6
CS + WS changes
2010-04-15 12:55:04 +00:00
Andrey Hristov
c04f752625
Fix for bug#49234 method not found ssl_set
...
Patch was tested and compiles on Windows. (Thanks Kalle)
2010-04-15 11:01:30 +00:00
Andrey Hristov
a8460553be
decouple the methods in MYSQLND_STMT from the data,
...
needed to move to a new structure MYSQLND_STMT. Makes
the code cleaner and less error-prone.
Also fix PDO/MySQL which directly touch mysqlnd internals
instead of using API calls.
2010-03-16 12:36:57 +00:00
Andrey Hristov
564a1d07f8
allow persistency of PS
2010-03-12 13:03:46 +00:00
Andrey Hristov
7bf18d9766
add typedefs for all structure methods, and then reuse these typedefs
2010-02-15 16:58:33 +00:00
Andrey Hristov
5dff8f9045
make send_close a hook, too
2010-02-09 19:05:40 +00:00
Andrey Hristov
055f558554
Pass tsrmls to all functions, which might need it in the future.
...
We are anyway breaking the internal ABI in 5.3.2 so this won't hurt
and make us prepared for the future.
2010-02-03 17:31:29 +00:00