Thread: Precedence of bitwise operators
Hi! Do I get it right, that bitwise operations have the same precedence?
Query SELECT 1 & 2 | 3, 3 | 1 & 2
returns 3 and 2 respectively. See also https://www.db-fiddle.com/f/iZHd8zG7A1HjbB6J2y8R7k/1. It looks like the result is calculated from left to right and operators have the same precedence.
I checked relevant documentation pages (https://www.postgresql.org/docs/current/functions-bitstring.html and https://www.postgresql.org/docs/current/sql-syntax-lexical.html) and couldn't find any information about bitwise operations precedence, only information about logical operations precedence.
I'm not saying it's a bug, rather trying to clarify as precedence of bitwise operators is different in programming languages, say c++ (https://en.cppreference.com/w/c/language/operator_precedence) or java (https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html)
Bauyrzhan Sakhariyev <baurzhansahariev@gmail.com> writes: > Hi! Do I get it right, that bitwise operations have the same precedence? Yes, that is what the documentation says: https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-PRECEDENCE Operator precedence is hard-wired into our parser, so we don't get to have a lot of flexibility in assigning precedences for any except a very small set of operator names. regards, tom lane