From 0bc8b3d12414940c270b8eba6475e9b3054e7487 Mon Sep 17 00:00:00 2001 From: Andrew Lamb Date: Mon, 25 Apr 2022 06:31:52 -0400 Subject: [PATCH] Add negative tests for POSITION --- tests/sqlparser_common.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/tests/sqlparser_common.rs b/tests/sqlparser_common.rs index 1a1dee986..8471b2c5f 100644 --- a/tests/sqlparser_common.rs +++ b/tests/sqlparser_common.rs @@ -4601,3 +4601,20 @@ fn parse_position() { expr_from_projection(only(&select.projection)) ); } + +#[test] +fn parse_position_negative() { + let sql = "SELECT POSITION(foo) from bar"; + let res = parse_sql_statements(sql); + assert_eq!( + ParserError::ParserError("Position function must include IN keyword".to_string()), + res.unwrap_err() + ); + + let sql = "SELECT POSITION(foo IN) from bar"; + let res = parse_sql_statements(sql); + assert_eq!( + ParserError::ParserError("Expected an expression:, found: )".to_string()), + res.unwrap_err() + ); +}