@@ -84,8 +84,7 @@ public FromElement AddFromElement()
84
84
_classAlias ,
85
85
entityPersister ,
86
86
( EntityType ) ( ( IQueryable ) entityPersister ) . Type ,
87
- null ,
88
- out _ ) ;
87
+ null ) ;
89
88
90
89
// Add to the query spaces.
91
90
_fromClause . Walker . AddQuerySpaces ( entityPersister ) ;
@@ -142,8 +141,7 @@ private FromElement CreateFromElementInSubselect(
142
141
classAlias ,
143
142
entityPersister ,
144
143
( EntityType ) ( ( IQueryable ) entityPersister ) . Type ,
145
- tableAlias ,
146
- out _
144
+ tableAlias
147
145
) ;
148
146
}
149
147
if ( Log . IsDebugEnabled ( ) )
@@ -256,8 +254,7 @@ public FromElement CreateElementJoin(IQueryableCollection queryableCollection)
256
254
_classAlias ,
257
255
targetEntityPersister ,
258
256
( EntityType ) queryableCollection . ElementType ,
259
- tableAlias ,
260
- out _ ) ;
257
+ tableAlias ) ;
261
258
262
259
// If the join is implied, then don't include sub-classes on the element.
263
260
if ( _implied )
@@ -293,7 +290,8 @@ public FromElement CreateEntityJoin(
293
290
bool inFrom ,
294
291
EntityType type )
295
292
{
296
- FromElement elem = CreateJoin ( entityClass , tableAlias , joinSequence , type , false , out bool isFirstElement ) ;
293
+ var isFirstFromElement = ! _fromClause . HasRegisteredFromElements ;
294
+ FromElement elem = CreateJoin ( entityClass , tableAlias , joinSequence , type , false ) ;
297
295
elem . Fetch = fetchFlag ;
298
296
299
297
//if (numberOfTables > 1 && _implied && !elem.UseFromFragment)
@@ -323,7 +321,7 @@ public FromElement CreateEntityJoin(
323
321
// 1) 'elem' is the "root from-element" in correlated subqueries
324
322
// 2) The DotNode.useThetaStyleImplicitJoins has been set to true
325
323
// and 'elem' represents an implicit join
326
- if ( isFirstElement && elem . FromClause != elem . Origin . FromClause || DotNode . UseThetaStyleImplicitJoins )
324
+ if ( isFirstFromElement && elem . FromClause != elem . Origin . FromClause || DotNode . UseThetaStyleImplicitJoins )
327
325
{
328
326
// the "root from-element" in correlated subqueries do need this piece
329
327
elem . Type = HqlSqlWalker . FROM_FRAGMENT ;
@@ -355,7 +353,7 @@ private FromElement CreateEntityAssociation(
355
353
356
354
var joinSequence = CreateJoinSequence ( roleAlias , joinType , implicitJoin ) ;
357
355
358
- elem = CreateJoin ( associatedEntityName , roleAlias , joinSequence , ( EntityType ) _queryableCollection . ElementType , false , out _ ) ;
356
+ elem = CreateJoin ( associatedEntityName , roleAlias , joinSequence , ( EntityType ) _queryableCollection . ElementType , false ) ;
359
357
elem . UseFromFragment |= elem . IsImplied && elem . Walker . IsSubQuery ;
360
358
}
361
359
else
@@ -418,7 +416,7 @@ private FromElement CreateManyToMany(
418
416
{
419
417
// For implied many-to-many, just add the end join.
420
418
JoinSequence joinSequence = CreateJoinSequence ( roleAlias , joinType , implicitJoin ) ;
421
- elem = CreateJoin ( associatedEntityName , roleAlias , joinSequence , type , true , out _ ) ;
419
+ elem = CreateJoin ( associatedEntityName , roleAlias , joinSequence , type , true ) ;
422
420
}
423
421
else
424
422
{
@@ -431,7 +429,7 @@ private FromElement CreateManyToMany(
431
429
// Add the second join, the one that ends in the destination table.
432
430
JoinSequence joinSequence = CreateJoinSequence ( roleAlias , joinType , implicitJoin ) ;
433
431
joinSequence . AddJoin ( sfh . GetElementAssociationType ( _collectionType ) , tableAlias , joinType , secondJoinColumns ) ;
434
- elem = CreateJoin ( associatedEntityName , tableAlias , joinSequence , type , false , out _ ) ;
432
+ elem = CreateJoin ( associatedEntityName , tableAlias , joinSequence , type , false ) ;
435
433
elem . UseFromFragment = true ;
436
434
}
437
435
return elem ;
@@ -454,17 +452,15 @@ private FromElement CreateJoin(
454
452
string tableAlias ,
455
453
JoinSequence joinSequence ,
456
454
EntityType type ,
457
- bool manyToMany ,
458
- out bool isFirstElement )
455
+ bool manyToMany )
459
456
{
460
457
// origin, path, implied, columns, classAlias,
461
458
IEntityPersister entityPersister = _fromClause . SessionFactoryHelper . RequireClassPersister ( entityClass ) ;
462
459
FromElement destination = CreateAndAddFromElement ( entityClass ,
463
- _classAlias ,
464
- entityPersister ,
465
- type ,
466
- tableAlias ,
467
- out isFirstElement ) ;
460
+ _classAlias ,
461
+ entityPersister ,
462
+ type ,
463
+ tableAlias ) ;
468
464
return InitializeJoin ( _path , destination , joinSequence , Columns , _origin , manyToMany ) ;
469
465
}
470
466
@@ -527,37 +523,37 @@ private IASTNode CreateFromElement(string text)
527
523
return ast ;
528
524
}
529
525
530
- private void InitializeAndAddFromElement ( FromElement element ,
531
- string className ,
532
- string classAlias ,
533
- IEntityPersister entityPersister ,
534
- EntityType type ,
535
- string tableAlias ,
536
- out bool isFirstElement )
526
+ private void InitializeAndAddFromElement (
527
+ FromElement element ,
528
+ string className ,
529
+ string classAlias ,
530
+ IEntityPersister entityPersister ,
531
+ EntityType type ,
532
+ string tableAlias )
537
533
{
538
534
if ( tableAlias == null )
539
535
{
540
536
AliasGenerator aliasGenerator = _fromClause . AliasGenerator ;
541
537
tableAlias = aliasGenerator . CreateName ( entityPersister . EntityName ) ;
542
538
}
543
- element . InitializeEntity ( _fromClause , className , entityPersister , type , classAlias , tableAlias , out isFirstElement ) ;
539
+
540
+ element . InitializeEntity ( _fromClause , className , entityPersister , type , classAlias , tableAlias ) ;
544
541
}
545
542
546
543
private FromElement CreateAndAddFromElement (
547
544
string className ,
548
545
string classAlias ,
549
546
IEntityPersister entityPersister ,
550
547
EntityType type ,
551
- string tableAlias ,
552
- out bool isFirstElement )
548
+ string tableAlias )
553
549
{
554
550
if ( ! ( entityPersister is IJoinable ) )
555
551
{
556
552
throw new ArgumentException ( "EntityPersister " + entityPersister + " does not implement Joinable!" ) ;
557
553
}
558
554
559
555
FromElement element = CreateFromElement ( entityPersister ) ;
560
- InitializeAndAddFromElement ( element , className , classAlias , entityPersister , type , tableAlias , out isFirstElement ) ;
556
+ InitializeAndAddFromElement ( element , className , classAlias , entityPersister , type , tableAlias ) ;
561
557
return element ;
562
558
}
563
559
0 commit comments