Commit Graph

226 Commits

Author SHA1 Message Date
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
Andrey Hristov
4ec16344a9 add a test case
fix incorrect handling of unsigned bigint.
optimize handling of unsigned int
2005-11-30 16:20:25 +00:00
Andrey Hristov
a8c0463961 fix more leaks. handle better unknown type (4.1.x connected to 5.0.x
incompatibility)
2005-11-30 15:26:41 +00:00
Andrey Hristov
c230f7defb fix a crash and a leak.
4.1.15 (client) -> 5.x (server) because of the incompatibility because of
decimal in the protocol binding may fail. Don't close the statement in
that case because subsequent ->execute() will crash or any other function
that will try to use already freed (and in debug mode thrashed) pointer.
#probably more problems exist because of the 4.1.x -> 5.x protocol
#incompatibility
2005-11-30 11:35:03 +00:00
Andrey Hristov
00a9f063f8 on 32bit platform if the column is UNSIGNED INT(11) and the value
is greater than 2^31-1 then convert to string. on 64bit this is of no
problem because there long inside zval is big enough to keep unsigned
int(11)
2005-11-08 13:50:50 +00:00
Georg Richter
b343aa9945 fixed an error in mysqli_fetch_fields (function returns NULL instead of array
when row_number > num_fields).
Thanks to Marc Deslisle and phpMyAdmin team for the report.
2005-10-15 06:32:26 +00:00
Antony Dovgal
062626d03e use proper macros and vars instead of strlen() 2005-10-10 20:06:35 +00:00
Antony Dovgal
410e106aae fix #34810 (mysqli::init() and others use wrong $this pointer without checks) 2005-10-10 12:57:55 +00:00
Andrey Hristov
24af08eb80 add charsetnr and length to the object returned. this is kind of bug
because fetch_fields() and fetch_field() return that info and
fetch_field_direct() does not
2005-10-09 17:03:01 +00:00
Antony Dovgal
0dce979bfc MFH: fix #32081 (mysqli_real_connect(): mysqli.default_socket in php.ini has no effect) for real 2005-09-22 20:14:34 +00:00
foobar
23e671a51e - Bumber up year 2005-08-03 14:08:58 +00:00
Georg Richter
15563f8d91 fix for bug #33263 (mysqli_real_escape doesn't work in __construct) 2005-06-17 16:32:43 +00:00
Georg Richter
3e416f738c fix for bug #33090 (mysql_prepare doesn't return error) 2005-05-21 08:38:53 +00:00
Andrey Hristov
8e97019a69 after throwing an warning bail out 2005-05-09 22:29:54 +00:00
Andrey Hristov
d5e0b8a628 MFB 2005-05-09 21:48:03 +00:00
Andrey Hristov
daae299653 revert this one till we have a better way to inform the user where the
truncation has occured
2005-05-07 12:46:29 +00:00
Andrey Hristov
91b3b49f14 return MYSQLI_DATA_TRUNCATED if data happens to be truncated
#the manual has to be updated
2005-05-07 08:23:39 +00:00
Andrey Hristov
70da059cc0 return directly 2005-05-07 08:03:35 +00:00
Andrey Hristov
b7df40a75a bail out when detecting incorrect number of parameters to be bound. 2005-05-07 07:44:41 +00:00
Andrey Hristov
60c0c8e95c initialize values because the call to zend_parse_parameters may not do it 2005-05-06 10:09:42 +00:00
Georg Richter
929e3851f2 fixed memleak in mysqli_close
fixed bug #32956 (mysqli_bind_result doesn't support MYSQL_TYPE_NULL)
2005-05-05 13:02:32 +00:00
Andrey Hristov
3b3ce2b610 fix bug #32013(MySQLi bind_result causes fatal error: memory limit reached)
#this is a partial fix but it cannot be better. the user has to call
#$stmt->store_result() and for a BLOB/MEDIUTEXT (and larger) space will be
#allocated as big as the biggest column value.
2005-04-27 17:53:15 +00:00
Georg Richter
2bcae57b31 another fix for last commit (committed from wrong tree) :( 2005-04-20 13:24:08 +00:00
Georg Richter
649a8b18ef added support for data truncation (bind_result) for MySQL 5.0.5 2005-04-20 12:50:13 +00:00
Andrey Hristov
2a3c71b833 - nail down another 64bit problem. this will fix about 14 failing tests
on amd64 (probably other 64 bit arch).
- use ulong for this boolean variable, as it was before
- throw an warning if offset passed to mysqli_stmt_data_seek is negative
2005-04-19 13:28:41 +00:00
Andrey Hristov
155b90db20 - fixing all "long" into "int" fetching problems (cause memory corruption
on 64 bit)
- nail down a problem because of the new MYSQL_TYPE_NEWDECIMAL introduced
  in MySQL 5.0+
- Add more info to the autocommit test
2005-04-19 12:59:16 +00:00
Antony Dovgal
646bb71503 fix typo in error message 2005-03-17 18:12:06 +00:00
Georg Richter
32aaa6a7be fixed a bug in mysql_affected_rows and mysql_stmt_affected_rows
in case affected_rows function returns (my_ulonglong) -1 for errors.
(Thanks to Antony Dovgal for reporting this bug)
2005-01-28 17:35:37 +00:00
Georg Richter
7148919940 fix for bug #31710 (return value for mysql_rollback is reverted)
fixed also same behaviour for mysql_commit and mysql_autocommit
2005-01-27 10:18:28 +00:00
Antony Dovgal
9d9e4379af MFB: fix segfault when invalid field offset is passed to mysqli_fetch_field_direct() 2005-01-27 01:14:43 +00:00
Georg Richter
0b4c108bd7 Added new classes:
mysqli_driver
	mysqli_warning
	mysqli_exception
	mysqli_sql_exception

Improved embedded server support
changed testsuite to work also with embedded server

Made statement and resultset classes extendable

minor fixes
2005-01-07 14:59:59 +00:00
Georg Richter
dc63cb7feb fixed testcase 047
fixed windows compile error
2004-12-27 15:39:35 +00:00
Georg Richter
698c0361d6 Fix for feature request #31015: added length for field length 2004-12-27 11:48:57 +00:00
Georg Richter
5c50f0bb30 prevent type conversion during mysql_stmt_execute for NULL variables 2004-12-20 16:39:14 +00:00
Georg Richter
b8863135a2 Fixed tests for empty dates (see http://bugs.mysql.com/?id=6058)
Fixed memleak in mysqli_stmt_bind_result
Fixed error handling for mysqli_multi_query
2004-11-01 07:19:26 +00:00
Georg Richter
eb3900b77a forgot to remove comment in last commit 2004-09-04 14:16:52 +00:00
Georg Richter
c8572b0bba changed local_infile_handler:
mysql client lib now uses php_local_infile functions by default, which allows
  to use php_fopen_wrapper: e.g. LOAD DATA LOCAL INFILE 'http://foo.com/bar.csv' ...

  mysql_set_local_infile_handler now only supports a callback function for read.
2004-08-25 13:57:35 +00:00
Georg Richter
8ff9528138 minor fix in mysqli_prepare: copying stmt errormessag to mysql structure 2004-08-12 22:14:06 +00:00
Sara Golemon
f064a2c8b9 This should fix binary safety for bound results or may coogle strike me down. 2004-07-22 03:23:33 +00:00
Andi Gutmans
56f8195fe5 - Nuke empty_string. It is a reminanent from the time where RETURN_FALSE()
used to return "" and not bool(false). It's not worth keeping it because
  STR_FREE() and zval_dtor() always have to check for it and it slows down
  the general case. In addition, it seems that empty_string has been abused
  quite a lot, and was used not only for setting zval's but generally in
  PHP code instead of "", which wasn't the intention. Last but not least,
  nuking empty_string should improve stability as I doubt every place
  correctly checked if they are not mistakenly erealloc()'ing it or
  calling efree() on it.
  NOTE: Some code is probably broken. Each extension maintainer should
  check and see that my changes are OK. Also, I haven't had time to touch
  PECL yet. Will try and do it tomorrow.
2004-07-19 07:19:50 +00:00
Georg Richter
15ef63b39a fixed paraenthesis warning in mysql_stmt_attr_set/get 2004-07-17 10:48:28 +00:00
Georg Richter
bfd3c9ecfb prototype fixes 2004-07-13 17:04:16 +00:00
Georg Richter
f61dbf06a1 changed mysqli_stmt_reset (returns now bool instead of void) 2004-07-13 16:12:28 +00:00
Georg Richter
9db1075c0e added check in config.m4 for deprecated library
added support for new 4.1.3-beta functions
	mysqli_stmt_field_count
	mysqli_stmt_attr_set
	mysqli_stmt_attr_get
removed support for deprecated/old api functions
fixed bug in constructor_get
2004-07-07 08:02:27 +00:00
Georg Richter
202d2990a9 fixed crash (changed MYSQL TO MY_MYSQL in mysql_stmt_init) 2004-06-08 06:20:58 +00:00
Georg Richter
f0468116c0 removed conditional defines for load_data_infile_handlers on windows
(4.1.2 windows build is fixed now on mysql.com)
2004-06-06 08:52:19 +00:00
Georg Richter
93bf6517df Major changes for 4.1.2-alpha/4.1.3-beta:
- added container for mysql structure
- added load data infile callback functions (currently disabled under win)
Bug fixes:
- fixed property changes (4.1.1 -> 4.1.2)
- fixed memleak in mysqli_connect
- fixed bug #28100
- fixed bug #28205
- fixed bug #28430
2004-06-05 18:31:56 +00:00
Georg Richter
e6ac744282 fixed problems in mysql_stmt_init (missing alloc from stmt) 2004-03-18 13:04:55 +00:00
Georg Richter
e3077eadef fixed stmt->stmt->query which was removed in libmysql 4.1.2
added query buffer in internal stmt structure to copy string
after prepare
2004-03-16 21:43:25 +00:00
Georg Richter
a3bd712b78 added new function mysql_stmt_free_result 2004-03-10 09:50:05 +00:00
Georg Richter
612ab199ad fixed memleaks in bind functions
added 4.1.2 support (renamed functions)
2004-03-09 12:01:23 +00:00
Georg Richter
700bb4dbb4 prototype fix for mysqli_ping 2004-02-26 12:24:21 +00:00