From 99df09ecaba6b889330f987fbf8adcca88ebcd70 Mon Sep 17 00:00:00 2001 From: Alexander Barkov Date: Mon, 20 Feb 2017 19:30:58 +0400 Subject: [PATCH] MDEV-12086 sql_mode=ORACLE: allow SELECT UNIQUE as a synonym for SELECT DISTINCT --- mysql-test/suite/compat/oracle/r/misc.result | 12 ++++++++++++ mysql-test/suite/compat/oracle/t/misc.test | 10 ++++++++++ sql/sql_yacc_ora.yy | 1 + 3 files changed, 23 insertions(+) create mode 100644 mysql-test/suite/compat/oracle/r/misc.result create mode 100644 mysql-test/suite/compat/oracle/t/misc.test diff --git a/mysql-test/suite/compat/oracle/r/misc.result b/mysql-test/suite/compat/oracle/r/misc.result new file mode 100644 index 00000000000..38f38bd07e6 --- /dev/null +++ b/mysql-test/suite/compat/oracle/r/misc.result @@ -0,0 +1,12 @@ +SET sql_mode=ORACLE; +# +# MDEV-12086 sql_mode=ORACLE: allow SELECT UNIQUE as a synonym for SELECT DISTINCT +# +CREATE TABLE t1 (a INT); +INSERT INTO t1 VALUES (10),(20),(20),(30),(30),(30); +SELECT UNIQUE a FROM t1; +a +10 +20 +30 +DROP TABLE t1; diff --git a/mysql-test/suite/compat/oracle/t/misc.test b/mysql-test/suite/compat/oracle/t/misc.test new file mode 100644 index 00000000000..d939b20f8a0 --- /dev/null +++ b/mysql-test/suite/compat/oracle/t/misc.test @@ -0,0 +1,10 @@ +SET sql_mode=ORACLE; + +--echo # +--echo # MDEV-12086 sql_mode=ORACLE: allow SELECT UNIQUE as a synonym for SELECT DISTINCT +--echo # + +CREATE TABLE t1 (a INT); +INSERT INTO t1 VALUES (10),(20),(20),(30),(30),(30); +SELECT UNIQUE a FROM t1; +DROP TABLE t1; diff --git a/sql/sql_yacc_ora.yy b/sql/sql_yacc_ora.yy index b994023c195..cebf78995ff 100644 --- a/sql/sql_yacc_ora.yy +++ b/sql/sql_yacc_ora.yy @@ -16194,6 +16194,7 @@ query_expression_option: Select->options|= SELECT_HIGH_PRIORITY; } | DISTINCT { Select->options|= SELECT_DISTINCT; } + | UNIQUE_SYM { Select->options|= SELECT_DISTINCT; } | SQL_SMALL_RESULT { Select->options|= SELECT_SMALL_RESULT; } | SQL_BIG_RESULT { Select->options|= SELECT_BIG_RESULT; } | SQL_BUFFER_RESULT