@@ -277,7 +277,7 @@ void TTable::Join( TTable & t1, TTable & t2, EJoinKind joinKind, bool hasMoreLef
277277
278278 IsTableJoined = true ;
279279
280- if (joinKind == EJoinKind::Cross) return ;
280+ MKQL_ENSURE (joinKind != EJoinKind::Cross, " Cross Join is not allowed in Grace Join " ) ;
281281
282282 if ( JoinKind == EJoinKind::Right || JoinKind == EJoinKind::RightOnly || JoinKind == EJoinKind::RightSemi ) {
283283 std::swap (JoinTable1, JoinTable2);
@@ -768,31 +768,6 @@ inline bool HasRightIdMatch(ui64 currId, ui64 & rightIdIter, const std::vector<u
768768
769769
770770bool TTable::NextJoinedData ( TupleData & td1, TupleData & td2, ui64 bucketLimit) {
771-
772- if (JoinKind == EJoinKind::Cross) {
773-
774- if (HasMoreTuples (JoinTable1->TableBucketsStats , JoinTable1->CurrIterBucket , JoinTable1->CurrIterIndex , bucketLimit))
775- {
776- JoinTable1->GetTupleData (JoinTable1->CurrIterBucket , JoinTable1->CurrIterIndex , td1);
777-
778- if (HasMoreTuples (JoinTable2->TableBucketsStats , JoinTable2->CurrIterBucket , JoinTable2->CurrIterIndex , bucketLimit))
779- {
780- JoinTable2->GetTupleData (JoinTable2->CurrIterBucket , JoinTable2->CurrIterIndex , td2);
781- JoinTable2->CurrIterIndex ++;
782- return true ;
783- }
784- else
785- {
786- JoinTable2->CurrIterBucket = 0 ;
787- JoinTable2->CurrIterIndex = 0 ;
788- JoinTable1->CurrIterIndex ++;
789- return NextJoinedData (td1, td2, bucketLimit);
790- }
791- }
792- else
793- return false ;
794- }
795-
796771 if ( JoinKind == EJoinKind::Inner ) {
797772 while (HasMoreTuples (JoinTable1->TableBucketsStats , JoinTable1->CurrIterBucket , JoinTable1->CurrIterIndex , bucketLimit)) {
798773 ui32 tupleId2;
0 commit comments