Hi, On 4/25/07, Miguel Ángel Jiménez <[EMAIL PROTECTED]> wrote:
I've managed to create the DDL file needed to support bundle persistence manager with PostgreSQL, but found some issues. I've mapped the id column of table ${schemaObjectPrefix}NAMES to a serial datatype (equivalent to an auto-increment column in MySQL). However, starting the repository yields a exception in class org.apache.jackrabbit.core.persistence.bundle.util.DbNameIndex, line 76:nameInsert = con.prepareStatement("insert into " + schemaObjectPrefix + "NAMES (NAME) values (?)", Statement.RETURN_GENERATED_KEYS); It seems that PostgreSQL JDBC driver does not support RETURN_GENERATED_KEYS feature.
You're right.
Is there a plan to add bundling support to PostgreSQL? Before PostgreSQL 8.2the only way I remember to get the auto-generated key is by means of a further select to get the last assigned value of the sequence but it does not mean there are other alternatives.
You might want to file a feature request for PostgreSQL support. It would be great if you'd also like to contribute your DDL file as a starting point for resolving the issue. If you're (or someone else is) interested in trying to work around the RETURN_GENERATED_KEYS issue, the best way to do that would be to create a bundle persistence manager subclass that overrides the troublesome method with PostgreSQL-specific code. BR, Jukka Zitting
