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
c198ce2a
Commit
c198ce2a
authored
Mar 21, 2005
by
lars@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge mysql.com:/home/bk/mysql-5.0 into mysql.com:/home/bk/mysql-5.1
parents
4634b7c7
df12e299
Changes
37
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
37 changed files
with
514 additions
and
143 deletions
+514
-143
BitKeeper/etc/logging_ok
BitKeeper/etc/logging_ok
+1
-0
innobase/include/data0type.h
innobase/include/data0type.h
+3
-1
innobase/include/data0type.ic
innobase/include/data0type.ic
+4
-2
man/mysql.1.in
man/mysql.1.in
+1
-1
man/mysql_fix_privilege_tables.1.in
man/mysql_fix_privilege_tables.1.in
+1
-1
man/mysql_zap.1.in
man/mysql_zap.1.in
+1
-1
man/mysqlaccess.1.in
man/mysqlaccess.1.in
+1
-1
man/mysqladmin.1.in
man/mysqladmin.1.in
+1
-1
man/mysqld.1.in
man/mysqld.1.in
+1
-1
man/mysqld_multi.1.in
man/mysqld_multi.1.in
+1
-1
man/mysqld_safe.1.in
man/mysqld_safe.1.in
+1
-1
man/mysqldump.1.in
man/mysqldump.1.in
+1
-1
man/mysqlman.1.in
man/mysqlman.1.in
+1
-1
man/mysqlshow.1.in
man/mysqlshow.1.in
+1
-1
man/perror.1.in
man/perror.1.in
+1
-1
man/replace.1.in
man/replace.1.in
+1
-1
mysql-test/mysql-test-run.sh
mysql-test/mysql-test-run.sh
+6
-6
mysql-test/r/endspace.result
mysql-test/r/endspace.result
+2
-0
mysql-test/r/func_group.result
mysql-test/r/func_group.result
+59
-0
mysql-test/r/grant2.result
mysql-test/r/grant2.result
+22
-6
mysql-test/r/olap.result
mysql-test/r/olap.result
+13
-0
mysql-test/r/sp.result
mysql-test/r/sp.result
+19
-0
mysql-test/r/sp_trans.result
mysql-test/r/sp_trans.result
+12
-12
mysql-test/t/func_group.test
mysql-test/t/func_group.test
+23
-0
mysql-test/t/grant2.test
mysql-test/t/grant2.test
+36
-3
mysql-test/t/olap.test
mysql-test/t/olap.test
+16
-0
mysql-test/t/sp-error.test
mysql-test/t/sp-error.test
+9
-0
mysql-test/t/sp-threads.test
mysql-test/t/sp-threads.test
+11
-1
mysql-test/t/sp.test
mysql-test/t/sp.test
+44
-2
mysql-test/t/sp_trans.test
mysql-test/t/sp_trans.test
+26
-15
sql/my_decimal.h
sql/my_decimal.h
+1
-1
sql/sp_head.cc
sql/sp_head.cc
+1
-0
sql/sql_acl.h
sql/sql_acl.h
+2
-0
sql/sql_parse.cc
sql/sql_parse.cc
+28
-8
sql/sql_select.cc
sql/sql_select.cc
+34
-23
support-files/mysql.spec.sh
support-files/mysql.spec.sh
+6
-3
tests/mysql_client_test.c
tests/mysql_client_test.c
+123
-47
No files found.
BitKeeper/etc/logging_ok
View file @
c198ce2a
...
@@ -49,6 +49,7 @@ dlenev@jabberwock.localdomain
...
@@ -49,6 +49,7 @@ dlenev@jabberwock.localdomain
dlenev@mysql.com
dlenev@mysql.com
ejonore@mc03.ndb.mysql.com
ejonore@mc03.ndb.mysql.com
gbichot@quadita2.mysql.com
gbichot@quadita2.mysql.com
gbichot@quadxeon.mysql.com
georg@beethoven.local
georg@beethoven.local
georg@beethoven.site
georg@beethoven.site
georg@lmy002.wdf.sap.corp
georg@lmy002.wdf.sap.corp
...
...
innobase/include/data0type.h
View file @
c198ce2a
...
@@ -36,7 +36,9 @@ extern dtype_t* dtype_binary;
...
@@ -36,7 +36,9 @@ extern dtype_t* dtype_binary;
#define DATA_BLOB 5
/* binary large object, or a TEXT type;
#define DATA_BLOB 5
/* binary large object, or a TEXT type;
if prtype & DATA_BINARY_TYPE == 0, then this is
if prtype & DATA_BINARY_TYPE == 0, then this is
actually a TEXT column (or a BLOB created
actually a TEXT column (or a BLOB created
with < 4.0.14) */
with < 4.0.14; since column prefix indexes
came only in 4.0.14, the missing flag in BLOBs
created before that does not cause any harm) */
#define DATA_INT 6
/* integer: can be any size 1 - 8 bytes */
#define DATA_INT 6
/* integer: can be any size 1 - 8 bytes */
#define DATA_SYS_CHILD 7
/* address of the child page in node pointer */
#define DATA_SYS_CHILD 7
/* address of the child page in node pointer */
#define DATA_SYS 8
/* system column */
#define DATA_SYS 8
/* system column */
...
...
innobase/include/data0type.ic
View file @
c198ce2a
...
@@ -195,10 +195,12 @@ dtype_get_pad_char(
...
@@ -195,10 +195,12 @@ dtype_get_pad_char(
|| type->mtype == DATA_BINARY
|| type->mtype == DATA_BINARY
|| type->mtype == DATA_FIXBINARY
|| type->mtype == DATA_FIXBINARY
|| type->mtype == DATA_MYSQL
|| type->mtype == DATA_MYSQL
|| type->mtype == DATA_VARMYSQL) {
|| type->mtype == DATA_VARMYSQL
|| (type->mtype == DATA_BLOB
&& (type->prtype & DATA_BINARY_TYPE) == 0)) {
/* Space is the padding character for all char and binary
/* Space is the padding character for all char and binary
strings */
strings
, and starting from 5.0.3, also for TEXT strings.
*/
return((ulint)' ');
return((ulint)' ');
}
}
...
...
man/mysql.1.in
View file @
c198ce2a
...
@@ -145,7 +145,7 @@ replace(1)
...
@@ -145,7 +145,7 @@ replace(1)
.P
.P
For more information please refer to the MySQL reference
For more information please refer to the MySQL reference
manual, which may already be installed locally and which
manual, which may already be installed locally and which
is also available online at http://
www.mysql.com/doc/en/
is also available online at http://
dev.mysql.com/doc/mysql/en
.SH BUGS
.SH BUGS
Please refer to http://bugs.mysql.com/ to report bugs.
Please refer to http://bugs.mysql.com/ to report bugs.
.SH AUTHOR
.SH AUTHOR
...
...
man/mysql_fix_privilege_tables.1.in
View file @
c198ce2a
...
@@ -30,7 +30,7 @@ replace(1)
...
@@ -30,7 +30,7 @@ replace(1)
.P
.P
For more information please refer to the MySQL reference
For more information please refer to the MySQL reference
manual, which may already be installed locally and which
manual, which may already be installed locally and which
is also available online at http://
www.mysql.com/doc/en/
is also available online at http://
dev.mysql.com/doc/mysql/en
.SH BUGS
.SH BUGS
Please refer to http://bugs.mysql.com/ to report bugs.
Please refer to http://bugs.mysql.com/ to report bugs.
.SH AUTHOR
.SH AUTHOR
...
...
man/mysql_zap.1.in
View file @
c198ce2a
...
@@ -44,7 +44,7 @@ replace(1)
...
@@ -44,7 +44,7 @@ replace(1)
.P
.P
For more information please refer to the MySQL reference
For more information please refer to the MySQL reference
manual, which may already be installed locally and which
manual, which may already be installed locally and which
is also available online at http://
www.mysql.com/doc/en/
is also available online at http://
dev.mysql.com/doc/mysql/en
.SH BUGS
.SH BUGS
Please refer to http://bugs.mysql.com/ to report bugs.
Please refer to http://bugs.mysql.com/ to report bugs.
.SH AUTHOR
.SH AUTHOR
...
...
man/mysqlaccess.1.in
View file @
c198ce2a
...
@@ -110,7 +110,7 @@ replace(1)
...
@@ -110,7 +110,7 @@ replace(1)
.P
.P
For more information please refer to the MySQL reference
For more information please refer to the MySQL reference
manual, which may already be installed locally and which
manual, which may already be installed locally and which
is also available online at http://
www.mysql.com/doc/en/
is also available online at http://
dev.mysql.com/doc/mysql/en
.SH BUGS
.SH BUGS
Please refer to http://bugs.mysql.com/ to report bugs.
Please refer to http://bugs.mysql.com/ to report bugs.
.SH AUTHOR
.SH AUTHOR
...
...
man/mysqladmin.1.in
View file @
c198ce2a
...
@@ -194,7 +194,7 @@ replace(1)
...
@@ -194,7 +194,7 @@ replace(1)
.P
.P
For more information please refer to the MySQL reference
For more information please refer to the MySQL reference
manual, which may already be installed locally and which
manual, which may already be installed locally and which
is also available online at http://
www.mysql.com/doc/en/
is also available online at http://
dev.mysql.com/doc/mysql/en
.SH BUGS
.SH BUGS
Please refer to http://bugs.mysql.com/ to report bugs.
Please refer to http://bugs.mysql.com/ to report bugs.
.SH AUTHOR
.SH AUTHOR
...
...
man/mysqld.1.in
View file @
c198ce2a
...
@@ -219,7 +219,7 @@ replace(1)
...
@@ -219,7 +219,7 @@ replace(1)
.P
.P
For more information please refer to the MySQL reference
For more information please refer to the MySQL reference
manual, which may already be installed locally and which
manual, which may already be installed locally and which
is also available online at http://
www.mysql.com/doc/en/
is also available online at http://
dev.mysql.com/doc/mysql/en
.SH BUGS
.SH BUGS
Please refer to http://bugs.mysql.com/ to report bugs.
Please refer to http://bugs.mysql.com/ to report bugs.
.SH AUTHOR
.SH AUTHOR
...
...
man/mysqld_multi.1.in
View file @
c198ce2a
...
@@ -74,7 +74,7 @@ replace(1)
...
@@ -74,7 +74,7 @@ replace(1)
.P
.P
For more information please refer to the MySQL reference
For more information please refer to the MySQL reference
manual, which may already be installed locally and which
manual, which may already be installed locally and which
is also available online at http://
www.mysql.com/doc/en/
is also available online at http://
dev.mysql.com/doc/mysql/en
.SH BUGS
.SH BUGS
Please refer to http://bugs.mysql.com/ to report bugs.
Please refer to http://bugs.mysql.com/ to report bugs.
...
...
man/mysqld_safe.1.in
View file @
c198ce2a
...
@@ -76,7 +76,7 @@ replace(1)
...
@@ -76,7 +76,7 @@ replace(1)
.P
.P
For more information please refer to the MySQL reference
For more information please refer to the MySQL reference
manual, which may already be installed locally and which
manual, which may already be installed locally and which
is also available online at http://
www.mysql.com/doc/en/
is also available online at http://
dev.mysql.com/doc/mysql/en
.SH BUGS
.SH BUGS
Please refer to http://bugs.mysql.com/ to report bugs.
Please refer to http://bugs.mysql.com/ to report bugs.
.SH AUTHOR
.SH AUTHOR
...
...
man/mysqldump.1.in
View file @
c198ce2a
...
@@ -263,7 +263,7 @@ replace(1)
...
@@ -263,7 +263,7 @@ replace(1)
.P
.P
For more information please refer to the MySQL reference
For more information please refer to the MySQL reference
manual, which may already be installed locally and which
manual, which may already be installed locally and which
is also available online at http://
www.mysql.com/doc/en/
is also available online at http://
dev.mysql.com/doc/mysql/en
.SH BUGS
.SH BUGS
Please refer to http://bugs.mysql.com/ to report bugs.
Please refer to http://bugs.mysql.com/ to report bugs.
.SH AUTHOR
.SH AUTHOR
...
...
man/mysqlman.1.in
View file @
c198ce2a
...
@@ -9,7 +9,7 @@ In most cases, you can run the executable from the command line with a "--help"
...
@@ -9,7 +9,7 @@ In most cases, you can run the executable from the command line with a "--help"
argument to display a brief summary of the executable's arguments and function.
argument to display a brief summary of the executable's arguments and function.
For more information about MySQL, please refer to the MySQL reference manual,
For more information about MySQL, please refer to the MySQL reference manual,
which may already be installed locally and which is also available online at
which may already be installed locally and which is also available online at
http://dev.mysql.com/doc/
http://dev.mysql.com/doc/
mysql/en
.SH BUGS
.SH BUGS
Please refer to http://bugs.mysql.com/ to report bugs.
Please refer to http://bugs.mysql.com/ to report bugs.
.\" end of man page
.\" end of man page
man/mysqlshow.1.in
View file @
c198ce2a
...
@@ -83,7 +83,7 @@ replace(1)
...
@@ -83,7 +83,7 @@ replace(1)
.P
.P
For more information please refer to the MySQL reference
For more information please refer to the MySQL reference
manual, which may already be installed locally and which
manual, which may already be installed locally and which
is also available online at http://
www.mysql.com/doc/en/
is also available online at http://
dev.mysql.com/doc/mysql/en
.SH BUGS
.SH BUGS
Please refer to http://bugs.mysql.com/ to report bugs.
Please refer to http://bugs.mysql.com/ to report bugs.
.SH AUTHOR
.SH AUTHOR
...
...
man/perror.1.in
View file @
c198ce2a
...
@@ -43,7 +43,7 @@ replace(1)
...
@@ -43,7 +43,7 @@ replace(1)
.P
.P
For more information please refer to the MySQL reference
For more information please refer to the MySQL reference
manual, which may already be installed locally and which
manual, which may already be installed locally and which
is also available online at http://
www.mysql.com/doc/en/
is also available online at http://
dev.mysql.com/doc/mysql/en
.SH BUGS
.SH BUGS
Please refer to http://bugs.mysql.com/ to report bugs.
Please refer to http://bugs.mysql.com/ to report bugs.
.SH AUTHOR
.SH AUTHOR
...
...
man/replace.1.in
View file @
c198ce2a
...
@@ -57,7 +57,7 @@ perror(1),
...
@@ -57,7 +57,7 @@ perror(1),
.P
.P
For more information please refer to the MySQL reference
For more information please refer to the MySQL reference
manual, which may already be installed locally and which
manual, which may already be installed locally and which
is also available online at http://
www.mysql.com/doc/en/
is also available online at http://
dev.mysql.com/doc/mysql/en
.SH BUGS
.SH BUGS
Please refer to http://bugs.mysql.com/ to report bugs.
Please refer to http://bugs.mysql.com/ to report bugs.
.SH AUTHOR
.SH AUTHOR
...
...
mysql-test/mysql-test-run.sh
View file @
c198ce2a
...
@@ -1535,12 +1535,12 @@ run_testcase ()
...
@@ -1535,12 +1535,12 @@ run_testcase ()
return
return
fi
fi
if
[
-f
"
$TESTDIR
/
$tname
.disabled"
]
#
if [ -f "$TESTDIR/$tname.disabled" ]
then
#
then
comment
=
`
$CAT
$TESTDIR
/
$tname
.disabled
`
;
#
comment=`$CAT $TESTDIR/$tname.disabled`;
disable_test
$tname
"
$comment
"
#
disable_test $tname "$comment"
return
#
return
fi
#
fi
if
[
-f
"
$TESTDIR
/disabled.def"
]
;
then
if
[
-f
"
$TESTDIR
/disabled.def"
]
;
then
comment
=
`
$GREP
"^
$tname
*: *"
$TESTDIR
/disabled.def
`
;
comment
=
`
$GREP
"^
$tname
*: *"
$TESTDIR
/disabled.def
`
;
if
[
-n
"
$comment
"
]
if
[
-n
"
$comment
"
]
...
...
mysql-test/r/endspace.result
View file @
c198ce2a
...
@@ -201,10 +201,12 @@ teststring
...
@@ -201,10 +201,12 @@ teststring
select text1, length(text1) from t1 where text1='teststring' or text1 like 'teststring_%';
select text1, length(text1) from t1 where text1='teststring' or text1 like 'teststring_%';
text1 length(text1)
text1 length(text1)
teststring 11
teststring 11
teststring 10
teststring 11
teststring 11
select text1, length(text1) from t1 where text1='teststring' or text1 >= 'teststring\t';
select text1, length(text1) from t1 where text1='teststring' or text1 >= 'teststring\t';
text1 length(text1)
text1 length(text1)
teststring 11
teststring 11
teststring 10
teststring 11
teststring 11
select concat('|', text1, '|') from t1 order by text1;
select concat('|', text1, '|') from t1 order by text1;
concat('|', text1, '|')
concat('|', text1, '|')
...
...
mysql-test/r/func_group.result
View file @
c198ce2a
...
@@ -888,3 +888,62 @@ SELECT COUNT(DISTINCT a) FROM t1;
...
@@ -888,3 +888,62 @@ SELECT COUNT(DISTINCT a) FROM t1;
COUNT(DISTINCT a)
COUNT(DISTINCT a)
2
2
DROP TABLE t1;
DROP TABLE t1;
CREATE TABLE t1 (a int, b int, c int);
INSERT INTO t1 (a, b, c) VALUES
(1,1,1), (1,1,2), (1,1,3),
(1,2,1), (1,2,2), (1,2,3),
(1,3,1), (1,3,2), (1,3,3),
(2,1,1), (2,1,2), (2,1,3),
(2,2,1), (2,2,2), (2,2,3),
(2,3,1), (2,3,2), (2,3,3),
(3,1,1), (3,1,2), (3,1,3),
(3,2,1), (3,2,2), (3,2,3),
(3,3,1), (3,3,2), (3,3,3);
SELECT b/c as v, a FROM t1 ORDER BY v;
v a
0.33333 3
0.33333 1
0.33333 2
0.50000 1
0.50000 2
0.50000 3
0.66667 2
0.66667 1
0.66667 3
1.00000 3
1.00000 2
1.00000 3
1.00000 1
1.00000 2
1.00000 3
1.00000 2
1.00000 1
1.00000 1
1.50000 3
1.50000 2
1.50000 1
2.00000 1
2.00000 3
2.00000 2
3.00000 3
3.00000 2
3.00000 1
SELECT b/c as v, SUM(a) FROM t1 GROUP BY v;
v SUM(a)
0.33333 6
0.50000 6
0.66667 6
1.00000 18
1.50000 6
2.00000 6
3.00000 6
SELECT SUM(a) FROM t1 GROUP BY b/c;
SUM(a)
6
6
6
18
6
6
6
DROP TABLE t1;
mysql-test/r/grant2.result
View file @
c198ce2a
...
@@ -5,6 +5,23 @@ delete from mysql.db where user like 'mysqltest\_%';
...
@@ -5,6 +5,23 @@ delete from mysql.db where user like 'mysqltest\_%';
delete from mysql.tables_priv where user like 'mysqltest\_%';
delete from mysql.tables_priv where user like 'mysqltest\_%';
delete from mysql.columns_priv where user like 'mysqltest\_%';
delete from mysql.columns_priv where user like 'mysqltest\_%';
flush privileges;
flush privileges;
grant all privileges on `my\_1`.* to mysqltest_1@localhost with grant option;
create user mysqltest_2@localhost;
grant select on `my\_1`.* to mysqltest_2@localhost;
grant select on `my\_1`.* to mysqltest_2@localhost identified by 'pass';
ERROR 42000: You must have privileges to update tables in the mysql database to be able to change passwords for others
grant update on mysql.* to mysqltest_1@localhost;
grant select on `my\_1`.* to mysqltest_2@localhost identified by 'pass';
grant select on `my\_1`.* to mysqltest_3@localhost;
ERROR 42000: 'mysqltest_1'@'localhost' is not allowed to create new users
grant insert on mysql.* to mysqltest_1@localhost;
grant select on `my\_1`.* to mysqltest_3@localhost;
grant select on `my\_1`.* to mysqltest_4@localhost identified by 'pass';
delete from mysql.user where user like 'mysqltest\_%';
delete from mysql.db where user like 'mysqltest\_%';
delete from mysql.tables_priv where user like 'mysqltest\_%';
delete from mysql.columns_priv where user like 'mysqltest\_%';
flush privileges;
grant all privileges on `my\_%`.* to mysqltest_1@localhost with grant option;
grant all privileges on `my\_%`.* to mysqltest_1@localhost with grant option;
select current_user();
select current_user();
current_user()
current_user()
...
@@ -13,6 +30,7 @@ select current_user;
...
@@ -13,6 +30,7 @@ select current_user;
current_user
current_user
mysqltest_1@localhost
mysqltest_1@localhost
grant all privileges on `my\_1`.* to mysqltest_2@localhost with grant option;
grant all privileges on `my\_1`.* to mysqltest_2@localhost with grant option;
ERROR 42000: 'mysqltest_1'@'localhost' is not allowed to create new users
grant all privileges on `my_%`.* to mysqltest_3@localhost with grant option;
grant all privileges on `my_%`.* to mysqltest_3@localhost with grant option;
ERROR 42000: Access denied for user 'mysqltest_1'@'localhost' to database 'my_%'
ERROR 42000: Access denied for user 'mysqltest_1'@'localhost' to database 'my_%'
set @@sql_mode='NO_AUTO_CREATE_USER';
set @@sql_mode='NO_AUTO_CREATE_USER';
...
@@ -23,15 +41,13 @@ grant select on `my\_1`.* to mysqltest_4@localhost with grant option;
...
@@ -23,15 +41,13 @@ grant select on `my\_1`.* to mysqltest_4@localhost with grant option;
ERROR 42000: 'mysqltest_1'@'localhost' is not allowed to create new users
ERROR 42000: 'mysqltest_1'@'localhost' is not allowed to create new users
grant select on `my\_1`.* to mysqltest_4@localhost identified by 'mypass'
grant select on `my\_1`.* to mysqltest_4@localhost identified by 'mypass'
with grant option;
with grant option;
ERROR 42000:
Access denied for user 'mysqltest_1'@'localhost' to database 'mysql'
ERROR 42000:
'mysqltest_1'@'localhost' is not allowed to create new users
show grants for mysqltest_1@localhost;
show grants for mysqltest_1@localhost;
Grants for mysqltest_1@localhost
Grants for mysqltest_1@localhost
GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
GRANT USAGE ON *.* TO 'mysqltest_1'@'localhost'
GRANT ALL PRIVILEGES ON `my\_%`.* TO 'mysqltest_1'@'localhost' WITH GRANT OPTION
GRANT ALL PRIVILEGES ON `my\_%`.* TO 'mysqltest_1'@'localhost' WITH GRANT OPTION
show grants for mysqltest_2@localhost;
show grants for mysqltest_2@localhost;
Grants for mysqltest_2@localhost
ERROR 42000: There is no such grant defined for user 'mysqltest_2' on host 'localhost'
GRANT USAGE ON *.* TO 'mysqltest_2'@'localhost'
GRANT ALL PRIVILEGES ON `my\_1`.* TO 'mysqltest_2'@'localhost' WITH GRANT OPTION
show grants for mysqltest_3@localhost;
show grants for mysqltest_3@localhost;
ERROR 42000: There is no such grant defined for user 'mysqltest_3' on host 'localhost'
ERROR 42000: There is no such grant defined for user 'mysqltest_3' on host 'localhost'
delete from mysql.user where user like 'mysqltest\_%';
delete from mysql.user where user like 'mysqltest\_%';
...
@@ -61,9 +77,9 @@ flush privileges;
...
@@ -61,9 +77,9 @@ flush privileges;
create table t1 (a int, b int);
create table t1 (a int, b int);
grant select (a) on t1 to mysqltest_1@localhost with grant option;
grant select (a) on t1 to mysqltest_1@localhost with grant option;
grant select (a,b) on t1 to mysqltest_2@localhost;
grant select (a,b) on t1 to mysqltest_2@localhost;
ERROR 42000:
SELECT command denied to user 'mysqltest_1'@'localhost' for column 'b' in table 't1'
ERROR 42000:
'mysqltest_1'@'localhost' is not allowed to create new users
grant select on t1 to mysqltest_3@localhost;
grant select on t1 to mysqltest_3@localhost;
ERROR 42000:
SELECT command denied to user 'mysqltest_1'@'localhost' for table 't1'
ERROR 42000:
'mysqltest_1'@'localhost' is not allowed to create new users
drop table t1;
drop table t1;
delete from mysql.user where user like 'mysqltest\_%';
delete from mysql.user where user like 'mysqltest\_%';
delete from mysql.db where user like 'mysqltest\_%';
delete from mysql.db where user like 'mysqltest\_%';
...
...
mysql-test/r/olap.result
View file @
c198ce2a
...
@@ -379,3 +379,16 @@ a sum(b)
...
@@ -379,3 +379,16 @@ a sum(b)
4 4
4 4
NULL 14
NULL 14
DROP TABLE t1;
DROP TABLE t1;
CREATE TABLE t1 (a int, b int);
INSERT INTO t1 VALUES
(1,4),
(2,2), (2,2),
(4,1), (4,1), (4,1), (4,1),
(2,1), (2,1);
SELECT a, SUM(b) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1;
a SUM(b)
1 4
SELECT SQL_CALC_FOUND_ROWS a, SUM(b) FROM t1 GROUP BY a WITH ROLLUP LIMIT 1;
a SUM(b)
1 4
DROP TABLE t1;
mysql-test/r/sp.result
View file @
c198ce2a
...
@@ -2777,4 +2777,23 @@ a
...
@@ -2777,4 +2777,23 @@ a
3.2000
3.2000
drop procedure bug8937|
drop procedure bug8937|
delete from t1|
delete from t1|
drop procedure if exists bug6600|
drop table if exists t3|
drop view if exists v1|
create table t3 (s1 decimal(31,30))|
create view v1 as select * from t3|
create procedure bug6600()
check table v1|
call bug6600()|
Table Op Msg_type Msg_text
test.v1 check status OK
call bug6600()|
Table Op Msg_type Msg_text
test.v1 check status OK
call bug6600()|
Table Op Msg_type Msg_text
test.v1 check status OK
drop procedure bug6600|
drop view v1|
drop table t3|
drop table t1,t2;
drop table t1,t2;
mysql-test/r/sp_trans.result
View file @
c198ce2a
drop procedure if exists
sp1;
drop procedure if exists
bug8850|
create table t1 (a int) engine=innodb|
create table t1 (a int) engine=innodb|
create procedure
sp1
()
create procedure
bug8850
()
begin
begin
truncate table t1; insert t1 values (1); rollback;
truncate table t1; insert t1 values (1); rollback;
end|
end|
set autocommit=0
;
set autocommit=0
|
insert t1 values (2)
;
insert t1 values (2)
|
call
sp1();
call
bug8850()|
ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
commit
;
commit
|
select * from t1
;
select * from t1
|
a
a
2
2
call
sp1();
call
bug8850()|
ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
set autocommit=1
;
set autocommit=1
|
select * from t1
;
select * from t1
|
a
a
2
2
drop table t1
;
drop table t1
|
drop procedure
sp1;
drop procedure
bug8850|
mysql-test/t/func_group.test
View file @
c198ce2a
...
@@ -601,3 +601,26 @@ INSERT INTO t1 (a) VALUES ("A"), ("a"), ("a "), ("a "),
...
@@ -601,3 +601,26 @@ INSERT INTO t1 (a) VALUES ("A"), ("a"), ("a "), ("a "),
(
"B"
),
(
"b"
),
(
"b "
),
(
"b "
);
(
"B"
),
(
"b"
),
(
"b "
),
(
"b "
);
SELECT
COUNT
(
DISTINCT
a
)
FROM
t1
;
SELECT
COUNT
(
DISTINCT
a
)
FROM
t1
;
DROP
TABLE
t1
;
DROP
TABLE
t1
;
#
# Test for buf #9210: GROUP BY with expression if a decimal type
#
CREATE
TABLE
t1
(
a
int
,
b
int
,
c
int
);
INSERT
INTO
t1
(
a
,
b
,
c
)
VALUES
(
1
,
1
,
1
),
(
1
,
1
,
2
),
(
1
,
1
,
3
),
(
1
,
2
,
1
),
(
1
,
2
,
2
),
(
1
,
2
,
3
),
(
1
,
3
,
1
),
(
1
,
3
,
2
),
(
1
,
3
,
3
),
(
2
,
1
,
1
),
(
2
,
1
,
2
),
(
2
,
1
,
3
),
(
2
,
2
,
1
),
(
2
,
2
,
2
),
(
2
,
2
,
3
),
(
2
,
3
,
1
),
(
2
,
3
,
2
),
(
2
,
3
,
3
),
(
3
,
1
,
1
),
(
3
,
1
,
2
),
(
3
,
1
,
3
),
(
3
,
2
,
1
),
(
3
,
2
,
2
),
(
3
,
2
,
3
),
(
3
,
3
,
1
),
(
3
,
3
,
2
),
(
3
,
3
,
3
);
SELECT
b
/
c
as
v
,
a
FROM
t1
ORDER
BY
v
;
SELECT
b
/
c
as
v
,
SUM
(
a
)
FROM
t1
GROUP
BY
v
;
SELECT
SUM
(
a
)
FROM
t1
GROUP
BY
b
/
c
;
DROP
TABLE
t1
;
mysql-test/t/grant2.test
View file @
c198ce2a
...
@@ -17,6 +17,36 @@ delete from mysql.columns_priv where user like 'mysqltest\_%';
...
@@ -17,6 +17,36 @@ delete from mysql.columns_priv where user like 'mysqltest\_%';
flush
privileges
;
flush
privileges
;
grant
all
privileges
on
`my\_1`
.*
to
mysqltest_1
@
localhost
with
grant
option
;
create
user
mysqltest_2
@
localhost
;
connect
(
user_a
,
localhost
,
mysqltest_1
,,);
connection
user_a
;
grant
select
on
`my\_1`
.*
to
mysqltest_2
@
localhost
;
--
error
1132
grant
select
on
`my\_1`
.*
to
mysqltest_2
@
localhost
identified
by
'pass'
;
disconnect
user_a
;
connection
default
;
grant
update
on
mysql
.*
to
mysqltest_1
@
localhost
;
connect
(
user_b
,
localhost
,
mysqltest_1
,,);
connection
user_b
;
grant
select
on
`my\_1`
.*
to
mysqltest_2
@
localhost
identified
by
'pass'
;
--
error
1211
grant
select
on
`my\_1`
.*
to
mysqltest_3
@
localhost
;
disconnect
user_b
;
connection
default
;
grant
insert
on
mysql
.*
to
mysqltest_1
@
localhost
;
connect
(
user_c
,
localhost
,
mysqltest_1
,,);
connection
user_c
;
grant
select
on
`my\_1`
.*
to
mysqltest_3
@
localhost
;
grant
select
on
`my\_1`
.*
to
mysqltest_4
@
localhost
identified
by
'pass'
;
disconnect
user_c
;
connection
default
;
delete
from
mysql
.
user
where
user
like
'mysqltest\_%'
;
delete
from
mysql
.
db
where
user
like
'mysqltest\_%'
;
delete
from
mysql
.
tables_priv
where
user
like
'mysqltest\_%'
;
delete
from
mysql
.
columns_priv
where
user
like
'mysqltest\_%'
;
flush
privileges
;
#
#
# wild_compare fun
# wild_compare fun
#
#
...
@@ -26,9 +56,11 @@ connect (user1,localhost,mysqltest_1,,);
...
@@ -26,9 +56,11 @@ connect (user1,localhost,mysqltest_1,,);
connection
user1
;
connection
user1
;
select
current_user
();
select
current_user
();
select
current_user
;
select
current_user
;
--
error
1211
grant
all
privileges
on
`my\_1`
.*
to
mysqltest_2
@
localhost
with
grant
option
;
grant
all
privileges
on
`my\_1`
.*
to
mysqltest_2
@
localhost
with
grant
option
;
--
error
1044
--
error
1044
grant
all
privileges
on
`my_%`
.*
to
mysqltest_3
@
localhost
with
grant
option
;
grant
all
privileges
on
`my_%`
.*
to
mysqltest_3
@
localhost
with
grant
option
;
#
#
# NO_AUTO_CREATE_USER mode
# NO_AUTO_CREATE_USER mode
#
#
...
@@ -36,12 +68,13 @@ set @@sql_mode='NO_AUTO_CREATE_USER';
...
@@ -36,12 +68,13 @@ set @@sql_mode='NO_AUTO_CREATE_USER';
select
@@
sql_mode
;
select
@@
sql_mode
;
--
error
1211
--
error
1211
grant
select
on
`my\_1`
.*
to
mysqltest_4
@
localhost
with
grant
option
;
grant
select
on
`my\_1`
.*
to
mysqltest_4
@
localhost
with
grant
option
;
--
error
1
044
--
error
1
211
grant
select
on
`my\_1`
.*
to
mysqltest_4
@
localhost
identified
by
'mypass'
grant
select
on
`my\_1`
.*
to
mysqltest_4
@
localhost
identified
by
'mypass'
with
grant
option
;
with
grant
option
;
disconnect
user1
;
disconnect
user1
;
connection
default
;
connection
default
;
show
grants
for
mysqltest_1
@
localhost
;
show
grants
for
mysqltest_1
@
localhost
;
--
error
1141
show
grants
for
mysqltest_2
@
localhost
;
show
grants
for
mysqltest_2
@
localhost
;
--
error
1141
--
error
1141
show
grants
for
mysqltest_3
@
localhost
;
show
grants
for
mysqltest_3
@
localhost
;
...
@@ -83,9 +116,9 @@ create table t1 (a int, b int);
...
@@ -83,9 +116,9 @@ create table t1 (a int, b int);
grant
select
(
a
)
on
t1
to
mysqltest_1
@
localhost
with
grant
option
;
grant
select
(
a
)
on
t1
to
mysqltest_1
@
localhost
with
grant
option
;
connect
(
mrugly
,
localhost
,
mysqltest_1
,,
mysqltest
);
connect
(
mrugly
,
localhost
,
mysqltest_1
,,
mysqltest
);
connection
mrugly
;
connection
mrugly
;
--
error
1
143
--
error
1
211
grant
select
(
a
,
b
)
on
t1
to
mysqltest_2
@
localhost
;
grant
select
(
a
,
b
)
on
t1
to
mysqltest_2
@
localhost
;
--
error
1
142
--
error
1
211
grant
select
on
t1
to
mysqltest_3
@
localhost
;
grant
select
on
t1
to
mysqltest_3
@
localhost
;
disconnect
mrugly
;
disconnect
mrugly
;
...
...
mysql-test/t/olap.test
View file @
c198ce2a
...
@@ -155,3 +155,19 @@ SELECT DISTINCT a, sum(b) FROM t1 GROUP BY a,b WITH ROLLUP;
...
@@ -155,3 +155,19 @@ SELECT DISTINCT a, sum(b) FROM t1 GROUP BY a,b WITH ROLLUP;
DROP
TABLE
t1
;
DROP
TABLE
t1
;
#
# Tests for bugs #8617: SQL_CACL_FOUND_ROWS with rollup and limit
#
CREATE
TABLE
t1
(
a
int
,
b
int
);
INSERT
INTO
t1
VALUES
(
1
,
4
),
(
2
,
2
),
(
2
,
2
),
(
4
,
1
),
(
4
,
1
),
(
4
,
1
),
(
4
,
1
),
(
2
,
1
),
(
2
,
1
);
SELECT
a
,
SUM
(
b
)
FROM
t1
GROUP
BY
a
WITH
ROLLUP
LIMIT
1
;
SELECT
SQL_CALC_FOUND_ROWS
a
,
SUM
(
b
)
FROM
t1
GROUP
BY
a
WITH
ROLLUP
LIMIT
1
;
DROP
TABLE
t1
;
mysql-test/t/sp-error.test
View file @
c198ce2a
...
@@ -680,6 +680,15 @@ begin
...
@@ -680,6 +680,15 @@ begin
end
|
end
|
#
# BUG#NNNN: New bug synopsis
#
#--disable_warnings
#drop procedure if exists bugNNNN|
#--enable_warnings
#create procedure bugNNNN...
drop
table
t1
|
drop
table
t1
|
delimiter
;
|
delimiter
;
|
mysql-test/t/sp-threads.test
View file @
c198ce2a
#
#
# Testing stored procedures with multiple connections
# Testing stored procedures with multiple connections,
# except security/privilege tests, they go to sp-security.test
#
#
connect
(
con1root
,
localhost
,
root
,,);
connect
(
con1root
,
localhost
,
root
,,);
...
@@ -52,3 +53,12 @@ connection con1root;
...
@@ -52,3 +53,12 @@ connection con1root;
drop
table
t1
;
drop
table
t1
;
drop
procedure
bug4934
;
drop
procedure
bug4934
;
#
# BUG#NNNN: New bug synopsis
#
#--disable_warnings
#drop procedure if exists bugNNNN;
#--enable_warnings
#create procedure bugNNNN...
mysql-test/t/sp.test
View file @
c198ce2a
...
@@ -4,11 +4,22 @@
...
@@ -4,11 +4,22 @@
# Please keep this file free of --error cases and other
# Please keep this file free of --error cases and other
# things that will not run in a single debugged mysqld
# things that will not run in a single debugged mysqld
# process (e.g. master-slave things).
# process (e.g. master-slave things).
#
--
source
include
/
have_innodb
.
inc
# Test cases for bugs are added at the end. See template there.
#
# Tests that require --error go into sp-error.test
# Tests that require inndb go into sp_trans.test
# Tests that check privilege and security issues go to sp-security.test.
# Tests that require multiple connections, except security/privilege tests,
# go to sp-thread.
use
test
;
use
test
;
# Test tables
#
# t1 and t2 are reused throughout the file, and dropped at the end.
# t3 and up are created and dropped when needed.
#
--
disable_warnings
--
disable_warnings
drop
table
if
exists
t1
;
drop
table
if
exists
t1
;
--
enable_warnings
--
enable_warnings
...
@@ -3387,6 +3398,37 @@ drop procedure bug8937|
...
@@ -3387,6 +3398,37 @@ drop procedure bug8937|
delete
from
t1
|
delete
from
t1
|
#
# BUG#6600: Stored procedure crash after repeated calls with check table
#
--
disable_warnings
drop
procedure
if
exists
bug6600
|
drop
table
if
exists
t3
|
drop
view
if
exists
v1
|
--
enable_warnings
create
table
t3
(
s1
decimal
(
31
,
30
))
|
create
view
v1
as
select
*
from
t3
|
create
procedure
bug6600
()
check
table
v1
|
call
bug6600
()
|
call
bug6600
()
|
call
bug6600
()
|
drop
procedure
bug6600
|
drop
view
v1
|
drop
table
t3
|
#
# BUG#NNNN: New bug synopsis
#
#--disable_warnings
#drop procedure if exists bugNNNN|
#--enable_warnings
#create procedure bugNNNN...
# Add bugs above this line. Use existing tables t1 and t2 when
# Add bugs above this line. Use existing tables t1 and t2 when
# practical, or create table t3, t3 etc temporarily (and drop them).
# practical, or create table t3, t3 etc temporarily (and drop them).
delimiter
;
|
delimiter
;
|
...
...
mysql-test/t/sp_trans.test
View file @
c198ce2a
...
@@ -4,32 +4,43 @@
...
@@ -4,32 +4,43 @@
--
source
include
/
have_innodb
.
inc
--
source
include
/
have_innodb
.
inc
delimiter
|
;
#
#
# BUG#8850
# BUG#8850
: Truncate table in a stored procedure locks the tables
#
#
--
disable_warnings
--
disable_warnings
drop
procedure
if
exists
sp1
;
drop
procedure
if
exists
bug8850
|
--
enable_warnings
--
enable_warnings
delimiter
|
;
create
table
t1
(
a
int
)
engine
=
innodb
|
create
table
t1
(
a
int
)
engine
=
innodb
|
create
procedure
sp1
()
create
procedure
bug8850
()
begin
begin
truncate
table
t1
;
insert
t1
values
(
1
);
rollback
;
truncate
table
t1
;
insert
t1
values
(
1
);
rollback
;
end
|
end
|
delimiter
;
|
set
autocommit
=
0
;
set
autocommit
=
0
|
insert
t1
values
(
2
)
;
insert
t1
values
(
2
)
|
--
error
1192
--
error
1192
call
sp1
();
call
bug8850
()
|
commit
;
commit
|
select
*
from
t1
;
select
*
from
t1
|
#
#
# when CALL will be fixed to not start a transaction, the error should
# when CALL will be fixed to not start a transaction, the error should
# go away
# go away
--
error
1192
--
error
1192
call
sp1
();
call
bug8850
()
|
set
autocommit
=
1
;
set
autocommit
=
1
|
select
*
from
t1
;
select
*
from
t1
|
drop
table
t1
;
drop
table
t1
|
drop
procedure
sp1
;
drop
procedure
bug8850
|
#
# BUG#NNNN: New bug synopsis
#
#--disable_warnings
#drop procedure if exists bugNNNN|
#--enable_warnings
#create procedure bugNNNN...
delimiter
;
|
sql/my_decimal.h
View file @
c198ce2a
...
@@ -85,7 +85,7 @@ class my_decimal :public decimal
...
@@ -85,7 +85,7 @@ class my_decimal :public decimal
{
{
len
=
DECIMAL_BUFF_LENGTH
;
len
=
DECIMAL_BUFF_LENGTH
;
buf
=
buffer
;
buf
=
buffer
;
#if !defined(
HAVE_purify) && !defined(
DBUG_OFF)
#if !defined(DBUG_OFF)
/* Set buffer to 'random' value to find wrong buffer usage */
/* Set buffer to 'random' value to find wrong buffer usage */
for
(
uint
i
=
0
;
i
<
DECIMAL_BUFF_LENGTH
;
i
++
)
for
(
uint
i
=
0
;
i
<
DECIMAL_BUFF_LENGTH
;
i
++
)
buffer
[
i
]
=
i
;
buffer
[
i
]
=
i
;
...
...
sql/sp_head.cc
View file @
c198ce2a
...
@@ -58,6 +58,7 @@ sp_multi_results_command(enum enum_sql_command cmd)
...
@@ -58,6 +58,7 @@ sp_multi_results_command(enum enum_sql_command cmd)
{
{
switch
(
cmd
)
{
switch
(
cmd
)
{
case
SQLCOM_ANALYZE
:
case
SQLCOM_ANALYZE
:
case
SQLCOM_CHECK
:
case
SQLCOM_CHECKSUM
:
case
SQLCOM_CHECKSUM
:
case
SQLCOM_HA_READ
:
case
SQLCOM_HA_READ
:
case
SQLCOM_SHOW_BINLOGS
:
case
SQLCOM_SHOW_BINLOGS
:
...
...
sql/sql_acl.h
View file @
c198ce2a
...
@@ -189,6 +189,8 @@ bool mysql_table_grant(THD *thd, TABLE_LIST *table, List <LEX_USER> &user_list,
...
@@ -189,6 +189,8 @@ bool mysql_table_grant(THD *thd, TABLE_LIST *table, List <LEX_USER> &user_list,
bool
mysql_procedure_grant
(
THD
*
thd
,
TABLE_LIST
*
table
,
bool
mysql_procedure_grant
(
THD
*
thd
,
TABLE_LIST
*
table
,
List
<
LEX_USER
>
&
user_list
,
ulong
rights
,
List
<
LEX_USER
>
&
user_list
,
ulong
rights
,
bool
revoke
,
bool
no_error
);
bool
revoke
,
bool
no_error
);
ACL_USER
*
check_acl_user
(
LEX_USER
*
user_name
,
uint
*
acl_acl_userdx
);
my_bool
grant_init
(
THD
*
thd
);
my_bool
grant_init
(
THD
*
thd
);
void
grant_free
(
void
);
void
grant_free
(
void
);
void
grant_reload
(
THD
*
thd
);
void
grant_reload
(
THD
*
thd
);
...
...
sql/sql_parse.cc
View file @
c198ce2a
...
@@ -27,6 +27,7 @@
...
@@ -27,6 +27,7 @@
#include "sp_head.h"
#include "sp_head.h"
#include "sp.h"
#include "sp.h"
#include "sp_cache.h"
#ifdef HAVE_OPENSSL
#ifdef HAVE_OPENSSL
/*
/*
...
@@ -3045,6 +3046,7 @@ mysql_execute_command(THD *thd)
...
@@ -3045,6 +3046,7 @@ mysql_execute_command(THD *thd)
goto
error
;
/* purecov: inspected */
goto
error
;
/* purecov: inspected */
thd
->
slow_command
=
TRUE
;
thd
->
slow_command
=
TRUE
;
res
=
mysql_check_table
(
thd
,
first_table
,
&
lex
->
check_opt
);
res
=
mysql_check_table
(
thd
,
first_table
,
&
lex
->
check_opt
);
sp_cache_invalidate
();
break
;
break
;
}
}
case
SQLCOM_ANALYZE
:
case
SQLCOM_ANALYZE
:
...
@@ -3629,18 +3631,36 @@ mysql_execute_command(THD *thd)
...
@@ -3629,18 +3631,36 @@ mysql_execute_command(THD *thd)
if
(
thd
->
user
)
// If not replication
if
(
thd
->
user
)
// If not replication
{
{
LEX_USER
*
user
;
LEX_USER
*
user
;
uint
counter
;
List_iterator
<
LEX_USER
>
user_list
(
lex
->
users_list
);
List_iterator
<
LEX_USER
>
user_list
(
lex
->
users_list
);
while
((
user
=
user_list
++
))
while
((
user
=
user_list
++
))
{
{
if
(
user
->
password
.
str
&&
if
(
strcmp
(
thd
->
user
,
user
->
user
.
str
)
||
(
strcmp
(
thd
->
user
,
user
->
user
.
str
)
||
user
->
host
.
str
&&
user
->
host
.
str
&&
my_strcasecmp
(
system_charset_info
,
my_strcasecmp
(
system_charset_info
,
user
->
host
.
str
,
thd
->
host_or_ip
))
user
->
host
.
str
,
thd
->
host_or_ip
)))
{
{
if
(
check_access
(
thd
,
UPDATE_ACL
,
"mysql"
,
0
,
1
,
0
))
// We are trying to update another user, or create a new user
goto
error
;
break
;
// We are allowed to do changes
if
(
!
check_access
(
thd
,
GRANT_ACL
,
"mysql"
,
0
,
1
,
1
))
break
;
// We can update any existing, or add new users
if
(
!
check_acl_user
(
user
,
&
counter
)
&&
check_access
(
thd
,
INSERT_ACL
,
"mysql"
,
0
,
1
,
1
))
{
my_error
(
ER_NO_PERMISSION_TO_CREATE_USER
,
MYF
(
0
),
thd
->
user
,
thd
->
host_or_ip
);
goto
error
;
// Can't create new user, user does not exists
}
if
(
check_acl_user
(
user
,
&
counter
)
&&
user
->
password
.
str
&&
check_access
(
thd
,
UPDATE_ACL
,
"mysql"
,
0
,
1
,
1
))
{
my_message
(
ER_PASSWORD_NOT_ALLOWED
,
ER
(
ER_PASSWORD_NOT_ALLOWED
),
MYF
(
0
));
goto
error
;
// Can't update password, user already exists
}
}
}
}
}
}
}
...
...
sql/sql_select.cc
View file @
c198ce2a
...
@@ -1386,7 +1386,6 @@ JOIN::exec()
...
@@ -1386,7 +1386,6 @@ JOIN::exec()
{
{
DBUG_VOID_RETURN
;
DBUG_VOID_RETURN
;
}
}
curr_join
->
group_list
=
0
;
}
}
thd
->
proc_info
=
"Copying to group table"
;
thd
->
proc_info
=
"Copying to group table"
;
...
@@ -1407,8 +1406,10 @@ JOIN::exec()
...
@@ -1407,8 +1406,10 @@ JOIN::exec()
}
}
}
}
if
(
curr_join
->
make_sum_func_list
(
*
curr_all_fields
,
*
curr_fields_list
,
if
(
curr_join
->
make_sum_func_list
(
*
curr_all_fields
,
*
curr_fields_list
,
1
,
TRUE
)
||
1
,
TRUE
))
setup_sum_funcs
(
curr_join
->
thd
,
curr_join
->
sum_funcs
)
||
DBUG_VOID_RETURN
;
curr_join
->
group_list
=
0
;
if
(
setup_sum_funcs
(
curr_join
->
thd
,
curr_join
->
sum_funcs
)
||
(
tmp_error
=
do_select
(
curr_join
,
(
List
<
Item
>
*
)
0
,
curr_tmp_table
,
(
tmp_error
=
do_select
(
curr_join
,
(
List
<
Item
>
*
)
0
,
curr_tmp_table
,
0
)))
0
)))
{
{
...
@@ -11890,7 +11891,8 @@ calc_group_buffer(JOIN *join,ORDER *group)
...
@@ -11890,7 +11891,8 @@ calc_group_buffer(JOIN *join,ORDER *group)
join
->
group
=
1
;
join
->
group
=
1
;
for
(;
group
;
group
=
group
->
next
)
for
(;
group
;
group
=
group
->
next
)
{
{
Field
*
field
=
(
*
group
->
item
)
->
get_tmp_table_field
();
Item
*
group_item
=
*
group
->
item
;
Field
*
field
=
group_item
->
get_tmp_table_field
();
if
(
field
)
if
(
field
)
{
{
if
(
field
->
type
()
==
FIELD_TYPE_BLOB
)
if
(
field
->
type
()
==
FIELD_TYPE_BLOB
)
...
@@ -11900,27 +11902,36 @@ calc_group_buffer(JOIN *join,ORDER *group)
...
@@ -11900,27 +11902,36 @@ calc_group_buffer(JOIN *join,ORDER *group)
else
else
key_length
+=
field
->
pack_length
();
key_length
+=
field
->
pack_length
();
}
}
else
if
((
*
group
->
item
)
->
result_type
()
==
REAL_RESULT
)
key_length
+=
sizeof
(
double
);
else
if
((
*
group
->
item
)
->
result_type
()
==
INT_RESULT
)
key_length
+=
sizeof
(
longlong
);
else
if
((
*
group
->
item
)
->
result_type
()
==
STRING_RESULT
)
{
/*
Group strings are taken as varstrings and require an length field.
A field is not yet created by create_tmp_field()
and the sizes should match up.
*/
key_length
+=
(
*
group
->
item
)
->
max_length
+
HA_KEY_BLOB_LENGTH
;
}
else
else
{
{
/* This case should never be choosen */
switch
(
group_item
->
result_type
())
{
DBUG_ASSERT
(
0
);
case
REAL_RESULT
:
join
->
thd
->
fatal_error
();
key_length
+=
sizeof
(
double
);
break
;
case
INT_RESULT
:
key_length
+=
sizeof
(
longlong
);
break
;
case
DECIMAL_RESULT
:
key_length
+=
my_decimal_get_binary_size
(
group_item
->
max_length
-
(
group_item
->
decimals
?
1
:
0
),
group_item
->
decimals
);
break
;
case
STRING_RESULT
:
/*
Group strings are taken as varstrings and require an length field.
A field is not yet created by create_tmp_field()
and the sizes should match up.
*/
key_length
+=
group_item
->
max_length
+
HA_KEY_BLOB_LENGTH
;
break
;
default:
/* This case should never be choosen */
DBUG_ASSERT
(
0
);
join
->
thd
->
fatal_error
();
}
}
}
parts
++
;
parts
++
;
if
(
(
*
group
->
item
)
->
maybe_null
)
if
(
group_item
->
maybe_null
)
null_parts
++
;
null_parts
++
;
}
}
join
->
tmp_table_param
.
group_length
=
key_length
+
null_parts
;
join
->
tmp_table_param
.
group_length
=
key_length
+
null_parts
;
...
@@ -12735,7 +12746,7 @@ int JOIN::rollup_send_data(uint idx)
...
@@ -12735,7 +12746,7 @@ int JOIN::rollup_send_data(uint idx)
ref_pointer_array_size
);
ref_pointer_array_size
);
if
((
!
having
||
having
->
val_int
()))
if
((
!
having
||
having
->
val_int
()))
{
{
if
(
send_records
<
unit
->
select_limit_cnt
&&
if
(
send_records
<
unit
->
select_limit_cnt
&&
do_send_rows
&&
result
->
send_data
(
rollup
.
fields
[
i
]))
result
->
send_data
(
rollup
.
fields
[
i
]))
return
1
;
return
1
;
send_records
++
;
send_records
++
;
...
...
support-files/mysql.spec.sh
View file @
c198ce2a
...
@@ -214,7 +214,6 @@ Optional MySQL server binary that supports additional features like:
...
@@ -214,7 +214,6 @@ Optional MySQL server binary that supports additional features like:
- CSV Storage Engine
- CSV Storage Engine
- Example Storage Engine
- Example Storage Engine
- Federated Storage Engine
- Federated Storage Engine
- MyISAM RAID
- User Defined Functions
(
UDFs
)
.
- User Defined Functions
(
UDFs
)
.
To activate this binary, just
install
this package
in
addition to
To activate this binary, just
install
this package
in
addition to
...
@@ -328,7 +327,6 @@ BuildMySQL "--enable-shared \
...
@@ -328,7 +327,6 @@ BuildMySQL "--enable-shared \
--with-berkeley-db
\
--with-berkeley-db
\
--with-innodb
\
--with-innodb
\
--with-ndbcluster
\
--with-ndbcluster
\
--with-raid
\
--with-archive
\
--with-archive
\
--with-csv-storage-engine
\
--with-csv-storage-engine
\
--with-example-storage-engine
\
--with-example-storage-engine
\
...
@@ -694,9 +692,14 @@ fi
...
@@ -694,9 +692,14 @@ fi
# itself - note that they must be ordered by date (important when
# itself - note that they must be ordered by date (important when
# merging BK trees)
# merging BK trees)
%changelog
%changelog
*
Fri Mar 18 2005 Lenz Grimmer <lenz@mysql.com>
- Disabled RAID
in
the Max binares once and
for
all
(
it has finally been removed
from the
source
tree
)
*
Sun Feb 20 2005 Petr Chardin <petr@mysql.com>
*
Sun Feb 20 2005 Petr Chardin <petr@mysql.com>
- Install MySQL Instance Manager together with mysqld, toch mysqlmanager
- Install MySQL Instance Manager together with mysqld,
to
u
ch
mysqlmanager
password file
password file
*
Mon Feb 14 2005 Lenz Grimmer <lenz@mysql.com>
*
Mon Feb 14 2005 Lenz Grimmer <lenz@mysql.com>
...
...
tests/mysql_client_test.c
View file @
c198ce2a
This diff is collapsed.
Click to expand it.
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