public boolean export(UUID checkpointId, Path dest) { return txResult(tx -> { String sql = tx.select(PROCESS_CHECKPOINTS.CHECKPOINT_DATA) .from(PROCESS_CHECKPOINTS) .where(PROCESS_CHECKPOINTS.CHECKPOINT_ID.eq(checkpointId)) .getSQL(); return tx.connectionResult(conn -> { try (PreparedStatement ps = conn.prepareStatement(sql)) { ps.setObject(1, checkpointId); try (ResultSet rs = ps.executeQuery()) { if (!rs.next()) { return false; } try (InputStream in = rs.getBinaryStream(1)) { Files.copy(in, dest, StandardCopyOption.REPLACE_EXISTING); } } return true; } }); }); }
private <T> Optional<T> get(DSLContext tx, ProcessKey processKey, String path, Function<InputStream, Optional<T>> converter) { String sql = tx.select(PROCESS_STATE.IS_ENCRYPTED, PROCESS_STATE.ITEM_DATA) .from(PROCESS_STATE) .where(PROCESS_STATE.INSTANCE_ID.eq((UUID) null) .and(PROCESS_STATE.INSTANCE_CREATED_AT.eq((Timestamp) null)) .and(PROCESS_STATE.ITEM_PATH.eq((String) null))) .getSQL(); return tx.connectionResult(conn -> { try (PreparedStatement ps = conn.prepareStatement(sql)) { ps.setObject(1, processKey.getInstanceId()); ps.setTimestamp(2, processKey.getCreatedAt()); ps.setString(3, path); try (ResultSet rs = ps.executeQuery()) { if (!rs.next()) { return Optional.empty(); } boolean encrypted = rs.getBoolean(1); try (InputStream in = rs.getBinaryStream(2); InputStream processed = encrypted ? decrypt(in) : in) { return converter.apply(processed); } } } }); }
.and(PROCESS_STATE.INSTANCE_CREATED_AT.eq((Timestamp) null)) .and(PROCESS_STATE.ITEM_PATH.startsWith((String) null))) .getSQL();
.from(PROCESS_STATE) .where(PROCESS_STATE.INSTANCE_ID.eq((UUID) null).and(PROCESS_STATE.INSTANCE_CREATED_AT.eq((Timestamp) null))) .getSQL();
.and(PROCESS_STATE.INSTANCE_CREATED_AT.eq((Timestamp) null)) .and(PROCESS_STATE.ITEM_PATH.startsWith((String) null))) .getSQL();
.from(recordTable) .where(recordIdField.in(missingIds)) .getSQL(ParamType.INLINED);