#1354 - ENH: Add SqlUpdate setNextParameter() ... as alternative for positioned parameters

This commit is contained in:
Rob Bygrave
2018-03-27 23:24:30 +13:00
parent dfa7b765f9
commit 534eb2f0e2
3 changed files with 14 additions and 4 deletions
@@ -23,4 +23,9 @@ public interface SpiSqlUpdate extends SqlUpdate {
* Set the generated key value.
*/
void setGeneratedKey(Object idValue);
/**
* Reset bind position to be ready for another bind execute.
*/
void reset();
}
@@ -97,6 +97,11 @@ public final class DefaultSqlUpdate implements Serializable, SpiSqlUpdate {
this(null, sql, new BindParams());
}
@Override
public void reset() {
addPos = 0;
}
@Override
public Object executeGetKey() {
execute();
@@ -105,7 +110,6 @@ public final class DefaultSqlUpdate implements Serializable, SpiSqlUpdate {
@Override
public int execute() {
addPos = 0;
if (server != null) {
return server.execute(this);
} else {
@@ -30,12 +30,13 @@ public final class PersistRequestUpdateSql extends PersistRequest {
/**
* Create.
*/
public PersistRequestUpdateSql(SpiEbeanServer server, SqlUpdate updateSql,
public PersistRequestUpdateSql(SpiEbeanServer server, SqlUpdate sqlUpdate,
SpiTransaction t, PersistExecute persistExecute) {
super(server, t, persistExecute, updateSql.getLabel());
super(server, t, persistExecute, sqlUpdate.getLabel());
this.type = Type.UPDATESQL;
this.updateSql = (SpiSqlUpdate) updateSql;
this.updateSql = (SpiSqlUpdate) sqlUpdate;
updateSql.reset();
}
@Override