[#4488] Relax bound on <T> for Table.getIdentity() from <? extends Number> to <?>

This commit is contained in:
lukaseder 2015-08-24 09:29:38 +02:00
parent 9cd9867f89
commit 95288c2654
7 changed files with 10 additions and 10 deletions

View File

@ -227,7 +227,7 @@ public interface InsertQuery<R extends Record> extends StoreQuery<R>, Insert<R>
*/
@Override
@Support
void setReturning(Identity<R, ? extends Number> identity);
void setReturning(Identity<R, ?> identity);
/**
* {@inheritDoc}

View File

@ -106,7 +106,7 @@ public interface StoreQuery<R extends Record> extends Query {
* @see #getReturnedRecords()
*/
@Support
void setReturning(Identity<R, ? extends Number> identity);
void setReturning(Identity<R, ?> identity);
/**
* Configure the <code>INSERT</code> or <code>UPDATE</code> statement to return a list of fields in

View File

@ -133,7 +133,7 @@ public interface Table<R extends Record> extends TableLike<R> {
* @return The table's <code>IDENTITY</code> information, or
* <code>null</code>, if no such information is available.
*/
Identity<R, ? extends Number> getIdentity();
Identity<R, ?> getIdentity();
/**
* Retrieve the table's primary key
*

View File

@ -469,7 +469,7 @@ public interface UpdateQuery<R extends Record> extends StoreQuery<R>, ConditionP
*/
@Override
@Support({ FIREBIRD, POSTGRES })
void setReturning(Identity<R, ? extends Number> identity);
void setReturning(Identity<R, ?> identity);
/**
* {@inheritDoc}

View File

@ -103,7 +103,7 @@ abstract class AbstractDMLQuery<R extends Record> extends AbstractQuery {
}
// @Override
public final void setReturning(Identity<R, ? extends Number> identity) {
public final void setReturning(Identity<R, ?> identity) {
if (identity != null) {
setReturning(identity.getField());
}
@ -424,8 +424,8 @@ abstract class AbstractDMLQuery<R extends Record> extends AbstractQuery {
// This shouldn't be null, as relevant dialects should
// return empty generated keys ResultSet
if (table.getIdentity() != null) {
final Field<Number> field = (Field<Number>) table.getIdentity().getField();
Number[] ids = new Number[values.length];
final Field<Object> field = (Field<Object>) table.getIdentity().getField();
Object[] ids = new Object[values.length];
for (int i = 0; i < values.length; i++) {
ids[i] = field.getDataType().convert(values[i]);
}
@ -433,7 +433,7 @@ abstract class AbstractDMLQuery<R extends Record> extends AbstractQuery {
// Only the IDENTITY value was requested. No need for an
// additional query
if (returning.size() == 1 && new Fields<Record>(returning).field(field) != null) {
for (final Number id : ids) {
for (final Object id : ids) {
getReturnedRecords().add(
Utils.newRecord(true, table, configuration)
.operate(new RecordOperation<R, RuntimeException>() {

View File

@ -274,7 +274,7 @@ abstract class AbstractTable<R extends Record> extends AbstractQueryPart impleme
* Subclasses should override this method
*/
@Override
public Identity<R, ? extends Number> getIdentity() {
public Identity<R, ?> getIdentity() {
return null;
}

View File

@ -108,7 +108,7 @@ public abstract class CustomTable<R extends TableRecord<R>> extends TableImpl<R>
// -------------------------------------------------------------------------
@Override
public Identity<R, ? extends Number> getIdentity() {
public Identity<R, ?> getIdentity() {
return super.getIdentity();
}