Commit Graph

277 Commits

Author SHA1 Message Date
Dmitry Stogov
edb064e2ee Fixed call to mysqli_init() from an object. (We should find some better fix) 2014-06-12 00:57:10 +04:00
Andrey Hristov
90cad3de2f Add one more check to skip getting into code that will do nothing 2014-05-20 14:50:50 +03:00
Xinchen Hui
a4a1fc5552 Fixed signed 2014-05-17 10:28:54 +08:00
Xinchen Hui
c057b3f63d Finish refactoring of MySQLi
a few tests failed due to knew issue, I will disscuss with dmitry later
2014-05-11 19:37:48 +08:00
Xinchen Hui
53b930475f Various bug fixed 2014-05-11 16:05:14 +08:00
Xinchen Hui
2402d6cbbc Refactor MySQLi (incompleted, only compilable now) 2014-05-11 14:53:18 +08:00
Dmitry Stogov
f9927a6c97 Merge mainstream 'master' branch into refactoring
During merge I had to revert:
	Nikita's patch for php_splice() (it probably needs to be applyed again)
	Bob Weinand's patches related to constant expression handling (we need to review them carefully)
	I also reverted all our attempts to support sapi/phpdbg (we didn't test it anyway)

Conflicts:
	Zend/zend.h
	Zend/zend_API.c
	Zend/zend_ast.c
	Zend/zend_compile.c
	Zend/zend_compile.h
	Zend/zend_constants.c
	Zend/zend_exceptions.c
	Zend/zend_execute.c
	Zend/zend_execute.h
	Zend/zend_execute_API.c
	Zend/zend_hash.c
	Zend/zend_highlight.c
	Zend/zend_language_parser.y
	Zend/zend_language_scanner.c
	Zend/zend_language_scanner_defs.h
	Zend/zend_variables.c
	Zend/zend_vm_def.h
	Zend/zend_vm_execute.h
	ext/date/php_date.c
	ext/dom/documenttype.c
	ext/hash/hash.c
	ext/iconv/iconv.c
	ext/mbstring/tests/zend_multibyte-10.phpt
	ext/mbstring/tests/zend_multibyte-11.phpt
	ext/mbstring/tests/zend_multibyte-12.phpt
	ext/mysql/php_mysql.c
	ext/mysqli/mysqli.c
	ext/mysqlnd/mysqlnd_reverse_api.c
	ext/mysqlnd/php_mysqlnd.c
	ext/opcache/ZendAccelerator.c
	ext/opcache/zend_accelerator_util_funcs.c
	ext/opcache/zend_persist.c
	ext/opcache/zend_persist_calc.c
	ext/pcre/php_pcre.c
	ext/pdo/pdo_dbh.c
	ext/pdo/pdo_stmt.c
	ext/pdo_pgsql/pgsql_driver.c
	ext/pgsql/pgsql.c
	ext/reflection/php_reflection.c
	ext/session/session.c
	ext/spl/spl_array.c
	ext/spl/spl_observer.c
	ext/standard/array.c
	ext/standard/basic_functions.c
	ext/standard/html.c
	ext/standard/mail.c
	ext/standard/php_array.h
	ext/standard/proc_open.c
	ext/standard/streamsfuncs.c
	ext/standard/user_filters.c
	ext/standard/var_unserializer.c
	ext/standard/var_unserializer.re
	main/php_variables.c
	sapi/phpdbg/phpdbg.c
	sapi/phpdbg/phpdbg_bp.c
	sapi/phpdbg/phpdbg_frame.c
	sapi/phpdbg/phpdbg_help.c
	sapi/phpdbg/phpdbg_list.c
	sapi/phpdbg/phpdbg_print.c
	sapi/phpdbg/phpdbg_prompt.c
2014-04-26 00:32:51 +04:00
Dmitry Stogov
050d7e38ad Cleanup (1-st round) 2014-04-15 15:40:40 +04:00
Andrey Hristov
090c3e87c0 Merge branch 'PHP-5.6' of git.php.net:php-src into PHP-5.6
Conflicts:
	ext/mysqli/tests/mysqli_begin_transaction.phpt
2014-04-10 16:49:13 +03:00
Andrey Hristov
63791d055a New result fetching mode for mysqlnd, which should use less memory but
implies more memory copy. The old method is still available and can be used.
It stays as default. Choosing the method is through a flag to mysqli_query()/mysqli_real_query()
New mode can be forced with an INI setting, for all extensions that support this mode
(ext/mysql and mysqli, because PDO due to it's architecture can't support it)
The setting is mysqlnd.fetch_data_copy=[0|1]
2014-04-10 16:44:54 +03:00
Andrey Hristov
113f22550a Fixes after merge 2014-03-20 17:28:49 +02:00
Andrey Hristov
d2ab74588e Merge branch 'PHP-5.5' into PHP-5.6 2014-03-20 16:30:01 +02:00
Andrey Hristov
41b4b84dda Emit a warning in case of unallowed characters. Fix another place this
code is used - reuse
2014-03-20 16:23:40 +02:00
Andrey Hristov
e52334fdbe Merge branch 'PHP-5.5' into PHP-5.6
Conflicts:
	ext/mysqli/mysqli_api.c
2014-03-20 16:16:12 +02:00
Andrey Hristov
059bc99d94 don't replace with ?, just skip it 2014-03-20 12:11:16 +02:00
Andrey Hristov
62ab3af12f fix compilation error 2014-03-19 19:15:04 +02:00
Andrey Hristov
01c2ec03bc Merge branch 'PHP-5.5' into PHP-5.6
Conflicts:
	NEWS
	configure.in
	ext/mysqli/mysqli_api.c
	main/php_version.h
2014-03-19 18:54:39 +02:00
Andrey Hristov
d63ed101ee Fix problem with mysqli_commt()/mysqli_rollback() 2014-03-19 18:32:19 +02:00
Remi Collet
fa01db3466 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  NEWS
  NEWS
  test for bug #66762
  Fixed Bug #66762 Segfault in mysqli_stmt::bind_result() when link closed
2014-02-27 08:50:07 +01:00
Remi Collet
82e92c99a6 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  NEWS
  test for bug #66762
  Fixed Bug #66762 Segfault in mysqli_stmt::bind_result() when link closed
2014-02-27 08:49:33 +01:00
Remi Collet
9137acc7ec Fixed Bug #66762 Segfault in mysqli_stmt::bind_result() when link closed
Each new mysqli_stmt now increase the refcount of the link object.
So the link is really destroy after all statements.

Only implemented with libmysqlclient, as mysqlnd already implement
this internally.

So, libmysqlclient and mysqlnd have the same behavior.
2014-02-27 08:45:16 +01:00
Johannes Schlüter
1fd53fd2ae Move static functions further up so they are delared efore being used. 2014-02-15 20:05:46 +01:00
Andrey Hristov
7807d7d0ce Add new INI for rollbacking connections put back into the pconn pool
as well a function get the the statistics in easier way than ob_start()
and parsing phpinfo().
2014-01-29 15:27:43 +02:00
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