diff --git a/jOOQ/src/main/java/org/jooq/DSLContext.java b/jOOQ/src/main/java/org/jooq/DSLContext.java index 7b425ba267..310030a5b4 100644 --- a/jOOQ/src/main/java/org/jooq/DSLContext.java +++ b/jOOQ/src/main/java/org/jooq/DSLContext.java @@ -5877,6 +5877,15 @@ public interface DSLContext extends Scope { */ > List fetchValues(ResultQuery query) throws DataAccessException; + /** + * Fetch all values in a given {@link Table}'s {@link TableField} + * + * @param field The field for which to fetch all values. + * @return The values. + * @throws DataAccessException if something went wrong executing the query + */ + List fetchValues(TableField field) throws DataAccessException; + /** * Execute a {@link Select} query in the context of this DSLContext and return * a COUNT(*) value. diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java index d722c637d8..54aceff591 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java @@ -187,6 +187,7 @@ import org.jooq.SelectSelectStep; import org.jooq.SelectWhereStep; import org.jooq.Sequence; import org.jooq.Table; +import org.jooq.TableField; import org.jooq.TableLike; import org.jooq.TableRecord; import org.jooq.TransactionProvider; @@ -2201,6 +2202,11 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri return (List) fetch(query).getValues(0); } + @Override + public List fetchValues(TableField field) { + return fetchValues(select(field).from(field.getTable())); + } + private final > T value1(R record) { if (record == null) return null;