/** * This method must be able to return both incompatible types * SelectSelectStep<Record> and SelectSelectStep<R> */ @Override public final SelectImpl select(SelectFieldOrAsterisk... fields) { getQuery().addSelect(fields); return this; }
/** * This method must be able to return both incompatible types * SelectSelectStep<Record> and SelectSelectStep<R> */ @Override public final SelectImpl select(Field<?>... fields) { getQuery().addSelect(fields); return this; }
/** * This method must be able to return both incompatible types * SelectSelectStep<Record> and SelectSelectStep<R> */ @Override public final SelectImpl select(Collection<? extends SelectFieldOrAsterisk> fields) { getQuery().addSelect(fields); return this; }
/** * This method must be able to return both incompatible types * SelectSelectStep<Record> and SelectSelectStep<R> */ @Override public final SelectImpl select(Collection<? extends Field<?>> fields) { getQuery().addSelect(fields); return this; }
SelectQuery selectQuery = create.selectQuery(); selectQuery.addSelect(selectFields); selectQuery.addFrom(leftTable); selectQuery.addJoin(rightTable, joinCondition);
/** * Create Select statement * @param table to select from * @param fields optional fields and aggregates * @return select step */ public SelectQuery createSelectFrom(Table table, Field ... fields) { // get Postgres context DSLContext context = PostgresDSL.using(SQL_DIALECT); // create select query and optionally add specified fields SelectQuery<?> select = context.selectQuery(); if (fields.length > 0) select.addSelect(fields); // from table select.addFrom(table); return select; }
/** * Create Select statement * @param table to select from * @param fields optional fields and aggregates * @return select step */ public SelectQuery createSelectFrom(Table table, Field ... fields) { // get Postgres context DSLContext context = PostgresDSL.using(SQL_DIALECT); // create select query and optionally add specified fields SelectQuery<?> select = context.selectQuery(); if (fields.length > 0) select.addSelect(fields); // from table select.addFrom(table); return select; }
/** * Create Select statement * @param table to select from * @param fields optional fields and aggregates * @return select step */ public SelectQuery createSelectFrom(Table table, Field ... fields) { // get Postgres context DSLContext context = PostgresDSL.using(SQL_DIALECT); // create select query and optionally add specified fields SelectQuery<?> select = context.selectQuery(); if (fields.length > 0) select.addSelect(fields); // from table select.addFrom(table); return select; }
private SelectQuery<Record> buildSelect(DSLContext tx, Set<ProcessDataInclude> includes) { SelectQuery<Record> query = tx.selectQuery(); query.addSelect(PROCESS_QUEUE.fields()); query.addFrom(PROCESS_QUEUE); query.addSelect(USERS.USERNAME); query.addJoin(USERS, JoinType.LEFT_OUTER_JOIN, USERS.USER_ID.eq(PROCESS_QUEUE.INITIATOR_ID)); query.addSelect(REPOSITORIES.REPO_NAME); query.addJoin(REPOSITORIES, JoinType.LEFT_OUTER_JOIN, REPOSITORIES.REPO_ID.eq(PROCESS_QUEUE.REPO_ID)); .from(ORGANIZATIONS) .where(ORGANIZATIONS.ORG_ID.eq(Tables.PROJECTS.ORG_ID)).asField(ORGANIZATIONS.ORG_NAME.getName()); query.addSelect(orgNameField); query.addSelect(Tables.PROJECTS.PROJECT_NAME, Tables.PROJECTS.ORG_ID); query.addJoin(Tables.PROJECTS, JoinType.LEFT_OUTER_JOIN, Tables.PROJECTS.PROJECT_ID.eq(PROCESS_QUEUE.PROJECT_ID)); query.addSelect(childIdsField); .where(pc.INSTANCE_ID.eq(PROCESS_QUEUE.INSTANCE_ID)).asField("checkpoints"); query.addSelect(checkpoints); .and(pe.EVENT_DATE.greaterOrEqual(PROCESS_QUEUE.CREATED_AT)))) .asField("status_history"); query.addSelect(history);
@Override public final void refresh(final Field<?>... refreshFields) { SelectQuery<Record> select = create().selectQuery(); select.addSelect(refreshFields); select.addFrom(getTable()); Tools.addConditions(select, this, getPrimaryKey().getFieldsArray()); if (select.execute() == 1) { final AbstractRecord source = (AbstractRecord) select.getResult().get(0); delegate(configuration(), (Record) this, REFRESH) .operate(new RecordOperation<Record, RuntimeException>() { @Override public Record operate(Record record) throws RuntimeException { setValues(refreshFields, source); return record; } }); } else { throw new NoDataFoundException("Exactly one row expected for refresh. Record does not exist in database."); } }
@Override public final void refresh(final Field<?>... f) { SelectQuery<Record> select = create().selectQuery(); select.addSelect(f); select.addFrom(getTable()); Utils.addConditions(select, this, getPrimaryKey().getFieldsArray()); if (select.execute() == 1) { final AbstractRecord source = (AbstractRecord) select.getResult().get(0); delegate(configuration(), (Record) this, REFRESH) .operate(new RecordOperation<Record, RuntimeException>() { @Override public Record operate(Record record) throws RuntimeException { setValues(f, source); return record; } }); } else { throw new InvalidResultException("Exactly one row expected for refresh. Record does not exist in database."); } }
@SuppressWarnings("unchecked") @Override protected <T> List<T> getListByRelationshipMap(Object obj, MapRelationship rel) { Class<UpdatableRecord<?>> typeClass = JooqUtils.getRecordClass(schemaFactory, rel.getObjectType()); String mappingType = schemaFactory.getSchemaName(rel.getMappingType()); String fromType = schemaFactory.getSchemaName(rel.getObjectType()); TableField<?, Object> fieldFrom = JooqUtils.getTableField(getMetaDataManager(), fromType, ObjectMetaDataManager.ID_FIELD); TableField<?, Object> mappingTo = JooqUtils.getTableField(getMetaDataManager(), mappingType, rel.getOtherRelationship().getPropertyName()); TableField<?, Object> mappingOther = JooqUtils.getTableField(getMetaDataManager(), mappingType, rel.getPropertyName()); TableField<?, Object> mappingRemoved = JooqUtils.getTableField(getMetaDataManager(), mappingType, ObjectMetaDataManager.REMOVED_FIELD); Table<?> table = JooqUtils.getTable(schemaFactory, typeClass); Table<?> mapTable = JooqUtils.getTable(schemaFactory, rel.getMappingType()); SelectQuery<?> query = create().selectQuery(); query.addFrom(table); query.addSelect(table.fields()); query.addJoin(mapTable, fieldFrom.eq(mappingTo).and(mappingRemoved == null ? DSL.trueCondition() : mappingRemoved.isNull()).and( mappingOther.eq(ObjectUtils.getId(obj)))); return (List<T>) query.fetchInto(typeClass); }