Skip to content

Commit e0e6895

Browse files
committed
possible fix for KPI
1 parent b54898b commit e0e6895

1 file changed

Lines changed: 3 additions & 2 deletions

File tree

knowagedao/src/main/java/it/eng/spagobi/kpi/job/ProcessKpiJob.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -856,13 +856,14 @@ private static synchronized int reserveIds(Session session, String tableName, in
856856
session.beginTransaction();
857857
Number lastId = (Number) session.createSQLQuery("SELECT NEXT_VAL FROM hibernate_sequences WHERE SEQUENCE_NAME = :escapedSequenceName")
858858
.setParameter("escapedSequenceName", escapedSequenceName).uniqueResult();
859+
int lastIdInt = lastId == null ? 0 : lastId.intValue();
859860
if (lastId == null) {
860861
session.createSQLQuery("INSERT INTO hibernate_sequences (SEQUENCE_NAME, NEXT_VAL) VALUES (:escapedSequenceName, :newRowsCount)")
861862
.setParameter("escapedSequenceName", escapedSequenceName).setParameter("newRowsCount", newRowsCount).executeUpdate();
862863
lastId = 0;
863864
} else {
864-
session.createSQLQuery("UPDATE hibernate_sequences SET NEXT_VAL = NEXT_VAL + :newRowsCount WHERE SEQUENCE_NAME = :escapedSequenceName")
865-
.setParameter("escapedSequenceName", escapedSequenceName).setParameter("newRowsCount", newRowsCount).executeUpdate();
865+
session.createSQLQuery("UPDATE hibernate_sequences SET NEXT_VAL = :newNextVal WHERE SEQUENCE_NAME = :escapedSequenceName")
866+
.setParameter("escapedSequenceName", escapedSequenceName).setParameter("newNextVal", lastIdInt + newRowsCount).executeUpdate();
866867
}
867868
session.getTransaction().commit();
868869
return lastId.intValue();

0 commit comments

Comments
 (0)