mirror of
https://github.com/apache/datafusion-sqlparser-rs.git
synced 2025-08-03 22:08:16 +00:00
feat: Convert IS TRUE|FALSE to expression (#499)
This commit is contained in:
parent
a6d7a35dac
commit
4070f3ec6e
3 changed files with 27 additions and 20 deletions
|
@ -4768,21 +4768,30 @@ fn parse_position_negative() {
|
|||
|
||||
#[test]
|
||||
fn parse_is_boolean() {
|
||||
one_statement_parses_to(
|
||||
"SELECT f from foo where field is true",
|
||||
"SELECT f FROM foo WHERE field = true",
|
||||
use self::Expr::*;
|
||||
|
||||
let sql = "a IS FALSE";
|
||||
assert_eq!(
|
||||
IsFalse(Box::new(Identifier(Ident::new("a")))),
|
||||
verified_expr(sql)
|
||||
);
|
||||
|
||||
one_statement_parses_to(
|
||||
"SELECT f from foo where field is false",
|
||||
"SELECT f FROM foo WHERE field = false",
|
||||
let sql = "a IS TRUE";
|
||||
assert_eq!(
|
||||
IsTrue(Box::new(Identifier(Ident::new("a")))),
|
||||
verified_expr(sql)
|
||||
);
|
||||
|
||||
verified_stmt("SELECT f FROM foo WHERE field IS TRUE");
|
||||
|
||||
verified_stmt("SELECT f FROM foo WHERE field IS FALSE");
|
||||
|
||||
let sql = "SELECT f from foo where field is 0";
|
||||
let res = parse_sql_statements(sql);
|
||||
assert_eq!(
|
||||
ParserError::ParserError(
|
||||
"Expected [NOT] NULL or [NOT] DISTINCT FROM TRUE FALSE after IS, found: 0".to_string()
|
||||
"Expected [NOT] NULL or TRUE|FALSE or [NOT] DISTINCT FROM after IS, found: 0"
|
||||
.to_string()
|
||||
),
|
||||
res.unwrap_err()
|
||||
);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue