waynexia opened a new issue, #15326: URL: https://github.com/apache/datafusion/issues/15326
### Is your feature request related to a problem or challenge? There are some gaps between our [`Operator`](https://docs.rs/datafusion/latest/datafusion/logical_expr/enum.Operator.html) and [`BinaryOperator`](https://docs.rs/sqlparser/0.55.0/sqlparser/ast/enum.BinaryOperator.html) from sqlparser, where some of them are useful. This ticket is not intended to align the gap between `Operator` and `BinaryOperator`. But to include those might-helpful operators with sqlparser as the reference. And further implement some of them (which means leaving another part just a placeholder, and even not included). We can categorize our current `Operator`s into three parts: fully supported (like AND/OR), included but not supported (like `@>`) and not included. This ticket focuses on extending the first two parts. And for some operators, it may take a relatively long time to fully support them. Like those for JSON operation. The meaning of listing them here is for rough progress tracking, and to push them into the "included but not implemented" stage for downstream projects to easily extend their version. ### Describe the solution you'd like Here is a table of various operators and their status: | Operator | Description | Status | Tickets | |:----------:|:----------|---|---| | [Arrow](https://docs.rs/sqlparser/0.55.0/sqlparser/ast/enum.BinaryOperator.html#variant.Arrow) | (PG) `->` extracts a JSON object field or array element | Not Included | | | [LongArrow](https://docs.rs/sqlparser/0.55.0/sqlparser/ast/enum.BinaryOperator.html#variant.LongArrow) | (PG) `->>` extracts a JSON object field or JSON array element and converts it to text | Not Included | | | [HashArrow](https://docs.rs/sqlparser/0.55.0/sqlparser/ast/enum.BinaryOperator.html#variant.HashArrow) | (PG) `#>` extracts a JSON sub-object at the specified path | Not Included | | | [HashLongArrow](https://docs.rs/sqlparser/0.55.0/sqlparser/ast/enum.BinaryOperator.html#variant.HashLongArrow) | (PG) `#>>` extracts JSON sub-object at the specified path | Not Included | | | [ArrowAt](https://docs.rs/sqlparser/0.55.0/sqlparser/ast/enum.BinaryOperator.html#variant.ArrowAt) | (PG) `<@` is used for JSON and text searches | Included But Not Implemented | | | [AtArrow](https://docs.rs/sqlparser/0.55.0/sqlparser/ast/enum.BinaryOperator.html#variant.AtArrow) | (PG) `@>` is used for JSON and text searches | Included But Not Implemented | | | [AtAt](https://docs.rs/sqlparser/0.55.0/sqlparser/ast/enum.BinaryOperator.html#variant.AtAt) | (PG) `@>` is used for JSON and text searches | Not Included | | | [XOR](https://docs.rs/sqlparser/0.55.0/sqlparser/ast/enum.BinaryOperator.html#variant.XOR) | `a XOR b`. We've implemented `BitwiseXor` and can map this to `BitwiseXor` operator | Not Included | | | [`DIV`](https://docs.rs/sqlparser/0.55.0/sqlparser/ast/enum.BinaryOperator.html#variant.MyIntegerDivide) or [`//`](https://docs.rs/sqlparser/0.55.0/sqlparser/ast/enum.BinaryOperator.html#variant.DuckIntegerDivide) | (MySQL/DuckDB) Integer division. | Not Included | | | `ALL` | `SELECT 1 = ALL(ARRAY[1,1,1,1]);` | Unparsed | #2547 | Feel free to add or modify it ### Describe alternatives you've considered _No response_ ### Additional context Cross-references: - https://github.com/apache/datafusion/issues/7308 - https://github.com/apache/datafusion/issues/14660 - https://github.com/apache/datafusion/issues/2547 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For additional commands, e-mail: github-h...@datafusion.apache.org