1 package com.quadcap.sql; 2 3 40 41 import java.util.Vector ; 42 43 import java.io.IOException ; 44 45 import java.sql.ResultSet ; 46 import java.sql.SQLException ; 47 48 import com.quadcap.sql.index.Btree; 49 50 import com.quadcap.util.Debug; 51 52 57 58 59 60 61 public class SelectStmt implements Stmt { 62 TableExpression expression; 63 Vector order; 64 65 public SelectStmt() {} 66 67 public SelectStmt(TableExpression expression) { 68 this.expression = expression; 69 } 70 71 public void setOrder(Vector order) { 72 this.order = order; 73 } 74 75 public void execute(Session session) throws IOException , SQLException { 76 Cursor c = expression.getCursor(session, null); 77 if (order != null) { 78 if (c instanceof DistinctCursor) { 79 ((DistinctCursor)c).setOrder(order); 80 } else { 81 c = new OrderByCursor(session, c, order); 82 } 83 } 84 session.addCursor(c); 85 Database db = session.getDatabase(); 86 QedResultSet rs = db.getDriver().makeResultSet(c); 87 session.setResultSet(rs); 88 } 89 } 90 91 | Popular Tags |