mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-10588 sql_mode=ORACLE: TRUNCATE TABLE t1 [ {DROP|REUSE} STORAGE ]
This commit is contained in:
@@ -356,3 +356,5 @@ CREATE TABLE notfound (notfound int);
|
|||||||
DROP TABLE notfound;
|
DROP TABLE notfound;
|
||||||
CREATE TABLE raise (raise int);
|
CREATE TABLE raise (raise int);
|
||||||
DROP TABLE raise;
|
DROP TABLE raise;
|
||||||
|
CREATE TABLE reuse (reuse int);
|
||||||
|
DROP TABLE reuse;
|
||||||
|
10
mysql-test/suite/compat/oracle/r/truncate.result
Normal file
10
mysql-test/suite/compat/oracle/r/truncate.result
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
SET sql_mode=ORACLE;
|
||||||
|
#
|
||||||
|
# MDEV-10588 sql_mode=ORACLE: TRUNCATE TABLE t1 [ {DROP|REUSE} STORAGE ]
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (a INT);
|
||||||
|
TRUNCATE TABLE t1 REUSE STORAGE;
|
||||||
|
TRUNCATE TABLE t1 DROP STORAGE;
|
||||||
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE reuse (reuse INT);
|
||||||
|
DROP TABLE reuse;
|
16
mysql-test/suite/compat/oracle/t/truncate.test
Normal file
16
mysql-test/suite/compat/oracle/t/truncate.test
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
SET sql_mode=ORACLE;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-10588 sql_mode=ORACLE: TRUNCATE TABLE t1 [ {DROP|REUSE} STORAGE ]
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t1 (a INT);
|
||||||
|
TRUNCATE TABLE t1 REUSE STORAGE;
|
||||||
|
TRUNCATE TABLE t1 DROP STORAGE;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
# REUSE is actually a reserved word in Oracle.
|
||||||
|
# But we don't reserve it for MDEV-10588
|
||||||
|
|
||||||
|
CREATE TABLE reuse (reuse INT);
|
||||||
|
DROP TABLE reuse;
|
@@ -256,3 +256,6 @@ DROP TABLE notfound;
|
|||||||
|
|
||||||
CREATE TABLE raise (raise int);
|
CREATE TABLE raise (raise int);
|
||||||
DROP TABLE raise;
|
DROP TABLE raise;
|
||||||
|
|
||||||
|
CREATE TABLE reuse (reuse int);
|
||||||
|
DROP TABLE reuse;
|
||||||
|
@@ -517,6 +517,7 @@ static SYMBOL symbols[] = {
|
|||||||
{ "RETURN", SYM(RETURN_SYM)},
|
{ "RETURN", SYM(RETURN_SYM)},
|
||||||
{ "RETURNING", SYM(RETURNING_SYM)},
|
{ "RETURNING", SYM(RETURNING_SYM)},
|
||||||
{ "RETURNS", SYM(RETURNS_SYM)},
|
{ "RETURNS", SYM(RETURNS_SYM)},
|
||||||
|
{ "REUSE", SYM(REUSE_SYM)},
|
||||||
{ "REVERSE", SYM(REVERSE_SYM)},
|
{ "REVERSE", SYM(REVERSE_SYM)},
|
||||||
{ "REVOKE", SYM(REVOKE)},
|
{ "REVOKE", SYM(REVOKE)},
|
||||||
{ "RIGHT", SYM(RIGHT)},
|
{ "RIGHT", SYM(RIGHT)},
|
||||||
|
@@ -1369,6 +1369,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
|
|||||||
%token RETURNING_SYM
|
%token RETURNING_SYM
|
||||||
%token RETURNS_SYM /* SQL-2003-R */
|
%token RETURNS_SYM /* SQL-2003-R */
|
||||||
%token RETURN_SYM /* SQL-2003-R */
|
%token RETURN_SYM /* SQL-2003-R */
|
||||||
|
%token REUSE_SYM /* Oracle-R */
|
||||||
%token REVERSE_SYM
|
%token REVERSE_SYM
|
||||||
%token REVOKE /* SQL-2003-R */
|
%token REVOKE /* SQL-2003-R */
|
||||||
%token RIGHT /* SQL-2003-R */
|
%token RIGHT /* SQL-2003-R */
|
||||||
@@ -14365,6 +14366,7 @@ keyword_sp:
|
|||||||
| RESUME_SYM {}
|
| RESUME_SYM {}
|
||||||
| RETURNED_SQLSTATE_SYM {}
|
| RETURNED_SQLSTATE_SYM {}
|
||||||
| RETURNS_SYM {}
|
| RETURNS_SYM {}
|
||||||
|
| REUSE_SYM {}
|
||||||
| REVERSE_SYM {}
|
| REVERSE_SYM {}
|
||||||
| ROLE_SYM {}
|
| ROLE_SYM {}
|
||||||
| ROLLUP_SYM {}
|
| ROLLUP_SYM {}
|
||||||
|
@@ -786,6 +786,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
|
|||||||
%token RETURNING_SYM
|
%token RETURNING_SYM
|
||||||
%token RETURNS_SYM /* SQL-2003-R */
|
%token RETURNS_SYM /* SQL-2003-R */
|
||||||
%token RETURN_SYM /* SQL-2003-R */
|
%token RETURN_SYM /* SQL-2003-R */
|
||||||
|
%token REUSE_SYM /* Oracle-R */
|
||||||
%token REVERSE_SYM
|
%token REVERSE_SYM
|
||||||
%token REVOKE /* SQL-2003-R */
|
%token REVOKE /* SQL-2003-R */
|
||||||
%token RIGHT /* SQL-2003-R */
|
%token RIGHT /* SQL-2003-R */
|
||||||
@@ -12341,6 +12342,13 @@ truncate:
|
|||||||
if (lex->m_sql_cmd == NULL)
|
if (lex->m_sql_cmd == NULL)
|
||||||
MYSQL_YYABORT;
|
MYSQL_YYABORT;
|
||||||
}
|
}
|
||||||
|
opt_truncate_table_storage_clause { }
|
||||||
|
;
|
||||||
|
|
||||||
|
opt_truncate_table_storage_clause:
|
||||||
|
/* Empty */
|
||||||
|
| DROP STORAGE_SYM
|
||||||
|
| REUSE_SYM STORAGE_SYM
|
||||||
;
|
;
|
||||||
|
|
||||||
opt_table_sym:
|
opt_table_sym:
|
||||||
@@ -14507,6 +14515,7 @@ keyword_sp:
|
|||||||
| RESUME_SYM {}
|
| RESUME_SYM {}
|
||||||
| RETURNED_SQLSTATE_SYM {}
|
| RETURNED_SQLSTATE_SYM {}
|
||||||
| RETURNS_SYM {}
|
| RETURNS_SYM {}
|
||||||
|
| REUSE_SYM {} /* Oracle-R */
|
||||||
| REVERSE_SYM {}
|
| REVERSE_SYM {}
|
||||||
| ROLE_SYM {}
|
| ROLE_SYM {}
|
||||||
| ROLLUP_SYM {}
|
| ROLLUP_SYM {}
|
||||||
|
Reference in New Issue
Block a user