[#1880] Let SelectQuery extend SimpleSelectQuery to avoid redundancy

This commit is contained in:
Lukas Eder 2012-10-26 20:48:52 +02:00
parent 8a20d38248
commit fc70742ee1

View File

@ -36,20 +36,8 @@
package org.jooq;
import static org.jooq.SQLDialect.ASE;
import static org.jooq.SQLDialect.CUBRID;
import static org.jooq.SQLDialect.DB2;
import static org.jooq.SQLDialect.DERBY;
import static org.jooq.SQLDialect.FIREBIRD;
import static org.jooq.SQLDialect.H2;
import static org.jooq.SQLDialect.HSQLDB;
import static org.jooq.SQLDialect.INGRES;
import static org.jooq.SQLDialect.MYSQL;
import static org.jooq.SQLDialect.ORACLE;
import static org.jooq.SQLDialect.POSTGRES;
import static org.jooq.SQLDialect.SQLITE;
import static org.jooq.SQLDialect.SQLSERVER;
import static org.jooq.SQLDialect.SYBASE;
import java.util.Collection;
@ -60,8 +48,7 @@ import org.jooq.exception.DataAccessException;
*
* @author Lukas Eder
*/
@SuppressWarnings("deprecation")
public interface SelectQuery extends Select<Record>, ConditionProvider, OrderProvider, LockProvider {
public interface SelectQuery extends SimpleSelectQuery<Record> {
/**
* Add a list of select fields
@ -295,168 +282,4 @@ public interface SelectQuery extends Select<Record>, ConditionProvider, OrderPro
@Support({ CUBRID, ORACLE })
void setConnectByStartWith(Condition condition);
// ------------------------------------------------------------------------
// Methods from ConditionProvider, OrderProvider, LockProvider
// ------------------------------------------------------------------------
/**
* {@inheritDoc}
*/
@Override
@Support
void addConditions(Condition... conditions);
/**
* {@inheritDoc}
*/
@Override
@Support
void addConditions(Collection<Condition> conditions);
/**
* {@inheritDoc}
*/
@Override
@Support
void addConditions(Operator operator, Condition... conditions);
/**
* {@inheritDoc}
*/
@Override
@Support
void addConditions(Operator operator, Collection<Condition> conditions);
/**
* {@inheritDoc}
*/
@Override
@Support
void addOrderBy(Field<?>... fields);
/**
* {@inheritDoc}
*/
@Override
@Support
void addOrderBy(SortField<?>... fields);
/**
* {@inheritDoc}
*/
@Override
@Support
void addOrderBy(Collection<SortField<?>> fields);
/**
* {@inheritDoc}
*/
@Override
@Support
void addOrderBy(int... fieldIndexes);
/**
* {@inheritDoc}
*/
@Override
@Support({ CUBRID, ORACLE })
void setOrderBySiblings(boolean orderBySiblings);
/**
* {@inheritDoc}
*/
@Override
@Support
void addLimit(int numberOfRows);
/**
* {@inheritDoc}
*/
@Override
@Support({ CUBRID, DB2, DERBY, FIREBIRD, H2, HSQLDB, MYSQL, ORACLE, POSTGRES, SQLITE, SQLSERVER, SYBASE })
void addLimit(Param<Integer> numberOfRows);
/**
* {@inheritDoc}
*/
@Override
@Support({ CUBRID, DB2, DERBY, FIREBIRD, H2, HSQLDB, INGRES, MYSQL, ORACLE, POSTGRES, SQLITE, SQLSERVER, SYBASE })
void addLimit(int offset, int numberOfRows);
/**
* {@inheritDoc}
*/
@Override
@Support({ CUBRID, DB2, DERBY, FIREBIRD, H2, HSQLDB, MYSQL, ORACLE, POSTGRES, SQLITE, SQLSERVER, SYBASE })
void addLimit(Param<Integer> offset, int numberOfRows);
/**
* {@inheritDoc}
*/
@Override
@Support({ CUBRID, DB2, DERBY, FIREBIRD, H2, HSQLDB, MYSQL, ORACLE, POSTGRES, SQLITE, SQLSERVER, SYBASE })
void addLimit(int offset, Param<Integer> numberOfRows);
/**
* {@inheritDoc}
*/
@Override
@Support({ CUBRID, DB2, DERBY, FIREBIRD, H2, HSQLDB, MYSQL, ORACLE, POSTGRES, SQLITE, SQLSERVER, SYBASE })
void addLimit(Param<Integer> offset, Param<Integer> numberOfRows);
/**
* {@inheritDoc}
*/
@Override
@Support({ ASE, CUBRID, DB2, DERBY, FIREBIRD, H2, HSQLDB, INGRES, MYSQL, ORACLE, POSTGRES, SQLSERVER, SYBASE })
void setForUpdate(boolean forUpdate);
/**
* {@inheritDoc}
*/
@Override
@Support({ DB2, DERBY, FIREBIRD, H2, HSQLDB, INGRES, ORACLE, SYBASE })
void setForUpdateOf(Field<?>... fields);
/**
* {@inheritDoc}
*/
@Override
@Support({ DB2, DERBY, FIREBIRD, H2, HSQLDB, INGRES, ORACLE, SYBASE })
void setForUpdateOf(Collection<? extends Field<?>> fields);
/**
* {@inheritDoc}
*/
@Override
@Support({ DB2, DERBY, FIREBIRD, H2, HSQLDB, INGRES, POSTGRES, ORACLE, SYBASE })
void setForUpdateOf(Table<?>... tables);
/**
* {@inheritDoc}
*/
@Override
@Support(ORACLE)
void setForUpdateWait(int seconds);
/**
* {@inheritDoc}
*/
@Override
@Support(ORACLE)
void setForUpdateNoWait();
/**
* {@inheritDoc}
*/
@Override
@Support(ORACLE)
void setForUpdateSkipLocked();
/**
* {@inheritDoc}
*/
@Override
@Support({ MYSQL, POSTGRES })
void setForShare(boolean forShare);
}