package database.table.internals; import database.table.orderby.OrderBy; import database.table.where.Where; import java.sql.ResultSet; /** * Author: Koushik Sen (ksen@cs.berkeley.edu) * Date: 7/2/12 * Time: 12:32 PM */ public interface Table { final public static int INT = 1; final public static int STRING = 2; final public static int LONG = 3; final public static int DATE = 4; final public static int TIME = 5; final public static int TIMESTAMP = 6; int NONE = 0; int PRIMARY = 1; int UNIQUE = 2; int NONNULL = 4; public void insert(Row row); public void insert(String[] columns, Object[] values); public void insert(Object[] values); public void insertNoCheck(Object[] row); public TableIterator iterator(); public int delete(Where where); public int update(Where where); public Table select(Where where, String[][] selectColumns, Table[] fromOther); public ResultSet getResultSet(); public String getName(); public String[] getColumnNames(); public int[] getColumnTypes(); public boolean[] getPrimaries(); public boolean[] getUniques(); public boolean[] getNonNulls(); public ForeignKey[] getForeignKeys(); public void orderBy(OrderBy orderBy); public int size(); public Object value(); public boolean in(Object o); public boolean any(Object o, Predicate p); public void setForeignKeys(ForeignKey[] fkeys); }