Skip to content

Deprecate unused mysqli constants #6850

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions ext/mysqli/mysqli.c
Original file line number Diff line number Diff line change
Expand Up @@ -721,9 +721,9 @@ PHP_MINIT_FUNCTION(mysqli)
REGISTER_LONG_CONSTANT("MYSQLI_SET_CHARSET_DIR", MYSQL_SET_CHARSET_DIR, CONST_CS | CONST_PERSISTENT);

/* bind support */
REGISTER_LONG_CONSTANT("MYSQLI_NO_DATA", MYSQL_NO_DATA, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("MYSQLI_NO_DATA", MYSQL_NO_DATA, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED);
#ifdef MYSQL_DATA_TRUNCATED
REGISTER_LONG_CONSTANT("MYSQLI_DATA_TRUNCATED", MYSQL_DATA_TRUNCATED, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("MYSQLI_DATA_TRUNCATED", MYSQL_DATA_TRUNCATED, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED);
#endif

/* reporting */
Expand All @@ -744,13 +744,13 @@ PHP_MINIT_FUNCTION(mysqli)
#endif
#endif

REGISTER_LONG_CONSTANT("MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED", SERVER_QUERY_NO_GOOD_INDEX_USED, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("MYSQLI_SERVER_QUERY_NO_INDEX_USED", SERVER_QUERY_NO_INDEX_USED, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED", SERVER_QUERY_NO_GOOD_INDEX_USED, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED);
REGISTER_LONG_CONSTANT("MYSQLI_SERVER_QUERY_NO_INDEX_USED", SERVER_QUERY_NO_INDEX_USED, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED);
#ifdef SERVER_QUERY_WAS_SLOW
REGISTER_LONG_CONSTANT("MYSQLI_SERVER_QUERY_WAS_SLOW", SERVER_QUERY_WAS_SLOW, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("MYSQLI_SERVER_QUERY_WAS_SLOW", SERVER_QUERY_WAS_SLOW, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED);
#endif
#ifdef SERVER_PS_OUT_PARAMS
REGISTER_LONG_CONSTANT("MYSQLI_SERVER_PS_OUT_PARAMS", SERVER_PS_OUT_PARAMS, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("MYSQLI_SERVER_PS_OUT_PARAMS", SERVER_PS_OUT_PARAMS, CONST_CS | CONST_PERSISTENT | CONST_DEPRECATED);
#endif
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to confirm, there is no way to access server_status from mysqli?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know of any way to use these constants.

I was not aware that we can make constants deprecated. I will try to rewrite this PR now to make them deprecated instead of removing them.


REGISTER_LONG_CONSTANT("MYSQLI_REFRESH_GRANT", REFRESH_GRANT, CONST_CS | CONST_PERSISTENT);
Expand Down
36 changes: 36 additions & 0 deletions ext/mysqli/tests/deprecated_constants.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
--TEST--
Deprecated constants
--SKIPIF--
<?php
require_once 'skipif.inc';
?>
--FILE--
<?php

echo constant('MYSQLI_NO_DATA')."\n";
echo constant('MYSQLI_DATA_TRUNCATED')."\n";
echo constant('MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED')."\n";
echo constant('MYSQLI_SERVER_QUERY_NO_INDEX_USED')."\n";
echo constant('MYSQLI_SERVER_QUERY_WAS_SLOW')."\n";
echo constant('MYSQLI_SERVER_PS_OUT_PARAMS')."\n";

?>
--EXPECTF--

Deprecated: Constant MYSQLI_NO_DATA is deprecated in %s
%i

Deprecated: Constant MYSQLI_DATA_TRUNCATED is deprecated in %s
%i

Deprecated: Constant MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED is deprecated in %s
%i

Deprecated: Constant MYSQLI_SERVER_QUERY_NO_INDEX_USED is deprecated in %s
%i

Deprecated: Constant MYSQLI_SERVER_QUERY_WAS_SLOW is deprecated in %s
%i

Deprecated: Constant MYSQLI_SERVER_PS_OUT_PARAMS is deprecated in %s
%i
Loading