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

From: bricklen <bricklen(at)gmail(dot)com>
To: mohansammeta(at)gmail(dot)com
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #8027: Get generated key value while inserting in partitioned table
Date: 2013-04-02 14:39:11
Message-ID: CAGrpgQ9wU68GLtv1Q168AxqDbrC=QkZRwZmMqRMAGizrqZMGLw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)gmail(dot)com> wrote:

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

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Andres Freund 2013-04-02 18:26:44 Re: Completely broken replica after PANIC: WAL contains references to invalid pages
Previous Message Andres Freund 2013-04-02 10:10:12 Re: Completely broken replica after PANIC: WAL contains references to invalid pages