@Override public final LoaderImpl<R> onDuplicateKeyUpdate() { if (table.getPrimaryKey() == null) { throw new IllegalStateException("ON DUPLICATE KEY UPDATE only works on tables with explicit primary keys. Table is not updatable : " + table); } onDuplicate = ON_DUPLICATE_KEY_UPDATE; return this; }
@Override public final LoaderImpl<R> onDuplicateKeyIgnore() { if (table.getPrimaryKey() == null) { throw new IllegalStateException("ON DUPLICATE KEY IGNORE only works on tables with explicit primary keys. Table is not updatable : " + table); } onDuplicate = ON_DUPLICATE_KEY_IGNORE; return this; }
@Override public final LoaderImpl<R> onDuplicateKeyIgnore() { if (table.getPrimaryKey() == null) { throw new IllegalStateException("ON DUPLICATE KEY IGNORE only works on tables with explicit primary keys. Table is not updatable : " + table); } onDuplicate = ON_DUPLICATE_KEY_IGNORE; return this; }
@Override public final List<UniqueKey<?>> getPrimaryKeys() { List<UniqueKey<?>> result = new ArrayList<UniqueKey<?>>(); for (Table<?> table : tables) if (table.getPrimaryKey() != null) result.add(table.getPrimaryKey()); return result; } }
@Override public final LoaderImpl<R> onDuplicateKeyUpdate() { if (table.getPrimaryKey() == null) { throw new IllegalStateException("ON DUPLICATE KEY UPDATE only works on tables with explicit primary keys. Table is not updatable : " + table); } onDuplicate = ON_DUPLICATE_KEY_UPDATE; return this; }
@Override public final List<UniqueKey<?>> getPrimaryKeys() { List<UniqueKey<?>> result = new ArrayList<UniqueKey<?>>(); for (Schema schema : schemas) for (Table<?> table : schema.getTables()) if (table.getPrimaryKey() != null) result.add(table.getPrimaryKey()); return result; } }
@Override public final List<UniqueKey<?>> getPrimaryKeys() { List<UniqueKey<?>> result = new ArrayList<UniqueKey<?>>(); for (Table<?> table : getTables()) { UniqueKey<?> pk = table.getPrimaryKey(); if (pk != null) result.add(pk); } return result; }
@Override public final List<UniqueKey<?>> getPrimaryKeys() { List<UniqueKey<?>> result = new ArrayList<UniqueKey<?>>(); for (Table<?> table : getTables()) { UniqueKey<?> pk = table.getPrimaryKey(); if (pk != null) { result.add(pk); } } return result; }
@Override public final List<UniqueKey<?>> getPrimaryKeys() { List<UniqueKey<?>> result = new ArrayList<UniqueKey<?>>(); for (Catalog catalog : catalogs) for (Schema schema : catalog.getSchemas()) for (Table<?> table : schema.getTables()) if (table.getPrimaryKey() != null) result.add(table.getPrimaryKey()); return result; } }
@SuppressWarnings("unchecked") private Field<ID> pk() { UniqueKey<?> uk = table.getPrimaryKey(); Field<?>[] fs = uk.getFieldsArray(); return (Field<ID>) fs[0]; }
private <T> T skipPrimaryKey(final T entity) { final Table<?> tableField = Ut.field(this.vertxDAO, "table"); final UniqueKey key = tableField.getPrimaryKey(); key.getFields().stream().map(item -> ((TableField) item).getName()) .filter(this.revert::containsKey) .map(this.revert::get) .forEach(item -> Ut.field(entity, item.toString(), null)); return entity; }
private <T> T skipPrimaryKey(final T entity) { final Table<?> tableField = Ut.field(this.vertxDAO, "table"); final UniqueKey key = tableField.getPrimaryKey(); key.getFields().stream().map(item -> ((TableField) item).getName()) .filter(this.revert::containsKey) .map(this.revert::get) .forEach(item -> Ut.field(entity, item.toString(), null)); return entity; }
@SuppressWarnings("unchecked") protected /* non-final */ T compositeKeyRecord(Object... values) { UniqueKey<R> key = table.getPrimaryKey(); if (key == null) return null; TableField<R, Object>[] fields = (TableField<R, Object>[]) key.getFieldsArray(); Record result = DSL.using(configuration) .newRecord(fields); for (int i = 0; i < values.length; i++) result.set(fields[i], fields[i].getDataType().convert(values[i])); return (T) result; }
@Override public <R extends UpdatableRecord<R>> int executeDelete(R record) { DeleteQuery<R> delete = deleteQuery(record.getTable()); Tools.addConditions(delete, record, record.getTable().getPrimaryKey().getFieldsArray()); return delete.execute(); }
@Override public <R extends UpdatableRecord<R>> int executeDelete(R record) { DeleteQuery<R> delete = deleteQuery(record.getTable()); Utils.addConditions(delete, record, record.getTable().getPrimaryKey().getFieldsArray()); return delete.execute(); }
@Override public <R extends UpdatableRecord<R>> int executeUpdate(R record) { UpdateQuery<R> update = updateQuery(record.getTable()); Tools.addConditions(update, record, record.getTable().getPrimaryKey().getFieldsArray()); update.setRecord(record); return update.execute(); }
public INSERT_RETURNING insertReturningPrimary(P object){ UniqueKey<?> key = getTable().getPrimaryKey(); //usually key shouldn't be null because DAO generation is omitted in such cases Objects.requireNonNull(key,()->"No primary key"); return queryExecutor().insertReturning( dslContext -> dslContext.insertInto(getTable()).set(newRecord(dslContext, object)).returning(key.getFields()), keyConverter()); }
@SuppressWarnings("unchecked") protected /* non-final */ T compositeKeyRecord(Object... values) { UniqueKey<R> key = table.getPrimaryKey(); if (key == null) return null; TableField<R, Object>[] fields = (TableField<R, Object>[]) key.getFieldsArray(); Record result = DSL.using(queryExecutor.configuration()) .newRecord(fields); for (int i = 0; i < values.length; i++) result.set(fields[i], fields[i].getDataType().convert(values[i])); return (T) result; }
@Override public INSERT_RETURNING insertReturningPrimary(P object) { return queryExecutor().insertReturning(dslContext -> dslContext .insertInto(getTable()) .set(newRecord(dslContext, object)) .returning(getTable().getPrimaryKey().getFieldsArray()), keyConverter); } }
@Override public INSERT_RETURNING insertReturningPrimary(P object) { return queryExecutor().insertReturning(dslContext -> dslContext .insertInto(getTable()) .set(newRecord(dslContext, object)) .returning(getTable().getPrimaryKey().getFieldsArray()), keyConverter()); } }