Commit Graph

304 Commits

Author SHA1 Message Date
Xinchen Hui
c081ce628f Bump year 2014-01-03 11:08:10 +08:00
Xinchen Hui
47c9027772 Bump year 2014-01-03 11:06:16 +08:00
Xinchen Hui
c0d060f5c0 Bump year 2014-01-03 11:04:26 +08:00
Xinchen Hui
41eb3c959d Merge branch 'PHP-5.4' into PHP-5.5 2013-11-08 15:07:43 +08:00
Xinchen Hui
fd3fa9b53c Fixed Bug #66043 (Segfault calling bind_param() on mysqli)
Although the doc said it is (unsigned int *), but it is ulong* in the
libmysql 5.0 's source codes
2013-11-08 15:06:36 +08:00
Andrey Hristov
9d2dda9058 Fix for Bug #64394 MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS undeclared when using Connector/C 2013-05-14 11:26:35 +02:00
Andrey Hristov
43ecd8fe1b mysqli_savepoint()/mysqli_release_savepoint() 2013-02-08 18:09:50 +01:00
Andrey Hristov
afacdecd1f Add support for begin_transaction in libmysql mode.
Add support for flags and name for commit/rollback in libmysql mode
2013-02-07 18:45:49 +01:00
Andrey Hristov
846e506a3d Merge branch 'PHP-5.4' into PHP-5.5 2013-01-09 19:15:29 +01:00
Andrey Hristov
d430b5a4eb Add mysqli support - constants and checking in mysqli_options() for the
new constant for password expriration
2013-01-09 19:14:48 +01:00
Xinchen Hui
a666285bc2 Happy New Year 2013-01-01 16:37:09 +08:00
Xinchen Hui
0a7395e009 Happy New Year 2013-01-01 16:28:54 +08:00
Andrey Hristov
967a1ebe51 add protection against core dumps if the underlying library returns
0x0 for some reason
2012-10-18 15:09:17 +02:00
Andrey Hristov
06dfb96bf5 add a check for libmysql 2012-10-03 14:14:59 +02:00
andrey
263b37bee1 change public key setting to PERDIR and finish code that allows
to set the key file programatically per mysqli_options()
2012-09-25 18:26:02 +02:00
andrey
522595086b Remove support for local infile handler in mysqli from 5.5
This removes the following functions from the API:
mysqli_set_local_infile_default()
mysqli_set_local_infile_handler()

Using these functions is known to be lead to stability problems in
mysqli. It was only enabled when compiling against libmysql. mysqlnd
doesn't have this support for local infile. However, with mysqlnd it can
be emulated by using stream handlers like in:

$c->query("LOAD DATA LOCAL INFILE "http://example.com/import.csv" INTO ...")
All available protocols, as well as user implemented ones can be added.
2012-05-03 12:55:03 +02:00
Felipe Pena
8775a37559 - Year++ 2012-01-01 13:15:04 +00:00
Felipe Pena
4e19825281 - Year++ 2012-01-01 13:15:04 +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
8fb6bdd5b8 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
f926a3c07d 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
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
Xinchen Hui
212d210ac9 Fix Bug #55703(PHP crash when calling mysqli_fetch_fields)
Since the catalog values always is "def" now, see http://dev.mysql.com/doc/refman/5.0/en/c-api-data-structures.html
2011-09-17 03:12:23 +00:00
Xinchen Hui
26c1a62b34 Fix Bug #55703(PHP crash when calling mysqli_fetch_fields)
Since the catalog values always is "def" now, see http://dev.mysql.com/doc/refman/5.0/en/c-api-data-structures.html
2011-09-17 03:12:23 +00:00
Xinchen Hui
6b57319cf4 Fixed Bug #55653(PS crash with libmysql when binding same variable as param and out)
Actually this caused by attempt to efree a INTERNED string
2011-09-10 03:51:16 +00:00
Xinchen Hui
5e477ae1f8 Fixed Bug #55653(PS crash with libmysql when binding same variable as param and out)
Actually this caused by attempt to efree a INTERNED string
2011-09-10 03:51:16 +00:00
Andrey Hristov
4325a8bffc Fix for Bug #55582 mysqli_num_rows() returns always 0 for unbuffered, when mysqlnd is used 2011-09-05 15:29:45 +00:00
Andrey Hristov
5308ed60f3 Fix for Bug #55582 mysqli_num_rows() returns always 0 for unbuffered, when mysqlnd is used 2011-09-05 15:29:45 +00:00
Andrey Hristov
45867c1750 Remove a warning by explicitly compiling out a non-used variable 2011-08-02 15:30:58 +00:00
Andrey Hristov
1a5b1da9c1 Remove a warning by explicitly compiling out a non-used variable 2011-08-02 15:30:58 +00:00
Kalle Sommer Nielsen
5ba90aefb0 Added 'catalog' to the field fetching functions in mysqli (Thanks to Johannes for the headsup) 2011-01-17 10:43:53 +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
Kalle Sommer Nielsen
69a3575b38 Implemented FR #39847 (mysqli_fetch_[field|fields|field_direct] need to return db) 2011-01-07 18:25:55 +00:00
Felipe Pena
0203cc3d44 - Year++ 2011-01-01 02:17:06 +00:00
Andrey Hristov
332b953865 Fix bad types, because zend_parse_xxx expect signed integers
for lengths, no matter how stupid this is :)
2010-11-10 13:57:09 +00:00
Andrey Hristov
1f9cf93cac Fix for Bug #52686 mysql_stmt_attr_[gs]et arg. points to incorrect type 2010-10-06 11:11:02 +00:00
Ulf Wendel
e20c62d3be Sorry for the commit but compiler warnings are annoying and so are white spaces at the end of a line, if one uses an editor which removes them on save and diff's get blown
up by white space changes...

Changes: 
- remove end of line white space
- fix compiler warning "ext/mysqli/mysqli_priv.h:156:27: warning: no newline at end of file"
- fix compiler warning "ext/mysqli/mysqli_fe.h:135:25: warning: no newline at end of file"
- fix compiler warning "ext/mysqli/mysqli.c:896:11: warning: extra tokens at end of #ifdef directive"
2010-10-04 10:02:58 +00:00
Andrey Hristov
77d73b814b Plug a leak in mysqli when in the same script
a pconn is reused.
Call end_psession earlier - so will mysqlnd and
the plugins free data earlier.
2010-09-30 18:10:03 +00:00
Ulf Wendel
42fea46887 Adding MYSQLI_OPT_SSL_VERIFY_SERVER_CERT for use with mysqli_options(). 2010-08-30 16:59:10 +00:00
Andrey Hristov
67ef72018f Fix for bug #52654 mysqli doesn't install headers with structures it uses 2010-08-20 12:25:17 +00:00
Andrey Hristov
4637e3641f And a fix for MySQL Server which is pre 5.1.23, which doesn't support
preserving of the charset when performing change_user. This is libmysql
only code.
2010-06-14 18:19:13 +00:00
Andrey Hristov
c7831cbe27 defensive programming, check before using a resource 2010-06-01 14:16:27 +00:00
Ulf Wendel
f0446ca9e3 Fixing mysqli_stmt_attr_set @ libmysql 2010-05-31 12:10:04 +00:00
Andrey Hristov
1228c92303 Check before use, because mysqlnd can return NULL
and this will crash. However, this can happen only in case of OOM.
2010-05-27 12:44:10 +00:00
Andrey Hristov
ce682f1b26 Add checks to check the underlying pointer in the resource.
It can happen that the underlying pointer is freed (like in
the case of connection reconnect), and then it cannot be allocated
anymore, which means that NULL will be used consequently by the
functions that fetch the resource and the crash is immediate.
2010-05-26 07:28:43 +00:00
Andrey Hristov
940e64dba3 Remove duplicated code.
Use one centralized functions for data extraction.
2010-05-18 11:50:31 +00:00
Andrey Hristov
6cefa510d6 Better fix for #51605 2010-05-13 11:05:09 +00:00
Andrey Hristov
41ad139d17 Fix for bug #51605 (Mysqli zombie links) 2010-05-11 10:03:16 +00:00
Kalle Sommer Nielsen
dd8e59da8f Removed safe_mode
* Removed ini options, safe_mode*
 * Removed --enable-safe-mode --with-exec-dir configure options on Unix
 * Updated extensions, SAPI's and core
 * php_get_current_user() is now declared in main.c, thrus no need to include safe_mode.h anymore
2010-04-26 23:53:30 +00:00
Felipe Pena
623a25728a - Fix mem. leak 2010-04-21 12:52:24 +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
8467978d7a Fix for bug #51026 ssl not working 2010-04-08 09:01:21 +00:00
Andrey Hristov
ccfd9cd744 allow persistency of PS 2010-03-12 13:03:46 +00:00
Andrey Hristov
6407250e70 Fix for bug#50772
mysqli constructor without parameters does not return a working mysqli object
2010-01-25 13:23:32 +00:00
Andrey Hristov
36a037d236 Fix build of mysqli when libmysql is used, mysqlnd_portability.h
might not be available for some weird reasons. Added the macros
that we need, in that case

Code by Jess Portnoy
2010-01-14 09:47:57 +00:00
Sebastian Bergmann
9ba1e81665 sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
Andrey Hristov
01adfaee5f Unify. The typedef-ed structs in mysqlnd are always capitalized. 2009-12-23 11:58:45 +00:00
Rasmus Lerdorf
2bdd3538de Fix broken build.
This constant is not in older versions of MySQL.
2009-12-01 21:39:19 +00:00
Ulf Wendel
4a95aa3989 Fix for bug #49965 . Let mysqli_options() try to cast option values to the appropriate type. 2009-11-03 14:56:04 +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
3828ca158e Fix mysqli_stmt_attr_set in libmysql mode.
mysql_stmt_attr_set returns my_bool instead of int.
If it was int, then 0 is success and !0 is failure, but
for my_bool 0 (FALSE) is failure and !0 is success.
2009-09-25 12:25:54 +00:00
Andrey Hristov
9b44cbb490 Remove unused variable 2009-09-25 10:55:06 +00:00
Andrey Hristov
eea0660def Fix error code checking for mysql_stmt_attr_set. There
is a test that checks this.
2009-09-25 10:52:29 +00:00
Andrey Hristov
dcb5c5b0a4 MFH: Fix handling of BIT fields in mysqli, when libmysql is used
We need to use macros from mysqlnd to be able to read the
bit fields, as they are specially encoded. mysqlnd is always
there, 5.3+, so its macros can be used, even if mysqlnd is
not compiled as library of choice.
2009-09-22 13:59:29 +00:00
Andrey Hristov
967239727e MFH:Fix for bug#48909 Segmentation fault in mysqli_stmt_execute 2009-09-18 14:33:08 +00:00
Ulf Wendel
617b4e9bd1 Fix for bug #49357 (MySQLi extension fails to recognize POINT (spatial) colums).
Do yourself a favour and use mysqlnd. mysqlnd has no isuses here.

If you insist on using the MySQL Client Library (libmysql) I strongly recommend to use mysqli_stmt_store_result() when fetching geometry data using prepared statements. When streaming data, which is the default for prepared statements, ext/mysqli will have to make a guess on the size of the result buffer it needs. The guess is based on a length reported by the MySQL CLient Library (libmysql). The MySQL Client Library reports 4GB (!) for a POINT - a conservative and safe guess. Consequently, ext/mysqli will try to allocate 4GB of RAM. The true (maximum) size of the column is not available before buffering the result on the client using mysqli_stmt_store_result(). If you call mysqli_stmt_store_result(), the result buffers will not get bigger than needed. However, store_result()/buffering is usually not what you want when you ask for prepared statements.
2009-09-11 13:38:47 +00:00
Ulf Wendel
5dfd12ddb7 Stepping back to PHP 5.2.x and earlier logic of allocating even huge pieces of memory for large BLOB types to avoid data truncation. This fixes the test failure of 005.phpt when using MySQL Client
Library (libmysql). The test does pass with mysqlnd because mysqlnd does not have any issues here.
2009-09-11 12:28:47 +00:00
Ulf Wendel
c4c11fd38a Fixing a crash which must have existed since PHP 5.0. At least the crash can be reproduced with PHP 5.0.6. The crash happens only when using the MySQL Client Library (libmysql) - it does not happen
when using mysqlnd.
2009-09-11 12:16:56 +00:00
Jani Taskinen
b312b3af2e - Revert bad fix for bug #49122 and only enable this when mysqlnd is used 2009-08-04 14:49:33 +00:00
Jani Taskinen
7b411d7cdf - Fixed bug #49122 (undefined reference to mysqlnd_stmt_next_result on compile with --with-mysqli and MySQL 6.0) 2009-08-02 01:07:38 +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
Kalle Sommer Nielsen
e26710bfc4 Fixed compiler warning again, uint8_t is only available with mysqlnd. This is not affecting HEAD 2009-05-23 02:58:15 +00:00
Ilia Alshanetsky
52f599687a Fixed build 2009-05-20 13:10:49 +00:00
Kalle Sommer Nielsen
f02ebe4a08 MFH: Fix compiler warnings in ext/mysql, ext/mysqli and ext/pdo_mysql 2009-05-20 08:30:12 +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
Johannes Schlüter
7d3d47fa27 MFH: Fixed bug #46653 2009-01-09 14:30:00 +00:00
Sebastian Bergmann
08659c2dcd MFH: Bump copyright year, 3 of 3. 2008-12-31 11:15:49 +00:00
Andrey Hristov
bf20aa12c7 MFH:Fix for bug#46019 MySQLi::init() leaks memory 2008-09-19 11:38:46 +00:00
Felipe Pena
e304515ddb - MFH: Added parameter TSRMLS_DC in zend_is_callable() 2008-08-02 04:46:07 +00:00
Andrey Hristov
7833cf9f10 MFH: Fixed bug#45019 Segmentation fault with SELECT ? and UNION 2008-07-25 12:46:03 +00:00
Dmitry Stogov
833a2295d1 Support for closures 2008-07-17 09:53:42 +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
Andrey Hristov
de560f3161 MFB: Update CVS from the development tree 2008-04-16 12:57:38 +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
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
Andrey Hristov
ff8a310468 Fix a problem with $mysqi->connect() not working with default values.
Fix a leak, bug#39457
2008-03-08 14:55:52 +00:00
Andrey Hristov
1caa85a682 Pconnect working with mysqli_real_connect(). To less failing tests. 2008-02-06 11:34:44 +00:00
Hartmut Holzgraefe
3354b3a480 fixed binary arithmetic (MF5.2) 2008-01-01 18:13:14 +00:00
Sebastian Bergmann
d1dded8751 MFH: Bump copyright year, 2 of 2. 2007-12-31 07:17:19 +00:00
Hartmut Holzgraefe
edee094851 MFH: Fix for bug #42548 "PROCEDURE xxx can't return a result set" 2007-12-25 18:55:40 +00:00
Andrey Hristov
6f63004f1a Fix crash with pconnect 2007-11-09 10:56:28 +00:00
Jani Taskinen
ecb0fb3f0e MFH:- Fixed invalid handling of float value passed to an integer field on 64bit machine 2007-10-29 09:51:08 +00:00
Antony Dovgal
74f416106c ..and correct macro 2007-10-17 08:19:07 +00:00
Antony Dovgal
780fa84fbd MFH: use correct dtro and variable for the callback 2007-10-17 08:18:09 +00:00
Antony Dovgal
c9e481590f avoid double free and use zval_dtor() where neccessary 2007-10-16 13:20:14 +00:00
Antony Dovgal
1ee4146d71 fix build 2007-10-07 08:30:47 +00:00
Yiduo (David) Wang
4b4d634cb9 MFH: Added macros for managing zval refcounts and is_ref statuses 2007-10-07 05:22:07 +00:00
Andrey Hristov
8b9b553aa2 Import mysqlnd
Patch ext/mysql and ext/mysqli to support mysqlnd
2007-10-05 21:23:56 +00:00
Andrey Hristov
09fbf87a6c Fixed leaks with multiple connects using one mysqli object.
HEAD will be fixed during the next mysqlnd merge

Fixed failing test for bug38710, 5.0 version is bad, 5.1 is ok.
2007-09-06 10:07:42 +00:00
Andrey Hristov
649152ca49 Fixed bug #42378 (mysqli_stmt_bind_result memory exhaustion)
Fixed regression of bug 38710. Already fixed in HEAD.
#HEAD will be fixed when doing the next merge from svn
2007-09-05 12:36:44 +00:00