Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
a02c89f3
Commit
a02c89f3
authored
Jan 26, 2005
by
unknown
Browse files
Options
Browse Files
Download
Plain Diff
Merge mysql.com:/home/mydev/mysql-5.0
into mysql.com:/home/mydev/mysql-5.0-5000 sql/set_var.cc: Auto merged
parents
9d570cdb
ba6fda64
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
85 additions
and
24 deletions
+85
-24
include/my_sys.h
include/my_sys.h
+2
-0
mysql-test/include/testdb_only.inc
mysql-test/include/testdb_only.inc
+30
-0
mysql-test/mysql-test-run.sh
mysql-test/mysql-test-run.sh
+20
-17
mysql-test/r/testdb_only.require
mysql-test/r/testdb_only.require
+2
-0
mysql-test/r/user_limits.result
mysql-test/r/user_limits.result
+7
-0
mysql-test/t/user_limits.test
mysql-test/t/user_limits.test
+8
-0
mysys/my_static.c
mysys/my_static.c
+2
-0
sql/mysql_priv.h
sql/mysql_priv.h
+1
-2
sql/mysqld.cc
sql/mysqld.cc
+4
-4
sql/set_var.cc
sql/set_var.cc
+8
-0
sql/set_var.h
sql/set_var.h
+1
-1
No files found.
include/my_sys.h
View file @
a02c89f3
...
...
@@ -259,6 +259,8 @@ extern char wild_many,wild_one,wild_prefix;
extern
const
char
*
charsets_dir
;
extern
char
*
defaults_extra_file
;
extern
my_bool
timed_mutexes
;
typedef
struct
wild_file_pack
/* Struct to hold info when selecting files */
{
uint
wilds
;
/* How many wildcards */
...
...
mysql-test/include/testdb_only.inc
0 → 100644
View file @
a02c89f3
#################### include/testdb_only.inc ######################
# #
# We must prevent to work on databases created by customers, #
# because we DROP/CREATE/MODIFY objects with sometimes common #
# names like STAFF, EMPLOYEE etc. #
# #
# Therefore we check the environment variable USE_RUNNING_SERVER. #
# USE_RUNNING_SERVER is exported by "mysql-test-run" and could #
# contain the following values: #
# 0 -- mysql-test-run was started without the --extern option #
# That means the test will be performed within the test #
# area 'mysql-test/var/...' . #
# 1 -- mysql-test-run was started with the --extern option #
# That means the test will be performed by an already #
# running server and data modifications will most probably #
# outside of the common test area 'mysql-test/var/...' . #
# #
# If USE_RUNNING_SERVER is not 0 the test will be skipped. #
# #
###################################################################
--
disable_query_log
eval
set
@
USE_RUNNING_SERVER
=
'$USE_RUNNING_SERVER'
;
--
require
r
/
testdb_only
.
require
SELECT
'use extern server'
AS
"Variable_name "
,
IF
(
@
USE_RUNNING_SERVER
=
'1'
,
'YES'
,
IF
(
@
USE_RUNNING_SERVER
=
'0'
,
'NO'
,
'UNEXPECTED'
))
AS
"Value"
;
--
enable_query_log
mysql-test/mysql-test-run.sh
View file @
a02c89f3
...
...
@@ -224,7 +224,7 @@ EXTRA_MASTER_OPT=""
EXTRA_MYSQL_TEST_OPT
=
""
EXTRA_MYSQLDUMP_OPT
=
""
EXTRA_MYSQLBINLOG_OPT
=
""
USE_RUNNING_SERVER
=
""
USE_RUNNING_SERVER
=
0
USE_NDBCLUSTER
=
""
USE_RUNNING_NDBCLUSTER
=
""
DO_GCOV
=
""
...
...
@@ -255,7 +255,7 @@ NDBD_EXTRA_OPTS=
while
test
$#
-gt
0
;
do
case
"
$1
"
in
--embedded-server
)
USE_EMBEDDED_SERVER
=
1
USE_MANAGER
=
0
NO_SLAVE
=
1
;
\
USE_RUNNING_SERVER
=
""
RESULT_EXT
=
".es"
TEST_MODE
=
"embedded"
;;
USE_RUNNING_SERVER
=
0
RESULT_EXT
=
".es"
TEST_MODE
=
"embedded"
;;
--user
=
*
)
DBUSER
=
`
$ECHO
"
$1
"
|
$SED
-e
"s;--user=;;"
`
;;
--force
)
FORCE
=
1
;;
--timer
)
USE_TIMER
=
1
;;
...
...
@@ -265,8 +265,8 @@ while test $# -gt 0; do
MASTER_MYSQLD
=
`
$ECHO
"
$1
"
|
$SED
-e
"s;--master-binary=;;"
`
;;
--slave-binary
=
*
)
SLAVE_MYSQLD
=
`
$ECHO
"
$1
"
|
$SED
-e
"s;--slave-binary=;;"
`
;;
--local
)
USE_RUNNING_SERVER
=
""
;;
--extern
)
USE_RUNNING_SERVER
=
"1"
;;
--local
)
USE_RUNNING_SERVER
=
0
;;
--extern
)
USE_RUNNING_SERVER
=
1
;;
--with-ndbcluster
)
USE_NDBCLUSTER
=
"--ndbcluster"
;;
--ndb-connectstring
=
*
)
...
...
@@ -303,7 +303,7 @@ while test $# -gt 0; do
--no-manager
|
--skip-manager
)
USE_MANAGER
=
0
;;
--manager
)
USE_MANAGER
=
1
USE_RUNNING_SERVER
=
USE_RUNNING_SERVER
=
0
;;
--start-and-exit
)
START_AND_EXIT
=
1
...
...
@@ -372,7 +372,7 @@ while test $# -gt 0; do
EXTRA_SLAVE_MYSQLD_OPT
=
"
$EXTRA_SLAVE_MYSQLD_OPT
--gdb"
# This needs to be checked properly
# USE_MANAGER=1
USE_RUNNING_SERVER
=
""
USE_RUNNING_SERVER
=
0
;;
--client-gdb
)
if
[
x
$BINARY_DIST
=
x1
]
;
then
...
...
@@ -385,7 +385,7 @@ while test $# -gt 0; do
--manual-gdb
)
DO_GDB
=
1
MANUAL_GDB
=
1
USE_RUNNING_SERVER
=
""
USE_RUNNING_SERVER
=
0
EXTRA_MASTER_MYSQLD_OPT
=
"
$EXTRA_MASTER_MYSQLD_OPT
--gdb"
EXTRA_SLAVE_MYSQLD_OPT
=
"
$EXTRA_SLAVE_MYSQLD_OPT
--gdb"
;;
...
...
@@ -394,7 +394,7 @@ while test $# -gt 0; do
$ECHO
"Note: you will get more meaningful output on a source distribution compiled with debugging option when running tests with --ddd option"
fi
DO_DDD
=
1
USE_RUNNING_SERVER
=
""
USE_RUNNING_SERVER
=
0
EXTRA_MASTER_MYSQLD_OPT
=
"
$EXTRA_MASTER_MYSQLD_OPT
--gdb"
EXTRA_SLAVE_MYSQLD_OPT
=
"
$EXTRA_SLAVE_MYSQLD_OPT
--gdb"
;;
...
...
@@ -412,7 +412,7 @@ while test $# -gt 0; do
EXTRA_SLAVE_MYSQLD_OPT
=
"
$EXTRA_SLAVE_MYSQLD_OPT
--skip-safemalloc --skip-bdb"
SLEEP_TIME_AFTER_RESTART
=
10
SLEEP_TIME_FOR_DELETE
=
60
USE_RUNNING_SERVER
=
""
USE_RUNNING_SERVER
=
0
if
test
"
$1
"
=
"--valgrind-all"
then
VALGRIND
=
"
$VALGRIND
-v --show-reachable=yes"
...
...
@@ -627,9 +627,9 @@ fi
if
[
-z
"
$1
"
]
then
USE_RUNNING_SERVER
=
""
USE_RUNNING_SERVER
=
0
fi
if
[
-n
"
$USE_RUNNING_SERVER
"
]
if
[
$USE_RUNNING_SERVER
-eq
1
]
then
MASTER_MYSOCK
=
$LOCAL_SOCKET
;
DBUSER
=
${
DBUSER
:-
test
}
...
...
@@ -801,7 +801,7 @@ report_stats () {
$ECHO
"http://www.mysql.com/doc/en/MySQL_test_suite.html"
fi
if
test
-z
"
$USE_RUNNING_SERVER
"
if
[
$USE_RUNNING_SERVER
-eq
0
]
then
# Report if there was any fatal warnings/errors in the log files
...
...
@@ -1511,7 +1511,7 @@ run_testcase ()
done
fi
if
[
-z
"
$USE_RUNNING_SERVER
"
]
;
if
[
$USE_RUNNING_SERVER
-eq
0
]
;
then
if
[
-f
$master_opt_file
]
;
then
...
...
@@ -1655,7 +1655,7 @@ run_testcase ()
if
[
x
$FORCE
!=
x1
]
;
then
$ECHO
"Aborting:
$tname
failed in
$TEST_MODE
mode. To continue, re-run with '--force'."
$ECHO
if
[
-z
"
$DO_GDB
"
]
&&
[
-z
"
$USE_RUNNING_SERVER
"
]
&&
\
if
[
-z
"
$DO_GDB
"
]
&&
[
$USE_RUNNING_SERVER
-eq
0
]
&&
\
[
-z
"
$DO_DDD
"
]
&&
[
-z
"
$USE_EMBEDDED_SERVER
"
]
then
mysql_stop
...
...
@@ -1664,7 +1664,7 @@ run_testcase ()
exit
1
fi
FAILED_CASES
=
"
$FAILED_CASES
$tname
"
if
[
-z
"
$DO_GDB
"
]
&&
[
-z
"
$USE_RUNNING_SERVER
"
]
&&
\
if
[
-z
"
$DO_GDB
"
]
&&
[
$USE_RUNNING_SERVER
-eq
0
]
&&
\
[
-z
"
$DO_DDD
"
]
&&
[
-z
"
$USE_EMBEDDED_SERVER
"
]
then
mysql_restart
...
...
@@ -1683,7 +1683,7 @@ run_testcase ()
[
"
$DO_GCOV
"
]
&&
gcov_prepare
[
"
$DO_GPROF
"
]
&&
gprof_prepare
if
[
-z
"
$USE_RUNNING_SERVER
"
]
if
[
$USE_RUNNING_SERVER
-eq
0
]
then
if
[
-z
"
$FAST_START
"
]
then
...
...
@@ -1744,6 +1744,9 @@ fi
$ECHO
"Starting Tests"
# Some test cases need USE_RUNNING_SERVER
export
USE_RUNNING_SERVER
#
# This can probably be deleted
#
...
...
@@ -1816,7 +1819,7 @@ fi
$ECHO
$DASH72
$ECHO
if
[
-z
"
$DO_GDB
"
]
&&
[
-z
"
$USE_RUNNING_SERVER
"
]
&&
[
-z
"
$DO_DDD
"
]
if
[
-z
"
$DO_GDB
"
]
&&
[
$USE_RUNNING_SERVER
-eq
0
]
&&
[
-z
"
$DO_DDD
"
]
then
mysql_stop
fi
...
...
mysql-test/r/testdb_only.require
0 → 100644
View file @
a02c89f3
Variable_name Value
use extern server NO
mysql-test/r/user_limits.result
View file @
a02c89f3
...
...
@@ -6,6 +6,7 @@ delete from mysql.tables_priv where user like 'mysqltest\_%';
delete from mysql.columns_priv where user like 'mysqltest\_%';
flush privileges;
grant usage on *.* to mysqltest_1@localhost with max_queries_per_hour 2;
flush user_resources;
select * from t1;
i
select * from t1;
...
...
@@ -16,6 +17,7 @@ select * from t1;
ERROR 42000: User 'mysqltest_1' has exceeded the 'max_questions' resource (current value: 2)
drop user mysqltest_1@localhost;
grant usage on *.* to mysqltest_1@localhost with max_updates_per_hour 2;
flush user_resources;
select * from t1;
i
select * from t1;
...
...
@@ -34,6 +36,7 @@ select * from t1;
i
drop user mysqltest_1@localhost;
grant usage on *.* to mysqltest_1@localhost with max_connections_per_hour 2;
flush user_resources;
select * from t1;
i
select * from t1;
...
...
@@ -47,6 +50,7 @@ ERROR 42000: User 'mysqltest_1' has exceeded the 'max_connections' resource (cur
drop user mysqltest_1@localhost;
flush privileges;
grant usage on *.* to mysqltest_1@localhost with max_user_connections 2;
flush user_resources;
select * from t1;
i
select * from t1;
...
...
@@ -56,6 +60,7 @@ ERROR 42000: User 'mysqltest_1' has exceeded the 'max_user_connections' resource
select * from t1;
i
grant usage on *.* to mysqltest_1@localhost with max_user_connections 3;
flush user_resources;
select * from t1;
i
connect(localhost,mysqltest_1,,test,MYSQL_PORT,MYSQL_SOCK);
...
...
@@ -71,6 +76,7 @@ select @@session.max_user_connections, @@global.max_user_connections;
@@session.max_user_connections @@global.max_user_connections
2 2
grant usage on *.* to mysqltest_1@localhost;
flush user_resources;
select @@session.max_user_connections, @@global.max_user_connections;
@@session.max_user_connections @@global.max_user_connections
2 2
...
...
@@ -79,6 +85,7 @@ i
connect(localhost,mysqltest_1,,test,MYSQL_PORT,MYSQL_SOCK);
ERROR 42000: User mysqltest_1 already has more than 'max_user_connections' active connections
grant usage on *.* to mysqltest_1@localhost with max_user_connections 3;
flush user_resources;
select @@session.max_user_connections, @@global.max_user_connections;
@@session.max_user_connections @@global.max_user_connections
3 2
...
...
mysql-test/t/user_limits.test
View file @
a02c89f3
...
...
@@ -19,6 +19,8 @@ flush privileges;
# Test of MAX_QUERIES_PER_HOUR limit
grant
usage
on
*.*
to
mysqltest_1
@
localhost
with
max_queries_per_hour
2
;
# This ensures that counters are reset and makes test scheduling independent
flush
user_resources
;
connect
(
mqph
,
localhost
,
mysqltest_1
,,);
connection
mqph
;
select
*
from
t1
;
...
...
@@ -37,6 +39,7 @@ disconnect mqph2;
# Test of MAX_UPDATES_PER_HOUR limit
grant
usage
on
*.*
to
mysqltest_1
@
localhost
with
max_updates_per_hour
2
;
flush
user_resources
;
connect
(
muph
,
localhost
,
mysqltest_1
,,);
connection
muph
;
select
*
from
t1
;
...
...
@@ -60,6 +63,7 @@ disconnect muph2;
# Test of MAX_CONNECTIONS_PER_HOUR limit
grant
usage
on
*.*
to
mysqltest_1
@
localhost
with
max_connections_per_hour
2
;
flush
user_resources
;
connect
(
mcph1
,
localhost
,
mysqltest_1
,,);
connection
mcph1
;
select
*
from
t1
;
...
...
@@ -86,6 +90,7 @@ drop user mysqltest_1@localhost;
# We need this to reset internal mqh_used variable
flush
privileges
;
grant
usage
on
*.*
to
mysqltest_1
@
localhost
with
max_user_connections
2
;
flush
user_resources
;
connect
(
muc1
,
localhost
,
mysqltest_1
,,);
connection
muc1
;
select
*
from
t1
;
...
...
@@ -102,6 +107,7 @@ select * from t1;
# Changing of limit should also help (and immediately)
connection
default
;
grant
usage
on
*.*
to
mysqltest_1
@
localhost
with
max_user_connections
3
;
flush
user_resources
;
connect
(
muc4
,
localhost
,
mysqltest_1
,,);
connection
muc4
;
select
*
from
t1
;
...
...
@@ -127,6 +133,7 @@ set global max_user_connections= 2;
select
@@
session
.
max_user_connections
,
@@
global
.
max_user_connections
;
# Let us check that global limit works
grant
usage
on
*.*
to
mysqltest_1
@
localhost
;
flush
user_resources
;
connect
(
muca1
,
localhost
,
mysqltest_1
,,);
connection
muca1
;
select
@@
session
.
max_user_connections
,
@@
global
.
max_user_connections
;
...
...
@@ -139,6 +146,7 @@ connect (muca3, localhost, mysqltest_1,,);
# Now we are testing that per-account limit prevails over gloabl limit
connection
default
;
grant
usage
on
*.*
to
mysqltest_1
@
localhost
with
max_user_connections
3
;
flush
user_resources
;
connect
(
muca3
,
localhost
,
mysqltest_1
,,);
connection
muca3
;
select
@@
session
.
max_user_connections
,
@@
global
.
max_user_connections
;
...
...
mysys/my_static.c
View file @
a02c89f3
...
...
@@ -25,6 +25,8 @@
#include "my_alarm.h"
#endif
my_bool
timed_mutexes
=
0
;
/* from my_init */
my_string
home_dir
=
0
,
my_progname
=
0
;
char
NEAR
curr_dir
[
FN_REFLEN
]
=
{
0
},
...
...
sql/mysql_priv.h
View file @
a02c89f3
...
...
@@ -1001,8 +1001,7 @@ extern ulong ha_read_count, ha_discover_count;
extern
ulong
table_cache_size
;
extern
ulong
max_connections
,
max_connect_errors
,
connect_timeout
;
extern
ulong
slave_net_timeout
;
extern
ulong
max_user_connections
;
extern
my_bool
timed_mutexes
;
extern
uint
max_user_connections
;
extern
ulong
what_to_log
,
flush_time
;
extern
ulong
query_buff_size
,
thread_stack
,
thread_stack_min
;
extern
ulong
binlog_cache_size
,
max_binlog_cache_size
,
open_files_limit
;
...
...
sql/mysqld.cc
View file @
a02c89f3
...
...
@@ -333,9 +333,9 @@ ulong delayed_insert_errors,flush_time, thread_created;
ulong
specialflag
=
0
;
ulong
binlog_cache_use
=
0
,
binlog_cache_disk_use
=
0
;
ulong
max_connections
,
max_used_connections
,
max_connect_errors
,
max_user_connections
=
0
;
max_connect_errors
;
uint
max_user_connections
=
0
;
ulong
thread_id
=
1L
,
current_pid
;
my_bool
timed_mutexes
=
0
;
ulong
slow_launch_threads
=
0
,
sync_binlog_period
;
ulong
expire_logs_days
=
0
;
ulong
rpl_recovery_rank
=
0
;
...
...
@@ -5254,8 +5254,8 @@ The minimum value for this variable is 4096.",
REQUIRED_ARG
,
32
,
1
,
~
0L
,
0
,
1
,
0
},
{
"max_user_connections"
,
OPT_MAX_USER_CONNECTIONS
,
"The maximum number of active connections for a single user (0 = no limit)."
,
(
gptr
*
)
&
max_user_connections
,
(
gptr
*
)
&
max_user_connections
,
0
,
GET_U
LONG
,
REQUIRED_ARG
,
0
,
1
,
~
0
L
,
0
,
1
,
0
},
(
gptr
*
)
&
max_user_connections
,
(
gptr
*
)
&
max_user_connections
,
0
,
GET_U
INT
,
REQUIRED_ARG
,
0
,
1
,
~
0
,
0
,
1
,
0
},
{
"max_write_lock_count"
,
OPT_MAX_WRITE_LOCK_COUNT
,
"After this many write locks, allow some read locks to run in between."
,
(
gptr
*
)
&
max_write_lock_count
,
(
gptr
*
)
&
max_write_lock_count
,
0
,
GET_ULONG
,
...
...
sql/set_var.cc
View file @
a02c89f3
...
...
@@ -1601,6 +1601,14 @@ Item *sys_var::item(THD *thd, enum_var_type var_type, LEX_STRING *base)
var_type
=
OPT_GLOBAL
;
}
switch
(
type
())
{
case
SHOW_INT
:
{
uint
value
;
pthread_mutex_lock
(
&
LOCK_global_system_variables
);
value
=
*
(
uint
*
)
value_ptr
(
thd
,
var_type
,
base
);
pthread_mutex_unlock
(
&
LOCK_global_system_variables
);
return
new
Item_uint
((
int32
)
value
);
}
case
SHOW_LONG
:
{
ulong
value
;
...
...
sql/set_var.h
View file @
a02c89f3
...
...
@@ -740,7 +740,7 @@ class sys_var_max_user_conn : public sys_var_thd
return
type
!=
OPT_GLOBAL
||
!
option_limits
;
}
void
set_default
(
THD
*
thd
,
enum_var_type
type
);
SHOW_TYPE
type
()
{
return
SHOW_
LONG
;
}
SHOW_TYPE
type
()
{
return
SHOW_
INT
;
}
byte
*
value_ptr
(
THD
*
thd
,
enum_var_type
type
,
LEX_STRING
*
base
);
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment