Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

BUG #8027: Get generated key value while inserting in partitioned table

1 view
Skip to first unread message

mohans...@gmail.com

unread,
Apr 2, 2013, 3:11:27 AM4/2/13
to
The following bug has been logged on the website:

Bug reference: 8027
Logged by: mohan sammeta
Email address: mohans...@gmail.com
PostgreSQL version: 8.4.0
Operating system: ubuntu
Description:



Hi I have a table in Postgres, say email_messages. It is partitioned so
whatever the inserts i do it using my java application will not effect the
master table, as the data is actually getting inserted in the child tables.
Here is the problem, I want to get an auto generated column value (say
email_message_id which is of big serial type). Postgres is returning it as
null since there is no insert being done on master table. For oracle I used
GeneratedKeyHolder to get that value. But I'm unable to do the same for
partitioned table in postgres. Please help me out.

Here is the code snippet we used for oracle

public void createAndFetchPKImpl(final Entity pEntity, final String
pStatementId, final String pPKColumnName) {

final SqlParameterSource parameterSource =
new BeanPropertySqlParameterSource(pEntity);

final String[] columnNames = new String[]{"email_message_id"};
final KeyHolder keyHolder = new GeneratedKeyHolder();
final int numberOfRowsEffected = mNamedParameterJdbcTemplate.update(
getStatement(pStatementId), parameterSource, keyHolder, columnNames);
pEntity.setId(ConversionUtil.getLongValue(keyHolder.getKey()));

}
We are using spring 3.1.1.
I am getting numberOfRowsEffected as zero and keyHolder.getKey() as null
even though the insert is happening in the table.





--
Sent via pgsql-bugs mailing list (pgsql...@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

bricklen

unread,
Apr 2, 2013, 10:39:11 AM4/2/13
to
This is not a bug, so should not be in the bugs list. Try posting in the pgsql-general list if the point below does not help.

Are your insert statements into the child tables including "RETURNING email_message_id" ?
0 new messages