Re: BUG #8027: Get generated key value while inserting in partitioned table - Mailing list pgsql-bugs

From bricklen
Subject Re: BUG #8027: Get generated key value while inserting in partitioned table
Date
Msg-id CAGrpgQ9wU68GLtv1Q168AxqDbrC=QkZRwZmMqRMAGizrqZMGLw@mail.gmail.com
Whole thread Raw
In response to BUG #8027: Get generated key value while inserting in partitioned table  (mohansammeta@gmail.com)
List pgsql-bugs
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" ?


On Tue, Apr 2, 2013 at 12:11 AM, <mohansammeta@gmail.com> wrote:

> The following bug has been logged on the website:
>
> Bug reference:      8027
> Logged by:          mohan sammeta
> Email address:      mohansammeta@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-bugs@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-bugs
>

pgsql-bugs by date:

Previous
From: mohansammeta@gmail.com
Date:
Subject: BUG #8027: Get generated key value while inserting in partitioned table
Next
From: Andres Freund
Date:
Subject: Re: Completely broken replica after PANIC: WAL contains references to invalid pages