void generateRelation(Relation<Tuple> & relation, unsigned length, unsigned largest_value, unsigned factor) { for(int i = 0; i < length ; i++) { Tuple t; t.id = rand() % largest_value; t.value = t.id * factor; relation.append(t); } }
void NestedLoopJoin::process(Relation<Tuple> & relation1, Relation<Tuple> & relation2, Relation<Triple> & output_relation) { for( unsigned i1 = 0 ; i1 < relation1.length() ; i1++ ) { for( unsigned i2 = 0 ; i2 < relation2.length() ; i2++) { // append each found join tuple to the // output relation if(relation1[ i1 ].id == relation2[ i2 ].id) { Triple t; t.id = relation1[ i1 ].id; t.value1 = relation1[ i1 ].value; t.value2 = relation2[ i2 ].value; output_relation.append(t); } } } }