summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2020-10-16 15:07:34 +0200
committerSergei Golubchik <serg@mariadb.org>2020-10-23 15:53:41 +0200
commit7f974e5ad3317168f174465dc61c0feb27c04162 (patch)
tree165c16a835d3059d3c38f6e90e9da9535b8ac553
parent8c83e6eadf496267762313d577653d56bf98d945 (diff)
downloadmariadb-git-7f974e5ad3317168f174465dc61c0feb27c04162.tar.gz
cleanup: remove redundant BANG_PRECEDENCE
prefix unary operators don't need to have different precedence, the syntax unambiguously specifies in what order they apply
-rw-r--r--mysql-test/r/precedence.result2
-rw-r--r--sql/item.h3
-rw-r--r--sql/item_cmpfunc.h2
3 files changed, 3 insertions, 4 deletions
diff --git a/mysql-test/r/precedence.result b/mysql-test/r/precedence.result
index be07af1c550..2a797467758 100644
--- a/mysql-test/r/precedence.result
+++ b/mysql-test/r/precedence.result
@@ -8068,7 +8068,7 @@ select !cast(1 as char charset binary) AS `! BINARY 1`,cast(!1 as char charset b
create or replace view v1 as select ! ~ 1, ~ ! 1;
Select view_definition from information_schema.views where table_schema='test' and table_name='v1';
view_definition
-select !(~1) AS `! ~ 1`,~!1 AS `~ ! 1`
+select !~1 AS `! ~ 1`,~!1 AS `~ ! 1`
create or replace view v1 as select - BINARY 1, BINARY - 1;
Select view_definition from information_schema.views where table_schema='test' and table_name='v1';
view_definition
diff --git a/sql/item.h b/sql/item.h
index 604f656aa7a..b789f703c2e 100644
--- a/sql/item.h
+++ b/sql/item.h
@@ -92,8 +92,7 @@ enum precedence {
MUL_PRECEDENCE, // *, /, DIV, %, MOD
BITXOR_PRECEDENCE, // ^
PIPES_PRECEDENCE, // || (if PIPES_AS_CONCAT)
- NEG_PRECEDENCE, // unary -, ~
- BANG_PRECEDENCE, // !, NOT (if HIGH_NOT_PRECEDENCE)
+ NEG_PRECEDENCE, // unary -, ~, !, NOT (if HIGH_NOT_PRECEDENCE)
COLLATE_PRECEDENCE, // BINARY, COLLATE
DEFAULT_PRECEDENCE,
HIGHEST_PRECEDENCE
diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h
index cad179dff74..579b1bde1ce 100644
--- a/sql/item_cmpfunc.h
+++ b/sql/item_cmpfunc.h
@@ -574,7 +574,7 @@ public:
longlong val_int();
enum Functype functype() const { return NOT_FUNC; }
const char *func_name() const { return "not"; }
- enum precedence precedence() const { return BANG_PRECEDENCE; }
+ enum precedence precedence() const { return NEG_PRECEDENCE; }
Item *neg_transformer(THD *thd);
bool fix_fields(THD *, Item **);
virtual void print(String *str, enum_query_type query_type);