@@ -163,13 +163,7 @@ private void AddJoinNodes(IRestrictableStatement query, JoinSequence join, FromE
163
163
// If there is a FROM fragment and the FROM element is an explicit, then add the from part.
164
164
if ( fromElement . UseFromFragment /*&& StringHelper.isNotEmpty( frag )*/ )
165
165
{
166
- SqlString fromFragment = ProcessFromFragment ( frag , join ) . Trim ( ) ;
167
- if ( log . IsDebugEnabled ( ) )
168
- {
169
- log . Debug ( "Using FROM fragment [{0}]" , fromFragment ) ;
170
- }
171
-
172
- ProcessDynamicFilterParameters ( fromFragment , fromElement , _walker ) ;
166
+ ProcessDynamicFilterParameters ( frag , fromElement , _walker , true ) ;
173
167
}
174
168
175
169
_syntheticAndFactory . AddWhereFragment (
@@ -181,7 +175,7 @@ private void AddJoinNodes(IRestrictableStatement query, JoinSequence join, FromE
181
175
) ;
182
176
}
183
177
184
- private static SqlString ProcessFromFragment ( SqlString frag , JoinSequence join )
178
+ private static SqlString ProcessFromFragment ( SqlString frag )
185
179
{
186
180
SqlString fromFragment = frag . Trim ( ) ;
187
181
// The FROM fragment will probably begin with ', '. Remove this if it is present.
@@ -194,7 +188,12 @@ private static SqlString ProcessFromFragment(SqlString frag, JoinSequence join)
194
188
public static void ProcessDynamicFilterParameters (
195
189
SqlString sqlFragment ,
196
190
IParameterContainer container ,
197
- HqlSqlWalker walker )
191
+ HqlSqlWalker walker )
192
+ {
193
+ ProcessDynamicFilterParameters ( sqlFragment , container , walker , false ) ;
194
+ }
195
+
196
+ private static void ProcessDynamicFilterParameters ( SqlString sqlFragment , IParameterContainer container , HqlSqlWalker walker , bool fromFragment )
198
197
{
199
198
if ( walker . EnabledFilters . Count == 0
200
199
&& ( ! HasDynamicFilterParam ( sqlFragment ) )
@@ -203,6 +202,14 @@ public static void ProcessDynamicFilterParameters(
203
202
return ;
204
203
}
205
204
205
+ if ( fromFragment )
206
+ {
207
+ sqlFragment = ProcessFromFragment ( sqlFragment ) . Trim ( ) ;
208
+ if ( log . IsDebugEnabled ( ) )
209
+ {
210
+ log . Debug ( "Using FROM fragment [{0}]" , sqlFragment ) ;
211
+ }
212
+ }
206
213
container . Text = sqlFragment . ToString ( ) ; // dynamic-filters are processed altogether by Loader
207
214
}
208
215
0 commit comments