Closed wugeer closed 1 week ago
Hive supports ! as a synonym for not, but the current project's Hive dialect does not support the select !a syntax.
!
not
select !a
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=27362046#LanguageManualUDF-LogicalOperators
The reproduction steps are as follows:
echo "select not (false), !a" > ok.sql cargo run --features json_example --example cli ok.sql --hive Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.02s Running `target/debug/examples/cli ok.sql --hive` Parsing from file 'ok.sql' using HiveDialect 2024-10-12T07:25:23.412Z DEBUG [sqlparser::parser] Parsing sql 'select not (false), !a '... 2024-10-12T07:25:23.412Z DEBUG [sqlparser::parser] parsing expr 2024-10-12T07:25:23.412Z DEBUG [sqlparser::parser] parsing expr 2024-10-12T07:25:23.412Z DEBUG [sqlparser::parser] parsing expr 2024-10-12T07:25:23.412Z DEBUG [sqlparser::parser] prefix: Value(Boolean(false)) 2024-10-12T07:25:23.412Z DEBUG [sqlparser::dialect] get_next_precedence_full() TokenWithLocation { token: RParen, location: Location { line: 1, column: 18 } } 2024-10-12T07:25:23.412Z DEBUG [sqlparser::parser] next precedence: 0 2024-10-12T07:25:23.412Z DEBUG [sqlparser::parser] prefix: Nested(Value(Boolean(false))) 2024-10-12T07:25:23.412Z DEBUG [sqlparser::dialect] get_next_precedence_full() TokenWithLocation { token: Comma, location: Location { line: 1, column: 19 } } 2024-10-12T07:25:23.412Z DEBUG [sqlparser::parser] next precedence: 0 2024-10-12T07:25:23.412Z DEBUG [sqlparser::parser] prefix: UnaryOp { op: Not, expr: Nested(Value(Boolean(false))) } 2024-10-12T07:25:23.413Z DEBUG [sqlparser::dialect] get_next_precedence_full() TokenWithLocation { token: Comma, location: Location { line: 1, column: 19 } } 2024-10-12T07:25:23.413Z DEBUG [sqlparser::parser] next precedence: 0 2024-10-12T07:25:23.413Z DEBUG [sqlparser::parser] parsing expr Error during parsing: ParserError("Expected: an expression, found: ! at Line: 1, Column: 21")
Hive supports
!
as a synonym fornot
, but the current project's Hive dialect does not support theselect !a
syntax.https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=27362046#LanguageManualUDF-LogicalOperators
The reproduction steps are as follows: