protected void set(String name, String value, boolean visible) { create() .insertInto(DATA, DATA.NAME, DATA.VISIBLE, DATA.VALUE) .values(name, visible, value) .execute(); }
public void insert(String firstName, String lastName) { UUID uuid = UUID.randomUUID(); txResult(tx -> tx.insertInto(USERS) .columns(USERS.ID, USERS.FIRST_NAME, USERS.LAST_NAME) .values(uuid, firstName, lastName) .execute() ); } }
@Override public boolean addPref(String u, String i, double v, Object n) { return dsl .insertInto(DATA, UIDX, IIDX, V) .values(user2uidx(u), item2iidx(i), v) .execute() == 1; }
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; }); }