Skip to content

hive doesn't support !a expression #1471

Closed
@wugeer

Description

@wugeer

Hive supports ! as a synonym for not, but the current project's Hive dialect does not support the select !a syntax.

https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=27362046#LanguageManualUDF-LogicalOperators

image

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")

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions