@Override public <R extends Record> SelectWhereStep<R> selectFrom(Table<R> table) { SelectWhereStep<R> result = DSL.selectFrom(table); result.attach(configuration); return result; }
public int count(UUID userId) { try (DSLContext tx = DSL.using(cfg)) { return tx.fetchCount(selectFrom(API_KEYS).where(API_KEYS.USER_ID.eq(userId))); } }
public boolean isArchived(UUID checkpointId) { try (DSLContext tx = DSL.using(cfg)) { return tx.fetchExists(selectFrom(PROCESS_CHECKPOINT_ARCHIVE) .where(PROCESS_CHECKPOINT_ARCHIVE.CHECKPOINT_ID.eq(checkpointId) .and(PROCESS_CHECKPOINT_ARCHIVE.STATUS.eq(ArchivalStatus.DONE.toString())))); } }
public boolean isArchived(PartialProcessKey processKey) { try (DSLContext tx = DSL.using(cfg)) { return tx.fetchExists(selectFrom(PROCESS_STATE_ARCHIVE) .where(PROCESS_STATE_ARCHIVE.INSTANCE_ID.eq(processKey.getInstanceId()) .and(PROCESS_STATE_ARCHIVE.STATUS.eq(ArchivalStatus.DONE.toString())))); } }
.insertInto(table) .columns(insertMaps.fields()) .select(selectFrom(table(rows).as("t")));
public boolean isInOrganization(UUID userId, UUID orgId) { try (DSLContext tx = DSL.using(cfg)) { SelectConditionStep<Record1<UUID>> teamIds = select(TEAMS.TEAM_ID) .from(TEAMS) .where(TEAMS.ORG_ID.eq(orgId)); return tx.fetchExists(selectFrom(USER_TEAMS) .where(USER_TEAMS.USER_ID.eq(userId) .and(USER_TEAMS.TEAM_ID.in(teamIds)))); } }
public boolean hasAccessLevel(DSLContext tx, UUID projectId, UUID userId, ResourceAccessLevel... levels) { SelectConditionStep<Record1<UUID>> teamIds = select(USER_TEAMS.TEAM_ID) .from(USER_TEAMS) .where(USER_TEAMS.USER_ID.eq(userId)); return tx.fetchExists(selectFrom(PROJECT_TEAM_ACCESS) .where(PROJECT_TEAM_ACCESS.PROJECT_ID.eq(projectId) .and(PROJECT_TEAM_ACCESS.TEAM_ID.in(teamIds)) .and(PROJECT_TEAM_ACCESS.ACCESS_LEVEL.in(Utils.toString(levels))))); }
private boolean hasAccessLevel(DSLContext tx, UUID secretId, UUID userId, ResourceAccessLevel... levels) { SelectConditionStep<Record1<UUID>> teamIds = select(USER_TEAMS.TEAM_ID) .from(USER_TEAMS) .where(USER_TEAMS.USER_ID.eq(userId)); return tx.fetchExists(selectFrom(SECRET_TEAM_ACCESS) .where(SECRET_TEAM_ACCESS.SECRET_ID.eq(secretId) .and(SECRET_TEAM_ACCESS.TEAM_ID.in(teamIds)) .and(SECRET_TEAM_ACCESS.ACCESS_LEVEL.in(Utils.toString(levels))))); }
public boolean isInAnyTeam(DSLContext tx, UUID orgId, UUID userId, TeamRole... roles) { SelectConditionStep<Record1<UUID>> teamIds = select(TEAMS.TEAM_ID).from(TEAMS).where(TEAMS.ORG_ID.eq(orgId)); return tx.fetchExists(selectFrom(USER_TEAMS) .where(USER_TEAMS.USER_ID.eq(userId) .and(USER_TEAMS.TEAM_ID.in(teamIds)) .and(USER_TEAMS.TEAM_ROLE.in(Utils.toString(roles))))); }
private boolean hasAccessLevel(DSLContext tx, UUID inventoryId, UUID userId, ResourceAccessLevel... levels) { SelectConditionStep<Record1<UUID>> teamIds = select(USER_TEAMS.TEAM_ID) .from(USER_TEAMS) .where(USER_TEAMS.USER_ID.eq(userId)); return tx.fetchExists(selectFrom(INVENTORY_TEAM_ACCESS) .where(INVENTORY_TEAM_ACCESS.INVENTORY_ID.eq(inventoryId) .and(INVENTORY_TEAM_ACCESS.TEAM_ID.in(teamIds)) .and(INVENTORY_TEAM_ACCESS.ACCESS_LEVEL.in(Utils.toString(levels))))); }
public List<UUID> grabNextCheckpointId(Timestamp ageCutoff, int limit) { return txResult(tx -> { List<UUID> ids = tx.select(PROCESS_CHECKPOINTS.CHECKPOINT_ID) .from(PROCESS_CHECKPOINTS) .where(PROCESS_CHECKPOINTS.CHECKPOINT_DATE.lessOrEqual(ageCutoff).and( notExists( selectFrom(PROCESS_CHECKPOINT_ARCHIVE) .where(PROCESS_CHECKPOINT_ARCHIVE.CHECKPOINT_ID.eq(PROCESS_CHECKPOINTS.CHECKPOINT_ID))))) .limit(limit) .forUpdate() .skipLocked() .fetch(PROCESS_CHECKPOINTS.CHECKPOINT_ID); if (ids.isEmpty()) { return ids; } for (UUID id : ids) { tx.insertInto(PROCESS_CHECKPOINT_ARCHIVE) .columns(PROCESS_CHECKPOINT_ARCHIVE.CHECKPOINT_ID, PROCESS_CHECKPOINT_ARCHIVE.LAST_UPDATED_AT, PROCESS_CHECKPOINT_ARCHIVE.STATUS) .values(value(id), currentTimestamp(), value(ArchivalStatus.IN_PROGRESS.toString())) .execute(); } return ids; }); }
public List<ProcessKey> grabNext(ProcessStatus[] statuses, Timestamp ageCutoff, int limit) { return txResult(tx -> { List<ProcessKey> keys = tx.select(PROCESS_QUEUE.INSTANCE_ID, PROCESS_QUEUE.CREATED_AT) .from(PROCESS_QUEUE) .where(PROCESS_QUEUE.CURRENT_STATUS.in(Utils.toString(statuses)) .and(PROCESS_QUEUE.LAST_UPDATED_AT.lessOrEqual(ageCutoff)) .andNotExists(selectFrom(PROCESS_STATE_ARCHIVE) .where(PROCESS_STATE_ARCHIVE.INSTANCE_ID.eq(PROCESS_QUEUE.INSTANCE_ID)))) .limit(limit) .forUpdate() .skipLocked() .fetch(r -> new ProcessKey(r.get(PROCESS_QUEUE.INSTANCE_ID), r.get(PROCESS_QUEUE.CREATED_AT))); if (keys.isEmpty()) { return keys; } for (ProcessKey k : keys) { tx.insertInto(PROCESS_STATE_ARCHIVE) .columns(PROCESS_STATE_ARCHIVE.INSTANCE_ID, PROCESS_STATE_ARCHIVE.LAST_UPDATED_AT, PROCESS_STATE_ARCHIVE.STATUS) .values(value(k.getInstanceId()), currentTimestamp(), value(ArchivalStatus.IN_PROGRESS.toString())) .execute(); } return keys; }); }
.visit( rename && !renameSupported ? selectFrom(table(select).as(name("t"), Tools.fieldNames(fields))) : select) .paramType(paramType)