Support postgres style CREATE FUNCTION in GenericDialect (#1159)

This commit is contained in:
Andrew Lamb 2024-03-01 13:43:29 -05:00 committed by GitHub
parent a511c47bd0
commit 9db9d22480
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 10 additions and 4 deletions

View file

@ -19,7 +19,7 @@ use sqlparser::ast::{
CreateFunctionBody, CreateFunctionUsing, Expr, Function, FunctionDefinition, Ident, ObjectName,
SelectItem, Statement, TableFactor, UnaryOperator, Value,
};
use sqlparser::dialect::{GenericDialect, HiveDialect};
use sqlparser::dialect::{GenericDialect, HiveDialect, MsSqlDialect};
use sqlparser::parser::{ParserError, ParserOptions};
use sqlparser::test_utils::*;
@ -285,8 +285,14 @@ fn parse_create_function() {
_ => unreachable!(),
}
// Test error in dialect that doesn't support parsing CREATE FUNCTION
let unsupported_dialects = TestedDialects {
dialects: vec![Box::new(MsSqlDialect {})],
options: None,
};
assert_eq!(
generic(None).parse_sql_statements(sql).unwrap_err(),
unsupported_dialects.parse_sql_statements(sql).unwrap_err(),
ParserError::ParserError(
"Expected an object type after CREATE, found: FUNCTION".to_string()
)