mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
05b709fc77e2f321fa3fa45ee5b2ec2ceae54055
of concurrent connections for the same account)"
Added support of account specific max_user_connections limit. Made all
user limits to be counted per account instead of the old behavior,
which was per user/host accounting. Added option which enables the old
behavior. Added testing of these to the test suite.
(After review version).
client/mysqltest.c:
Extended mysqltest to be able to handle connect() statements for which
error is expected.
- Added replace_dynstr_append() utility function.
- added connect_n_handle_errors() function which connects with server
without retries and handles errors as if "connect" was usual
statement.
- do_connect(): added ability to handle connects which are expected
to return an error.
- run_query_normal(): Moved all expected-error-handling code to separate
normal_handle_error()/normal_handle_no_error() functions to be able
to reuse them in connect_n_handle_errors().
mysql-test/r/grant.result:
Fixed test results since one more column to mysql.user was added.
mysql-test/r/system_mysql_db.result:
Fixed test results since one more column to mysql.user was added.
scripts/mysql_create_system_tables.sh:
Added max_user_connections column to mysql.user table for storing
new maximal concurrent connections per account limit.
scripts/mysql_fix_privilege_tables.sql:
Added max_user_connections column to mysql.user table for storing
new maximal concurrent connections per account limit.
sql/lex.h:
Added MAX_USER_CONNECTIONS symbol used for specifying
maximum number of concurrent connections per account.
sql/mysql_priv.h:
Added declaration of opt_old_style_user_limits variable which is defined
in sql/mysqld.cc used in sql/sql_parse.cc.
sql/mysqld.cc:
Added "old-style-user-limits" option which forces user limits to behave
in old way i.e. to be counted per user/host pair instead of per account.
Added comment describing mqh_used variable.
sql/set_var.cc:
Added sys_var_max_user_conn class which implements support for the new
behavior of max_user_connections variable. Now the global instance of
this variable holds default maximum number of concurrent connections per
account (as it was before) and the session instance gives read-only
access to account-specific version of this limit.
sql/set_var.h:
Added sys_var_max_user_conn class which implements support for the new
behavior of max_user_connections variable. Now the global instance of
this variable holds default maximum number of concurrent connections per
account (as it was before) and the session instance gives read-only
access to account-specific version of this limit.
sql/sql_acl.cc:
Added support for account-specific MAX_USER_CONNECTIONS limit.
Tweaked USER_RESOURCES and their handling for better clarity.
sql/sql_parse.cc:
Added support for account-specific MAX_USER_CONNECTIONS (maximum number
of concurrent connections per account) limit. Changed default behavior
of all user limits to be per account instead of per user+host.
'--old-style-user-limits' option was added to enable the old behavior.
Made maximum number of connections per hour to be independant on the
value of global max_user_connections variable.
sql/sql_yacc.yy:
Added support of new MAX_USER_CONNECTIONS limit to grammar.
Renamed USER_RESOURCES::connections member to conn_per_hour and bits
member to specified_limits. Also enum is used instead of naked numbers
when we are working with specified_limits.
sql/structs.h:
USER_RESOURCES struct:
- Added user_conn member to store the maximum number of concurrent
connections for an account. Renamed connections member to
conn_per_hour for less ambiguity.
- Renamed member 'bits' to 'specified_limits' for the sake of clarity.
The member was used as a flag indicating which limits were mentioned
in GRANT clause.
- Added comments.
USER_CONN struct:
- Removed unused user_len member.
- Added comments.
This is a release of MySQL, a GPL (free) SQL database server (more licence information in the PUBLIC file and in the reference manual). Please read the "Upgrading from..." section in the manual first, if you are migrating from older versions of MySQL! The latest information about MySQL can be found at: http://www.mysql.com To see what it can do take a look at the features section in the manual. For installation instructions see the Installation chapter in the manual. For future plans see the TODO appendix in the manual. New features/bug fixes history is in the news appendix in the manual. For the currently known bugs/misfeatures (known errors) see the bugs appendix in the manual. For examples of SQL and benchmarking information see the bench directory. The manual mentioned above can be found in the Docs directory. The manual is available in the following formats: as plain ASCII text in Docs/manual.txt, in HTML format in Docs/manual_toc.html, as GNU Info in Docs/mysql.info and as PostScript in Docs/manual.ps. MySQL is brought to you by the MySQL team at MySQL AB For a list of developers and other contributors, see the Credits appendix in the manual. ************************************************************ IMPORTANT: Send bug (error) reports, questions and comments to the mailing list at mysql@lists.mysql.com Please use the 'mysqlbug' script when posting bug reports or questions about MySQL. mysqlbug will gather some information about your system and start your editor with a form in which you can describe your problem. Bug reports might be silently ignored by the MySQL maintainers if there is not a good reason included in the report as to why mysqlbug has not been used. A report that says 'MySQL does not work for me. Why?' is not considered a valid bug report. The mysqlbug script can be found in the 'scripts' directory of the distribution, that is '<where-you-installed-mysql>/scripts'.
Languages
MariaDB\
71.9%
C++
16.2%
C
10.5%
Shell
0.5%
Perl
0.4%
Other
0.3%