From 7c658fa9db89457cb922399c7df7e62fad89a161 Mon Sep 17 00:00:00 2001 From: hns Date: Sat, 17 Jun 2006 11:52:46 +0000 Subject: [PATCH] * Add support for ID generation using PostgreSQL sequence syntax --- src/helma/objectmodel/db/NodeManager.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/helma/objectmodel/db/NodeManager.java b/src/helma/objectmodel/db/NodeManager.java index c4581711..7b2a98c3 100644 --- a/src/helma/objectmodel/db/NodeManager.java +++ b/src/helma/objectmodel/db/NodeManager.java @@ -825,9 +825,16 @@ public final class NodeManager { Statement stmt = null; String retval = null; long logTimeStart = logSql ? System.currentTimeMillis() : 0; - String q = new StringBuffer("SELECT ").append(map.getIDgen()) - .append(".nextval FROM dual").toString(); - + String q; + if (map.isOracle()) { + q = new StringBuffer("SELECT ").append(map.getIDgen()) + .append(".nextval FROM dual").toString(); + } else if (map.isPostgreSQL()) { + q = new StringBuffer("SELECT nextval('") + .append(map.getIDgen()).append("')").toString(); + } else { + throw new RuntimeException("Unable to generate sequence: unknown DB"); + } try { Connection con = map.getConnection();