MFT: Added 'db' and 'catalog' keys to the field fetching functions (FR #39847)

This commit is contained in:
Kalle Sommer Nielsen 2011-01-17 11:20:54 +00:00
parent ba4fbb05ae
commit d244ac46a1
12 changed files with 131 additions and 27 deletions

6
NEWS
View File

@ -50,13 +50,15 @@
(Stas).
- MySQL Improved extension:
. Added 'db' and 'catalog' keys to the field fetching functions (FR #39847).
(Kalle)
. Fixed bug #53503 (mysqli::query returns false after successful LOAD DATA
query). (Kalle, Andrey)
. Fixed bug #53425 (mysqli_real_connect() ignores client flags when built to
call libmysql). (Kalle, tre-php-net at crushedhat dot com)
. Fixed buggy counting of affected rows when using the text protocol. The
collected statistics were wrong when multi_query was used with mysqlnd.
(Andrey)
collected statistics were wrong when multi_query was used with mysqlnd
(Andrey)
- OpenSSL extension:
. Implemented FR #53447 (Cannot disable SessionTicket extension for servers

View File

@ -1052,6 +1052,8 @@ static void php_add_field_properties(zval *value, const MYSQL_FIELD *field TSRML
add_property_string(value, "table", (char *) (field->table ? field->table : ""), 1);
add_property_string(value, "orgtable", (char *) (field->org_table ? field->org_table : ""), 1);
add_property_string(value, "def", (field->def ? field->def : ""), 1);
add_property_string(value, "db", (field->db ? field->db : ""), 1);
add_property_string(value, "catalog", (field->catalog ? field->catalog : ""), 1);
add_property_long(value, "max_length", field->max_length);
add_property_long(value, "length", field->length);

View File

@ -60,7 +60,7 @@ mysqli_close($link);
=== fetch_fields ===
array(2) {
[0]=>
object(stdClass)#5 (11) {
object(stdClass)#5 (13) {
[%u|b%"name"]=>
%unicode|string%(3) "foo"
[%u|b%"orgname"]=>
@ -71,6 +71,10 @@ array(2) {
%unicode|string%(13) "test_affected"
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>
@ -85,7 +89,7 @@ array(2) {
int(0)
}
[1]=>
object(stdClass)#6 (11) {
object(stdClass)#6 (13) {
[%u|b%"name"]=>
%unicode|string%(3) "bar"
[%u|b%"orgname"]=>
@ -96,6 +100,10 @@ array(2) {
%unicode|string%(13) "test_affected"
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>
@ -112,7 +120,7 @@ array(2) {
}
=== fetch_field_direct ===
object(stdClass)#6 (11) {
object(stdClass)#6 (13) {
[%u|b%"name"]=>
%unicode|string%(3) "foo"
[%u|b%"orgname"]=>
@ -123,6 +131,10 @@ object(stdClass)#6 (11) {
%unicode|string%(13) "test_affected"
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>
@ -136,7 +148,7 @@ object(stdClass)#6 (11) {
[%u|b%"decimals"]=>
int(0)
}
object(stdClass)#6 (11) {
object(stdClass)#6 (13) {
[%u|b%"name"]=>
%unicode|string%(3) "bar"
[%u|b%"orgname"]=>
@ -147,6 +159,10 @@ object(stdClass)#6 (11) {
%unicode|string%(13) "test_affected"
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>
@ -162,7 +178,7 @@ object(stdClass)#6 (11) {
}
=== fetch_field ===
object(stdClass)#6 (11) {
object(stdClass)#6 (13) {
[%u|b%"name"]=>
%unicode|string%(3) "foo"
[%u|b%"orgname"]=>
@ -173,6 +189,10 @@ object(stdClass)#6 (11) {
%unicode|string%(13) "test_affected"
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>
@ -186,7 +206,7 @@ object(stdClass)#6 (11) {
[%u|b%"decimals"]=>
int(0)
}
object(stdClass)#5 (11) {
object(stdClass)#5 (13) {
[%u|b%"name"]=>
%unicode|string%(3) "bar"
[%u|b%"orgname"]=>
@ -197,6 +217,10 @@ object(stdClass)#5 (11) {
%unicode|string%(13) "test_affected"
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>

View File

@ -79,7 +79,7 @@ require_once('skipifconnectfailure.inc');
require_once("clean_table.inc");
?>
--EXPECTF--
object(stdClass)#%d (11) {
object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(2) "ID"
[%u|b%"orgname"]=>
@ -90,6 +90,10 @@ object(stdClass)#%d (11) {
%unicode|string%(4) "test"
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(1)
[%u|b%"length"]=>
@ -103,7 +107,7 @@ object(stdClass)#%d (11) {
[%u|b%"decimals"]=>
int(0)
}
object(stdClass)#%d (11) {
object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(5) "label"
[%u|b%"orgname"]=>
@ -114,6 +118,10 @@ object(stdClass)#%d (11) {
%unicode|string%(4) "test"
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(%d)
[%u|b%"length"]=>
@ -134,7 +142,7 @@ array(1) {
[%u|b%"_default_test"]=>
%unicode|string%(1) "2"
}
object(stdClass)#%d (11) {
object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(13) "_default_test"
[%u|b%"orgname"]=>
@ -145,6 +153,10 @@ object(stdClass)#%d (11) {
%unicode|string%(4) "test"
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(1)
[%u|b%"length"]=>

View File

@ -47,7 +47,7 @@ require_once('skipifconnectfailure.inc');
--EXPECTF--
Warning: mysqli_fetch_field_direct(): Field offset is invalid for resultset in %s on line %d
bool(false)
object(stdClass)#%d (11) {
object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(2) "ID"
[%u|b%"orgname"]=>
@ -58,6 +58,10 @@ object(stdClass)#%d (11) {
%unicode|string%(4) "test"
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(%d)
[%u|b%"length"]=>

View File

@ -56,7 +56,7 @@ require_once('skipifconnectfailure.inc');
--EXPECTF--
Warning: mysqli_result::fetch_field_direct(): Field offset is invalid for resultset in %s on line %d
bool(false)
object(stdClass)#%d (11) {
object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(2) "ID"
[%u|b%"orgname"]=>
@ -67,6 +67,10 @@ object(stdClass)#%d (11) {
%unicode|string%(4) "test"
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(%d)
[%u|b%"length"]=>

View File

@ -63,7 +63,7 @@ require_once('skipifconnectfailure.inc');
require_once("clean_table.inc");
?>
--EXPECTF--
object(stdClass)#%d (11) {
object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(2) "ID"
[%u|b%"orgname"]=>
@ -74,6 +74,10 @@ object(stdClass)#%d (11) {
%unicode|string%(4) "test"
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(1)
[%u|b%"length"]=>
@ -87,7 +91,7 @@ object(stdClass)#%d (11) {
[%u|b%"decimals"]=>
int(0)
}
object(stdClass)#%d (11) {
object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(5) "label"
[%u|b%"orgname"]=>
@ -98,6 +102,10 @@ object(stdClass)#%d (11) {
%unicode|string%(4) "test"
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(%d)
[%u|b%"length"]=>

View File

@ -60,7 +60,7 @@ require_once('skipifconnectfailure.inc');
require_once("clean_table.inc");
?>
--EXPECTF--
object(stdClass)#%d (11) {
object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(2) "ID"
[%u|b%"orgname"]=>
@ -71,6 +71,10 @@ object(stdClass)#%d (11) {
%unicode|string%(4) "test"
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(1)
[%u|b%"length"]=>
@ -84,7 +88,7 @@ object(stdClass)#%d (11) {
[%u|b%"decimals"]=>
int(0)
}
object(stdClass)#%d (11) {
object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(5) "label"
[%u|b%"orgname"]=>
@ -95,6 +99,10 @@ object(stdClass)#%d (11) {
%unicode|string%(4) "test"
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(1)
[%u|b%"length"]=>

View File

@ -122,7 +122,7 @@ require_once('skipifconnectfailure.inc');
--EXPECTF--
Warning: mysqli_field_seek(): Invalid field offset in %s on line %d
bool(false)
object(stdClass)#%d (11) {
object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(2) "id"
[%u|b%"orgname"]=>
@ -133,6 +133,10 @@ object(stdClass)#%d (11) {
%unicode|string%(4) "test"
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>
@ -147,7 +151,7 @@ object(stdClass)#%d (11) {
int(0)
}
bool(true)
object(stdClass)#%d (11) {
object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(2) "id"
[%u|b%"orgname"]=>
@ -158,6 +162,10 @@ object(stdClass)#%d (11) {
%unicode|string%(4) "test"
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>
@ -172,7 +180,7 @@ object(stdClass)#%d (11) {
int(0)
}
bool(true)
object(stdClass)#%d (11) {
object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(5) "label"
[%u|b%"orgname"]=>
@ -183,6 +191,10 @@ object(stdClass)#%d (11) {
%unicode|string%(4) "test"
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(%d)
[%u|b%"length"]=>
@ -205,7 +217,7 @@ bool(false)
Warning: mysqli_field_seek(): Invalid field offset in %s on line %d
bool(false)
bool(true)
object(stdClass)#3 (11) {
object(stdClass)#3 (13) {
[%u|b%"name"]=>
%unicode|string%(5) "_null"
[%u|b%"orgname"]=>
@ -216,6 +228,10 @@ object(stdClass)#3 (11) {
%unicode|string%(0) ""
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(0) ""
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>

View File

@ -64,7 +64,7 @@ int(0)
Warning: mysqli_field_seek() expects exactly 2 parameters, 1 given in %s on line %d
NULL
int(0)
object(stdClass)#%d (11) {
object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(2) "id"
[%u|b%"orgname"]=>
@ -75,6 +75,10 @@ object(stdClass)#%d (11) {
%unicode|string%(4) "test"
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>

View File

@ -61,7 +61,7 @@ if (!function_exists('mysqli_stmt_get_result'))
require_once("clean_table.inc");
?>
--EXPECTF--
object(stdClass)#%d (11) {
object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(2) "id"
[%u|b%"orgname"]=>
@ -72,6 +72,10 @@ object(stdClass)#%d (11) {
%unicode|string%(4) "test"
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>
@ -85,7 +89,7 @@ object(stdClass)#%d (11) {
[%u|b%"decimals"]=>
int(0)
}
object(stdClass)#%d (11) {
object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(5) "label"
[%u|b%"orgname"]=>
@ -96,6 +100,10 @@ object(stdClass)#%d (11) {
%unicode|string%(4) "test"
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(%d)
[%u|b%"length"]=>
@ -109,7 +117,7 @@ object(stdClass)#%d (11) {
[%u|b%"decimals"]=>
int(0)
}
object(stdClass)#%d (11) {
object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(3) "_id"
[%u|b%"orgname"]=>
@ -120,6 +128,10 @@ object(stdClass)#%d (11) {
%unicode|string%(0) ""
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(0) ""
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>
@ -133,7 +145,7 @@ object(stdClass)#%d (11) {
[%u|b%"decimals"]=>
int(0)
}
object(stdClass)#%d (11) {
object(stdClass)#%d (13) {
[%u|b%"name"]=>
%unicode|string%(8) "___label"
[%u|b%"orgname"]=>
@ -144,6 +156,10 @@ object(stdClass)#%d (11) {
%unicode|string%(0) ""
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(0) ""
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(%d)
[%u|b%"length"]=>

View File

@ -101,7 +101,7 @@ require_once('skipifconnectfailure.inc');
Warning: mysqli_stmt_result_metadata(): invalid object or resource mysqli_stmt
in %s on line %d
object(stdClass)#5 (%d) {
object(stdClass)#5 (13) {
[%u|b%"name"]=>
%unicode|string%(2) "id"
[%u|b%"orgname"]=>
@ -112,6 +112,10 @@ object(stdClass)#5 (%d) {
%unicode|string%(4) "test"
[%u|b%"def"]=>
%unicode|string%(0) ""
[%u|b%"db"]=>
%unicode|string%(4) "test"
[%u|b%"catalog"]=>
%unicode|string%(3) "def"
[%u|b%"max_length"]=>
int(0)
[%u|b%"length"]=>