@Override @Deprecated public final Field<T> coalesce(Field<T> option, Field<?>... options) { return DSL.coalesce(this, Tools.combine(option, options)); } }
@Override @Deprecated public final Field<T> coalesce(Field<T> option, Field<?>... options) { return DSL.coalesce(this, Utils.combine(option, options)); }
@Override @Deprecated @SafeVarargs public final Field<T> coalesce(T option, T... options) { return DSL.coalesce(this, Tools.combine(Tools.field(option, this), Tools.fields(options, this).toArray(EMPTY_FIELD))); }
private static final Field<?> parseFieldCoalesceIf(ParserContext ctx) { if (parseFunctionNameIf(ctx, "COALESCE")) { parse(ctx, '('); List<Field<?>> fields = parseFields(ctx); parse(ctx, ')'); Field[] a = EMPTY_FIELD; return coalesce(fields.get(0), fields.size() == 1 ? a : fields.subList(1, fields.size()).toArray(a)); } return null; }
@Override @Deprecated public final Field<T> coalesce(T option, T... options) { return DSL.coalesce(this, Utils.combine(Utils.field(option), Utils.fields(options).toArray(new Field[0]))); }
/** * Gets the Oracle-style <code>COALESCE(value1, value2, ... , value n)</code> * function. * * @see #coalesce(Field, Field...) */ @Support @Transition( name = "COALESCE", args = { "Field", "Field+" }, to = "Function" ) public static <T> Field<T> coalesce(T value, T... values) { return coalesce(Utils.field(value), Utils.fields(values).toArray(new Field[0])); }
public void updateMeta(DSLContext tx, UUID id, Map<String, Object> meta) { Field<String> updateJson = field(coalesce(REPOSITORIES.META, field("?::jsonb", String.class, "{}")) + " || ?::jsonb", String.class, serialize(meta)); Field<Object> metaField = function("jsonb_strip_nulls", Object.class, updateJson); tx.update(REPOSITORIES) .set(REPOSITORIES.META, (Object) metaField) .where(REPOSITORIES.REPO_ID.eq(id)) .execute(); }
public boolean updateMeta(PartialProcessKey processKey, Map<String, Object> meta) { UUID instanceId = processKey.getInstanceId(); return txResult(tx -> { int i = tx.update(PROCESS_QUEUE) .set(PROCESS_QUEUE.META, field(coalesce(PROCESS_QUEUE.META, field("?::jsonb", String.class, "{}")) + " || ?::jsonb", String.class, serialize(meta))) .where(PROCESS_QUEUE.INSTANCE_ID.eq(instanceId)) .execute(); return i == 1; }); }
public List<EventItem> list(DSLContext tx, EventMarker marker, int count) { ProcessEvents pe = PROCESS_EVENTS.as("pe"); SelectConditionStep<Record9<UUID, Timestamp, Long, Timestamp, String, String, String, Long, Boolean>> q = tx.select( pe.INSTANCE_ID, pe.INSTANCE_CREATED_AT, pe.EVENT_SEQ, pe.EVENT_DATE, field("{0}->>'host'", String.class, pe.EVENT_DATA), coalesce(field("{0}->>'hostGroup'", String.class, pe.EVENT_DATA), value("-")), field("{0}->>'status'", String.class, pe.EVENT_DATA), coalesce(field("{0}->>'duration'", Long.class, pe.EVENT_DATA), value("0")), coalesce(field("{0}->>'ignore_errors'", Boolean.class, pe.EVENT_DATA), value("false"))) .from(pe) .where(pe.EVENT_TYPE.eq(EventType.ANSIBLE.name())); if (marker != null) { q.and(pe.EVENT_DATE.greaterOrEqual(marker.eventDate())) .and(pe.INSTANCE_CREATED_AT.greaterOrEqual(marker.startFrom()) .and(pe.EVENT_SEQ.greaterThan(marker.eventSeq()))); if (marker.endTo() != null) { q.and(pe.INSTANCE_CREATED_AT.lessThan(marker.endTo())); } } return q.orderBy(pe.EVENT_SEQ) .limit(count) .fetch(AnsibleEventDao::toEntity); }
coalesce(c.COLUMN_NAME , getName() ).as(c.COLUMN_NAME), coalesce(c.ORDINAL_POSITION , inline(1) ).as(c.ORDINAL_POSITION), coalesce(c.DATA_TYPE , r.DATA_TYPE ).as(c.DATA_TYPE), coalesce(c.CHARACTER_MAXIMUM_LENGTH , r.CHARACTER_MAXIMUM_LENGTH ).as(c.CHARACTER_MAXIMUM_LENGTH), coalesce(c.NUMERIC_PRECISION , r.NUMERIC_PRECISION ).as(c.NUMERIC_PRECISION), coalesce(c.NUMERIC_SCALE , r.NUMERIC_SCALE ).as(c.NUMERIC_SCALE), coalesce(c.IS_NULLABLE , "true" ).as(c.IS_NULLABLE), coalesce(c.COLUMN_DEFAULT , inline((String) null) ).as(c.COLUMN_DEFAULT), coalesce(c.UDT_SCHEMA , inline((String) null) ).as(c.UDT_SCHEMA), coalesce(c.UDT_NAME , r.UDT_NAME , field(select(pg_t.TYPNAME).from(pg_t).where(oid(pg_t).eq(pg_p.PRORETTYPE))) ).as(c.UDT_NAME)
q.set(PROCESS_QUEUE.META, field(coalesce(PROCESS_QUEUE.META, field("?::jsonb", String.class, "{}")) + " || ?::jsonb", String.class, serialize(meta)));