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
73f03a47d0
DI
2014-03-10 18:18:56 +02:00
Andrey Hristov
990f9c8f3f
Switch from a single flag to a flag byte
2014-03-10 17:25:53 +02:00
Andrey Hristov
6b804b96b8
Refactor the result set data structures. Move more to the buffered and unbuffered
...
substructures. Add methods to these too. Preparing for pluggable interface for
returning data to the engine (zvals, c-style, something else)
2014-03-05 16:22:23 +02:00
Andrey Hristov
3e59f041da
remove dead code
2014-02-17 19:04:01 +02:00
Andrey Hristov
b2cd56c3cb
Move code out, that handles the actual structure to be used for the decoded
...
data. Will make it easier to add different structures
2014-02-17 18:37:08 +02:00
Johannes Schlüter
09eb3cf381
Merge branch 'PHP-5.4' into PHP-5.5
2014-01-21 16:37:02 +01:00
Johannes Schlüter
2311ba7d3f
Fix bug #66283 (Segmentation fault after memory_limit)
...
There are situations where mysqlnd dupliates zvals while freeing result
sets. If the memory_limit is reached during this operation the engine
will bailout. This patch makes sure that a later attempt (during
RSHIUTDOWN) won't cause a double free, instead we rely on the engine to
free emalloc()ed memory after bailout.
2014-01-21 16:28:30 +01: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
Andrey Hristov
40dc242904
Merge branch 'PHP-5.4' into PHP-5.5
...
Conflicts:
NEWS
ext/mysqlnd/mysqlnd.c
2013-11-26 19:02:45 +02:00
Andrey Hristov
74ba88e186
Fix for Bug #66141 (mysqlnd quote function is wrong with NO_BACKSLASH_ESCAPES after failed query)
2013-11-26 19:01:49 +02:00
Stanislav Malyshev
02e4d7a290
Merge branch 'pull-request/341'
...
* pull-request/341: (23 commits)
typofixes
2013-06-10 14:30:59 -07:00
Stanislav Malyshev
ac40c0b562
Merge branch 'pull-request/341'
...
* pull-request/341: (23 commits)
typofixes
2013-06-10 14:20:18 -07:00
Xinchen Hui
1c07590ed7
Merge branch 'PHP-5.4' into PHP-5.5
2013-04-27 23:41:51 +08:00
Xinchen Hui
d54432ed98
Merge branch 'PHP-5.3' into PHP-5.4
2013-04-27 23:38:10 +08:00
Xinchen Hui
c7b8368ed5
Fix memory realted to #64726
2013-04-27 23:38:00 +08:00
Xinchen Hui
cbb5d42b9b
Merge branch 'PHP-5.4' into PHP-5.5
2013-01-06 10:23:21 +08:00
Xinchen Hui
c2f8e90504
Merge branch 'PHP-5.3' into PHP-5.4
2013-01-06 10:20:00 +08:00
Xinchen Hui
bc11e6fdbb
bump year
2013-01-06 10:19:09 +08:00
andrey
6074df91c6
remove old unicode code, that is was compiled out by using a macro
2012-09-25 16:36:21 +02:00
Felipe Pena
e4ca0ed09f
- Year++
2012-01-01 13:15:04 +00: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
Andrey Hristov
652490d43a
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
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
3a510c616d
missing from previous commit for #55582
2011-09-05 15:37:58 +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
c9e7716cfd
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
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
a417820be3
exchange a "trap" with an error
2011-05-17 09:44:11 +00:00
Andrey Hristov
778273291d
exchange a "trap" with an error
2011-05-17 09:44:11 +00:00
Andrey Hristov
6c2f42b544
exchange a "trap" with an error
2011-05-17 09:44:11 +00:00
Andrey Hristov
5572becc81
palloc is long dead, use more appropriate name
2011-03-22 14:39:58 +00:00
Andrey Hristov
3ffac762b0
palloc is long dead, use more appropriate name
2011-03-22 14:39:58 +00:00
Andrey Hristov
081b001ca1
remove more unneeded includes
2011-03-22 12:54:02 +00:00
Andrey Hristov
cfb01aab63
remove more unneeded includes
2011-03-22 12:54:02 +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
ca5df2a8bb
less trace info
2011-03-18 12:33:17 +00:00
Andrey Hristov
7a1f54ff42
fix invalid memory read. Thank you, valgrind
2011-02-21 16:24:37 +00:00
Andrey Hristov
2e30412f20
fix invalid memory read. Thank you, valgrind
2011-02-21 16:24:37 +00:00
Andrey Hristov
eb0dd2b8ab
fixed a problem in mysqlnd. 0 was always as num_rows returned for
...
unbuffered sets (text protocol and PS).
2011-02-16 16:36:33 +00:00
Andrey Hristov
1bdc780d30
fixed a problem in mysqlnd. 0 was always as num_rows returned for
...
unbuffered sets (text protocol and PS).
2011-02-16 16:36:33 +00:00
Andrey Hristov
eaaef0d870
Proper fix for
...
Bug #53503 mysqli::query returns false after successful LOAD DATA query
which fixes als #56349 , same behavior but in ext/mysql. Both due to a bug
in mysqlnd. Never was a problem with libmysql.
Also fixed the 53503's test case as it always reported PASS, even when there
should have been a failure.
2011-01-07 14:22:30 +00:00
Andrey Hristov
5549e066f2
Proper fix for
...
Bug #53503 mysqli::query returns false after successful LOAD DATA query
which fixes als #56349 , same behavior but in ext/mysql. Both due to a bug
in mysqlnd. Never was a problem with libmysql.
Also fixed the 53503's test case as it always reported PASS, even when there
should have been a failure.
2011-01-07 14:22:30 +00:00