Skip to content

Commit 2644ef7

Browse files
committed
Fix broken test
1 parent 344821e commit 2644ef7

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

src/NHibernate.Test/Hql/Ast/SqlTranslationFixture.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,16 @@ public void CaseClauseWithMath()
2323
Assert.DoesNotThrow(() => GetSql(queryWithoutParen));
2424
}
2525

26+
[Test]
27+
public void SimpleCaseClauseWithMath()
28+
{
29+
const string query = "from SimpleClass s where (case (cast(s.IntValue as long) * :pAValue) when (cast(s.IntValue as long) * :pAValue) then (cast(s.IntValue as long) * :pAValue) else 1 end) > 0";
30+
Assert.DoesNotThrow(() => GetSql(query));
31+
32+
const string queryWithoutParen = "from SimpleClass s where (case cast(s.IntValue as long) * :pAValue when cast(s.IntValue as long) * :pAValue then cast(s.IntValue as long) * :pAValue else 1 end) > 0";
33+
Assert.DoesNotThrow(() => GetSql(queryWithoutParen));
34+
}
35+
2636
[Test]
2737
public void Union()
2838
{

src/NHibernate/Hql/Ast/ANTLR/Hql.g

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -533,12 +533,12 @@ caseExpression
533533
;
534534
535535
simpleCaseStatement
536-
: CASE unaryExpression (simpleCaseWhenClause)+ (elseClause)? END
537-
-> ^(CASE2 unaryExpression simpleCaseWhenClause+ elseClause?)
536+
: CASE expression (simpleCaseWhenClause)+ (elseClause)? END
537+
-> ^(CASE2 expression simpleCaseWhenClause+ elseClause?)
538538
;
539539
540540
simpleCaseWhenClause
541-
: (WHEN^ unaryExpression THEN! unaryExpression)
541+
: (WHEN^ expression THEN! expression)
542542
;
543543
544544
elseClause
@@ -551,7 +551,7 @@ searchedCaseStatement
551551
;
552552
553553
searchedCaseWhenClause
554-
: (WHEN^ logicalExpression THEN! unaryExpression)
554+
: (WHEN^ logicalExpression THEN! expression)
555555
;
556556
557557
quantifiedExpression

0 commit comments

Comments
 (0)