Skip to content

Commit dda01cc

Browse files
committed
Fix error parsing C-style comments.
1 parent 5ec3bc9 commit dda01cc

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

src/MySqlConnector/Core/SqlParser.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,7 @@ public int Parse(string sql)
2929
}
3030
else if (state == State.CStyleCommentAsterisk)
3131
{
32-
if (ch == '/')
33-
state = beforeCommentState;
32+
state = ch == '/' ? beforeCommentState : State.CStyleComment;
3433
}
3534
else if (state == State.SingleQuotedString)
3635
{

tests/MySqlConnector.Tests/StatementPreparerTests.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,15 @@ public void PrepareQuery(string sql)
2323
Assert.Matches("column2 = 3", parsedRequest1);
2424
}
2525

26+
[Fact]
27+
public void CStyleComment()
28+
{
29+
var parameters = new MySqlParameterCollection();
30+
var sql = @"SELECT /* * / @param */ 1;";
31+
var parsedSql = Encoding.UTF8.GetString(new StatementPreparer(sql, parameters, StatementPreparerOptions.None).ParseAndBindParameters().Slice(1));
32+
Assert.Equal(sql, parsedSql);
33+
}
34+
2635
private const string BadSqlText = @"SELECT Id
2736
FROM mytable
2837
WHERE column1 = 2 -- mycomment

0 commit comments

Comments
 (0)