mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge weblab.(none):/home/marcsql/TREE/mysql-4.1-base
into weblab.(none):/home/marcsql/TREE/mysql-4.1-runtime
This commit is contained in:
@ -690,3 +690,116 @@ SHOW INDEX FROM bug24219_2;
|
|||||||
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
||||||
bug24219_2 1 a 1 a A NULL NULL NULL YES BTREE disabled
|
bug24219_2 1 a 1 a A NULL NULL NULL YES BTREE disabled
|
||||||
DROP TABLE bug24219_2;
|
DROP TABLE bug24219_2;
|
||||||
|
drop table if exists table_24562;
|
||||||
|
create table table_24562(
|
||||||
|
section int,
|
||||||
|
subsection int,
|
||||||
|
title varchar(50));
|
||||||
|
insert into table_24562 values
|
||||||
|
(1, 0, "Introduction"),
|
||||||
|
(1, 1, "Authors"),
|
||||||
|
(1, 2, "Acknowledgements"),
|
||||||
|
(2, 0, "Basics"),
|
||||||
|
(2, 1, "Syntax"),
|
||||||
|
(2, 2, "Client"),
|
||||||
|
(2, 3, "Server"),
|
||||||
|
(3, 0, "Intermediate"),
|
||||||
|
(3, 1, "Complex queries"),
|
||||||
|
(3, 2, "Stored Procedures"),
|
||||||
|
(3, 3, "Stored Functions"),
|
||||||
|
(4, 0, "Advanced"),
|
||||||
|
(4, 1, "Replication"),
|
||||||
|
(4, 2, "Load balancing"),
|
||||||
|
(4, 3, "High availability"),
|
||||||
|
(5, 0, "Conclusion");
|
||||||
|
select * from table_24562;
|
||||||
|
section subsection title
|
||||||
|
1 0 Introduction
|
||||||
|
1 1 Authors
|
||||||
|
1 2 Acknowledgements
|
||||||
|
2 0 Basics
|
||||||
|
2 1 Syntax
|
||||||
|
2 2 Client
|
||||||
|
2 3 Server
|
||||||
|
3 0 Intermediate
|
||||||
|
3 1 Complex queries
|
||||||
|
3 2 Stored Procedures
|
||||||
|
3 3 Stored Functions
|
||||||
|
4 0 Advanced
|
||||||
|
4 1 Replication
|
||||||
|
4 2 Load balancing
|
||||||
|
4 3 High availability
|
||||||
|
5 0 Conclusion
|
||||||
|
alter table table_24562 add column reviewer varchar(20),
|
||||||
|
order by title;
|
||||||
|
select * from table_24562;
|
||||||
|
section subsection title reviewer
|
||||||
|
1 2 Acknowledgements NULL
|
||||||
|
4 0 Advanced NULL
|
||||||
|
1 1 Authors NULL
|
||||||
|
2 0 Basics NULL
|
||||||
|
2 2 Client NULL
|
||||||
|
3 1 Complex queries NULL
|
||||||
|
5 0 Conclusion NULL
|
||||||
|
4 3 High availability NULL
|
||||||
|
3 0 Intermediate NULL
|
||||||
|
1 0 Introduction NULL
|
||||||
|
4 2 Load balancing NULL
|
||||||
|
4 1 Replication NULL
|
||||||
|
2 3 Server NULL
|
||||||
|
3 3 Stored Functions NULL
|
||||||
|
3 2 Stored Procedures NULL
|
||||||
|
2 1 Syntax NULL
|
||||||
|
update table_24562 set reviewer="Me" where section=2;
|
||||||
|
update table_24562 set reviewer="You" where section=3;
|
||||||
|
alter table table_24562
|
||||||
|
order by section ASC, subsection DESC;
|
||||||
|
select * from table_24562;
|
||||||
|
section subsection title reviewer
|
||||||
|
1 2 Acknowledgements NULL
|
||||||
|
1 1 Authors NULL
|
||||||
|
1 0 Introduction NULL
|
||||||
|
2 3 Server Me
|
||||||
|
2 2 Client Me
|
||||||
|
2 1 Syntax Me
|
||||||
|
2 0 Basics Me
|
||||||
|
3 3 Stored Functions You
|
||||||
|
3 2 Stored Procedures You
|
||||||
|
3 1 Complex queries You
|
||||||
|
3 0 Intermediate You
|
||||||
|
4 3 High availability NULL
|
||||||
|
4 2 Load balancing NULL
|
||||||
|
4 1 Replication NULL
|
||||||
|
4 0 Advanced NULL
|
||||||
|
5 0 Conclusion NULL
|
||||||
|
alter table table_24562
|
||||||
|
order by table_24562.subsection ASC, table_24562.section DESC;
|
||||||
|
select * from table_24562;
|
||||||
|
section subsection title reviewer
|
||||||
|
5 0 Conclusion NULL
|
||||||
|
4 0 Advanced NULL
|
||||||
|
3 0 Intermediate You
|
||||||
|
2 0 Basics Me
|
||||||
|
1 0 Introduction NULL
|
||||||
|
4 1 Replication NULL
|
||||||
|
3 1 Complex queries You
|
||||||
|
2 1 Syntax Me
|
||||||
|
1 1 Authors NULL
|
||||||
|
4 2 Load balancing NULL
|
||||||
|
3 2 Stored Procedures You
|
||||||
|
2 2 Client Me
|
||||||
|
1 2 Acknowledgements NULL
|
||||||
|
4 3 High availability NULL
|
||||||
|
3 3 Stored Functions You
|
||||||
|
2 3 Server Me
|
||||||
|
alter table table_24562 order by 12;
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '12' at line 1
|
||||||
|
alter table table_24562 order by (section + 12);
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(section + 12)' at line 1
|
||||||
|
alter table table_24562 order by length(title);
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'length(title)' at line 1
|
||||||
|
alter table table_24562 order by (select 12 from dual);
|
||||||
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(select 12 from dual)' at line 1
|
||||||
|
alter table table_24562 order by no_such_col;
|
||||||
|
ERROR 42S22: Unknown column 'no_such_col' in 'order clause'
|
||||||
|
drop table table_24562;
|
||||||
|
@ -1,2 +1,9 @@
|
|||||||
|
INSERT INTO init_file.startup VALUES ( NOW() );
|
||||||
|
SELECT * INTO @X FROM init_file.startup limit 0,1;
|
||||||
|
SELECT * INTO @Y FROM init_file.startup limit 1,1;
|
||||||
|
SELECT YEAR(@X)-YEAR(@Y);
|
||||||
|
YEAR(@X)-YEAR(@Y)
|
||||||
|
0
|
||||||
|
DROP DATABASE init_file;
|
||||||
ok
|
ok
|
||||||
End of 4.1 tests
|
End of 4.1 tests
|
||||||
|
@ -1 +1,9 @@
|
|||||||
select * from mysql.user as t1, mysql.user as t2, mysql.user as t3;
|
select * from mysql.user as t1, mysql.user as t2, mysql.user as t3;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug#23240 --init-file statements with NOW() reports '1970-01-01 11:00:00'as the date time
|
||||||
|
#
|
||||||
|
CREATE DATABASE IF NOT EXISTS init_file;
|
||||||
|
CREATE TABLE IF NOT EXISTS init_file.startup ( startdate DATETIME );
|
||||||
|
INSERT INTO init_file.startup VALUES ( NOW() );
|
||||||
|
|
||||||
|
@ -518,4 +518,70 @@ SHOW INDEX FROM bug24219_2;
|
|||||||
|
|
||||||
DROP TABLE bug24219_2;
|
DROP TABLE bug24219_2;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug#24562 (ALTER TABLE ... ORDER BY ... with complex expression asserts)
|
||||||
|
#
|
||||||
|
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists table_24562;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
create table table_24562(
|
||||||
|
section int,
|
||||||
|
subsection int,
|
||||||
|
title varchar(50));
|
||||||
|
|
||||||
|
insert into table_24562 values
|
||||||
|
(1, 0, "Introduction"),
|
||||||
|
(1, 1, "Authors"),
|
||||||
|
(1, 2, "Acknowledgements"),
|
||||||
|
(2, 0, "Basics"),
|
||||||
|
(2, 1, "Syntax"),
|
||||||
|
(2, 2, "Client"),
|
||||||
|
(2, 3, "Server"),
|
||||||
|
(3, 0, "Intermediate"),
|
||||||
|
(3, 1, "Complex queries"),
|
||||||
|
(3, 2, "Stored Procedures"),
|
||||||
|
(3, 3, "Stored Functions"),
|
||||||
|
(4, 0, "Advanced"),
|
||||||
|
(4, 1, "Replication"),
|
||||||
|
(4, 2, "Load balancing"),
|
||||||
|
(4, 3, "High availability"),
|
||||||
|
(5, 0, "Conclusion");
|
||||||
|
|
||||||
|
select * from table_24562;
|
||||||
|
|
||||||
|
alter table table_24562 add column reviewer varchar(20),
|
||||||
|
order by title;
|
||||||
|
|
||||||
|
select * from table_24562;
|
||||||
|
|
||||||
|
update table_24562 set reviewer="Me" where section=2;
|
||||||
|
update table_24562 set reviewer="You" where section=3;
|
||||||
|
|
||||||
|
alter table table_24562
|
||||||
|
order by section ASC, subsection DESC;
|
||||||
|
|
||||||
|
select * from table_24562;
|
||||||
|
|
||||||
|
alter table table_24562
|
||||||
|
order by table_24562.subsection ASC, table_24562.section DESC;
|
||||||
|
|
||||||
|
select * from table_24562;
|
||||||
|
|
||||||
|
--error 1064
|
||||||
|
alter table table_24562 order by 12;
|
||||||
|
--error 1064
|
||||||
|
alter table table_24562 order by (section + 12);
|
||||||
|
--error 1064
|
||||||
|
alter table table_24562 order by length(title);
|
||||||
|
--error 1064
|
||||||
|
alter table table_24562 order by (select 12 from dual);
|
||||||
|
|
||||||
|
--error 1054
|
||||||
|
alter table table_24562 order by no_such_col;
|
||||||
|
|
||||||
|
drop table table_24562;
|
||||||
|
|
||||||
# End of 4.1 tests
|
# End of 4.1 tests
|
||||||
|
|
||||||
|
@ -6,5 +6,14 @@
|
|||||||
# mysql-test/t/init_file-master.opt for the actual test
|
# mysql-test/t/init_file-master.opt for the actual test
|
||||||
#
|
#
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug#23240 --init-file statements with NOW() reports '1970-01-01 11:00:00'as the date time
|
||||||
|
#
|
||||||
|
INSERT INTO init_file.startup VALUES ( NOW() );
|
||||||
|
SELECT * INTO @X FROM init_file.startup limit 0,1;
|
||||||
|
SELECT * INTO @Y FROM init_file.startup limit 1,1;
|
||||||
|
SELECT YEAR(@X)-YEAR(@Y);
|
||||||
|
DROP DATABASE init_file;
|
||||||
|
|
||||||
--echo ok
|
--echo ok
|
||||||
--echo End of 4.1 tests
|
--echo End of 4.1 tests
|
||||||
|
@ -1183,6 +1183,7 @@ extern "C" pthread_handler_decl(handle_bootstrap,arg)
|
|||||||
free_root(thd->mem_root,MYF(MY_KEEP_PREALLOC));
|
free_root(thd->mem_root,MYF(MY_KEEP_PREALLOC));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
thd->set_time();
|
||||||
mysql_parse(thd,thd->query,length);
|
mysql_parse(thd,thd->query,length);
|
||||||
close_thread_tables(thd); // Free tables
|
close_thread_tables(thd); // Free tables
|
||||||
if (thd->is_fatal_error)
|
if (thd->is_fatal_error)
|
||||||
|
@ -2021,7 +2021,7 @@ alter_list_item:
|
|||||||
lex->alter_info.is_simple= 0;
|
lex->alter_info.is_simple= 0;
|
||||||
lex->alter_info.flags|= ALTER_OPTIONS;
|
lex->alter_info.flags|= ALTER_OPTIONS;
|
||||||
}
|
}
|
||||||
| order_clause
|
| alter_order_clause
|
||||||
{
|
{
|
||||||
LEX *lex=Lex;
|
LEX *lex=Lex;
|
||||||
lex->alter_info.is_simple= 0;
|
lex->alter_info.is_simple= 0;
|
||||||
@ -3780,6 +3780,29 @@ olap_opt:
|
|||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
|
/*
|
||||||
|
Order by statement in ALTER TABLE
|
||||||
|
*/
|
||||||
|
|
||||||
|
alter_order_clause:
|
||||||
|
ORDER_SYM BY alter_order_list
|
||||||
|
;
|
||||||
|
|
||||||
|
alter_order_list:
|
||||||
|
alter_order_list ',' alter_order_item
|
||||||
|
| alter_order_item
|
||||||
|
;
|
||||||
|
|
||||||
|
alter_order_item:
|
||||||
|
simple_ident order_dir
|
||||||
|
{
|
||||||
|
THD *thd= YYTHD;
|
||||||
|
bool ascending= ($2 == 1) ? true : false;
|
||||||
|
if (add_order_to_list(thd, $1, ascending))
|
||||||
|
YYABORT;
|
||||||
|
}
|
||||||
|
;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Order by statement in select
|
Order by statement in select
|
||||||
*/
|
*/
|
||||||
|
Reference in New Issue
Block a user