@Override public <T> T get(Field<T> field) { return result.getValue(0, field); }
@Override public <T> T get(int index, Class<T> type) { return (T) result.getValue(this.index,index); }
@Override public <T> T get(String columnName, Class<T> type) { return (T)result.getValue(this.index,columnName); }
@Override public <T> T get(String columnName, Class<T> type) { return (T)result.getValue(this.index,columnName); }
@Override public <T> T get(Field<T> field) { return result.getValue(0, field); }
@Override public <T> T get(int index, Class<T> type) { return (T) result.getValue(this.index,index); }
private final int executeSelectFromPOSTGRES() { DSLContext create = create(configuration); List<Field<?>> fields = new ArrayList<Field<?>>(1 + outParameters.size()); if (returnParameter != null) fields.add(DSL.field(DSL.name(getName()), returnParameter.getDataType())); for (Parameter<?> p : outParameters) fields.add(DSL.field(DSL.name(p.getName()), p.getDataType())); Result<?> result = create.select(fields).from("{0}", asField()).fetch(); int i = 0; if (returnParameter != null) outValues.put(returnParameter, returnParameter.getDataType().convert(result.getValue(0, i++))); for (Parameter<?> p : outParameters) outValues.put(p, p.getDataType().convert(result.getValue(0, i++))); return 0; }
@Override public boolean isVolumeInUseByRunningInstance(long volumeId) { Result<Record1<Integer>> result = create() .selectCount() .from(INSTANCE) .join(MOUNT) .on(MOUNT.INSTANCE_ID.eq(INSTANCE.ID)) .where(INSTANCE.STATE.notIn(INSTANCE_STATES)) .and(INSTANCE.REMOVED.isNull()) .and(MOUNT.REMOVED.isNull()) .and(MOUNT.VOLUME_ID.eq(volumeId)) .fetch(); Integer inUseCount = (Integer)result.getValue(0, 0); return inUseCount > 0; }