View Javadoc

1   /***
2    * @version $Revision: 1.2 $
3    */
4   package uba.db.sql.interpreter;
5   
6   import uba.db.Database;
7   import uba.db.UnknowTableName;
8   import uba.db.sql.language.TableName;
9   import uba.db.sql.language.VisitorBehavior;
10  import uba.db.table.Table;
11  
12  public class TablesToJoinVisitor extends VisitorBehavior {
13  	private SelectQueryPlan queryPlan;
14      private Database database;
15  
16  	public TablesToJoinVisitor(SelectQueryPlan plan, Database database) {
17  		queryPlan = plan;
18          this.database = database;
19  	}
20  
21  	/***
22  	 * @see uba.db.sql.language.Visitor#visitTableName(uba.db.sql.language.TableName)
23  	 */
24  	public void visitTableName(TableName tableName) {
25          // FIXME usar el toString no esta bueno!
26          Table table;
27          try {
28              table = database.tableNamed(tableName.toString());
29              queryPlan.addTable(table);
30          } catch (UnknowTableName e) {
31              // en este punto se supone que la tabla existe porque paso por el validador
32              // nunca se deberia llegar a este punto
33              throw new Error(e);
34          }
35  	}
36  }