@@ -22,7 +22,7 @@ protected HqlTreeNode(int type, string text, IASTFactory factory, IEnumerable<Hq
22
22
AddChildren ( children ) ;
23
23
}
24
24
25
- protected HqlTreeNode ( int type , string text , IASTFactory factory , params HqlTreeNode [ ] children ) : this ( type , text , factory , ( IEnumerable < HqlTreeNode > ) children )
25
+ protected HqlTreeNode ( int type , string text , IASTFactory factory , params HqlTreeNode [ ] children ) : this ( type , text , factory , ( IEnumerable < HqlTreeNode > ) children )
26
26
{
27
27
}
28
28
@@ -92,7 +92,7 @@ internal IASTNode AstNode
92
92
93
93
internal void AddChild ( HqlTreeNode child )
94
94
{
95
- if ( child is HqlExpressionSubTreeHolder )
95
+ if ( child is HqlExpressionSubTreeHolder )
96
96
{
97
97
AddChildren ( child . Children ) ;
98
98
}
@@ -116,7 +116,7 @@ public static HqlBooleanExpression AsBooleanExpression(this HqlTreeNode node)
116
116
{
117
117
if ( node is HqlDot )
118
118
{
119
- return new HqlBooleanDot ( node . Factory , ( HqlDot ) node ) ;
119
+ return new HqlBooleanDot ( node . Factory , ( HqlDot ) node ) ;
120
120
}
121
121
122
122
// TODO - nice error handling if cast fails
@@ -220,8 +220,8 @@ internal HqlIdent(IASTFactory factory, System.Type type)
220
220
}
221
221
if ( type == typeof ( DateTimeOffset ) )
222
222
{
223
- SetText ( "datetimeoffset" ) ;
224
- break ;
223
+ SetText ( "datetimeoffset" ) ;
224
+ break ;
225
225
}
226
226
throw new NotSupportedException ( string . Format ( "Don't currently support idents of type {0}" , type . Name ) ) ;
227
227
}
@@ -373,7 +373,7 @@ public HqlSkip(IASTFactory factory, HqlExpression parameter)
373
373
public class HqlTake : HqlStatement
374
374
{
375
375
public HqlTake ( IASTFactory factory , HqlExpression parameter )
376
- : base ( HqlSqlWalker . TAKE , "take" , factory , parameter ) { }
376
+ : base ( HqlSqlWalker . TAKE , "take" , factory , parameter ) { }
377
377
}
378
378
379
379
public class HqlConstant : HqlExpression
@@ -690,7 +690,7 @@ public HqlMax(IASTFactory factory, HqlExpression expression)
690
690
: base ( HqlSqlWalker . AGGREGATE , "max" , factory , expression )
691
691
{
692
692
}
693
- }
693
+ }
694
694
695
695
public class HqlMin : HqlExpression
696
696
{
@@ -818,6 +818,19 @@ public HqlLike(IASTFactory factory, HqlExpression lhs, HqlExpression rhs)
818
818
: base ( HqlSqlWalker . LIKE , "like" , factory , lhs , rhs )
819
819
{
820
820
}
821
+
822
+ public HqlLike ( IASTFactory factory , HqlExpression lhs , HqlExpression rhs , HqlConstant escapeCharacter )
823
+ : base ( HqlSqlWalker . LIKE , "like" , factory , lhs , rhs , new HqlEscape ( factory , escapeCharacter ) )
824
+ {
825
+ }
826
+ }
827
+
828
+ public class HqlEscape : HqlStatement
829
+ {
830
+ public HqlEscape ( IASTFactory factory , HqlConstant escapeCharacter )
831
+ : base ( HqlSqlWalker . ESCAPE , "escape" , factory , escapeCharacter )
832
+ {
833
+ }
821
834
}
822
835
823
836
public class HqlConcat : HqlExpression
@@ -899,4 +912,4 @@ public HqlInList(IASTFactory factory, HqlTreeNode source)
899
912
{
900
913
}
901
914
}
902
- }
915
+ }
0 commit comments