import tinydb.*;
import tinydb.operator.*;

public class SimpleJoin {
	public static void main(String[] args) throws java.io.IOException {
		Database db = Database.open("data/uni");
		Table prof = db.getTable("professoren");
		Table vorl = db.getTable("vorlesungen");

		Tablescan scanProf = new Tablescan(prof);
		Tablescan scanVorl = new Tablescan(vorl);

		CrossProduct cP = new CrossProduct(scanProf, scanVorl);
		Register persnr = scanProf.getOutput()[prof.findAttribute("persnr")];
		Register gelvon = scanVorl.getOutput()[vorl.findAttribute("gelesenvon")];
		

		Selection sel = new Selection(cP, persnr, gelvon);
		Register name = scanProf.getOutput()[prof.findAttribute("name")];
		Register titel = scanVorl.getOutput()[vorl.findAttribute("titel")];
		Projection proj = new Projection(sel, new Register[] {name, titel});
		Printer prt = new Printer(proj);

		prt.open();
		while(prt.next());
		prt.close();

	}
}
