You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It would be extremely useful if this library was able to properly parse multiple statements, particularly in a object definition body, without requiring semi-colons which are optional for SQL Server.
The following otherwise valid SQL fails parsing (MSSQL dialect):
create or alter procedure test()
as
begin
declare @x bit = 1
if @x = 1
begin
select 1
end
end
The error is at the if @x = 1 line:
end of statement, found: if
The problem appears to be related to parsing multiple statements in the object definition body. The parsing concludes successfully if the code is changed to declare @x bit = 1; with a semi-colon.
There's also the similar case of two top level statements:
declare @x bit = 1
if @x = 1
begin
select 1
end
The API I was using was parse_sql:
staticDIALECT: sqlparser::dialect::MsSqlDialect = sqlparser::dialect::MsSqlDialect{};let sql_text = ...
let mut statements = Parser::parse_sql(&DIALECT, sql_text.as_str())?;// error: end of statement, found: if
There's a workaround for the multiple top level statements scenario, but that won't work for the stored procedure example:
It would be extremely useful if this library was able to properly parse multiple statements, particularly in a object definition body, without requiring semi-colons which are optional for SQL Server.
The following otherwise valid SQL fails parsing (MSSQL dialect):
The error is at the
if @x = 1
line:The problem appears to be related to parsing multiple statements in the object definition body. The parsing concludes successfully if the code is changed to
declare @x bit = 1;
with a semi-colon.There's also the similar case of two top level statements:
The API I was using was parse_sql:
There's a workaround for the multiple top level statements scenario, but that won't work for the stored procedure example:
follow up from: #1791 (comment)
The text was updated successfully, but these errors were encountered: