Commit Graph

277 Commits

Author SHA1 Message Date
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
Andrey Hristov
38ae7f47c0 Fix build with latest 5.1 sources where gptr is no more. 2007-07-24 09:22:16 +00:00
Andrey Hristov
e1f222858f Remove dot at the end of the message 2007-06-28 09:07:40 +00:00
Stanislav Malyshev
b925a9248b Fix INFILE LOCAL option handling with MySQL - now not allowed when open_basedir
or safe_mode is active
2007-06-18 21:51:32 +00:00
Stanislav Malyshev
6e460bab4e fix crash/leak in bug #38710 2007-03-08 22:49:53 +00:00
Marcus Boerger
50ea26760d - Avoid sprintf, even when checked copy'n'paste or changes lead to errors 2007-02-24 02:17:47 +00:00
Sebastian Bergmann
4223aa4d5e MFH: Bump year. 2007-01-01 09:36:18 +00:00
Hannes Magnusson
3611a3de4a Fix protos 2006-10-02 07:44:34 +00:00
Georg Richter
67d2992fdc MFH: fixed error message 2006-09-29 08:40:10 +00:00
Ilia Alshanetsky
305f597696 Improved fix for bug #37671 2006-08-04 22:13:59 +00:00
Antony Dovgal
8a35e9d014 fix #38072 (boolean arg for mysqli_autocommit() is always true on Solaris) 2006-07-12 09:51:47 +00:00
Ilia Alshanetsky
63a658ee7a Fixed bug #37671 (MySQLi extension fails to recognize BIT column). 2006-06-04 14:56:34 +00:00
Georg Richter
10ed7a1e0a Fix for bug #37620 2006-05-29 05:38:50 +00:00
Andrey Hristov
ac97b77ed9 Don't allocate 2 chunks of memory when one can fit. Reduces memory
fragmentation. There is one more place that fragments memory but it will
complicate the ongoing Unicode upgrade of mysqli so leaving it away for now.
2006-05-10 11:53:13 +00:00
Andrey Hristov
818d2b7aee tweaks and optimizations
#tested on 32b and 64b
2006-05-08 15:06:51 +00:00
Georg Richter
0944a47107 fixed bigint conversion on windows platforms 2006-04-05 12:17:08 +00:00
Andrey Hristov
0b02327267 kill the left unused variable 2006-03-26 21:10:13 +00:00
Andrey Hristov
dfd5b4fbf4 remove unnecessary memcpy, cast directly 2006-03-26 21:08:41 +00:00
Georg Richter
b3a437fcc4 Fix for bug #36802 (server crashes with invalid/not opened connections)
Added status to mysqli_resource:
		MYSQLI_STATUS_UNKNOWN
		MYSQLI_STATUS_CLEARED (for future use)
		MYSQLI_STATUS_INITIALIZED (after mysqli_init and mysqli_stmt_init)
		MYSQLI_STATUS_VALID (for valid objects)
	removed valid flag
	changed MYSQLI_FETCH_RESOURCE
		added last parameter __check which specifies the status
2006-03-24 09:32:24 +00:00
Georg Richter
829642a0b7 fixed a 64-bit problem reported by Pierre 2006-03-14 15:53:16 +00:00
Georg Richter
e13e2fe9ba fix for MySQL 5.1 (see http://bugs.mysql.com/?id=16144) 2006-03-11 11:16:03 +00:00
Andrey Hristov
3a75666285 WS 2006-01-01 16:55:01 +00:00
foobar
5bd93221a8 bump year and license version 2006-01-01 12:51:34 +00:00
Georg Richter
a5acdfc5f2 Fix for bug #35517:
added missing unsigned flag for result buffer
	fixed returncode in mysql_stmt_fetch for data truncation
2005-12-29 09:49:19 +00:00
Andrey Hristov
eea08af619 fix small memory leak which emerged two days ago 2005-12-23 22:22:42 +00:00
Stefan Esser
f7c77f0f33 Beware of format strings... 2005-12-23 18:23:43 +00:00
Andrey Hristov
1c0971f3ce fix for bug# 35759
(mysqli_stmt_bind_result() makes huge allocation when column empty)
#this shows some leaks now, which has to be investigated but closes the
#bug report.
2005-12-22 18:11:39 +00:00
Andrey Hristov
c23052d6d2 fix compile failure on Windows - Microsoft hasn't heard of long long :) 2005-12-01 14:12:56 +00:00