Re: Insert into master table ->" 0 rows affected" -> Hibernate problems - Mailing list pgsql-general

From Magnus Hagander
Subject Re: Insert into master table ->" 0 rows affected" -> Hibernate problems
Date
Msg-id 484F9013.9080704@hagander.net
Whole thread Raw
In response to Re: Insert into master table ->" 0 rows affected" -> Hibernate problems  (<Mattias.Arbin@tietoenator.com>)
Responses Re: Insert into master table ->" 0 rows affected" -> Hibernate problems
List pgsql-general
Ah, in my testing I had a single RULE without a WHERE statement. In that
case it works. If I add a WHERE statement to it, it no longer works. So
it works for the case when you always want to redirect all new inserts
into the same partition.

//Magnus

Mattias.Arbin@tietoenator.com wrote:
> I tried using rules instead. I did something very similar to this:
> CREATE RULE measurement_insert_y2006m02 AS
> ON INSERT TO measurement WHERE
>     ( logdate >= DATE '2006-02-01' AND logdate < DATE '2006-03-01' )
> DO INSTEAD
>     INSERT INTO measurement_y2006m02 VALUES (NEW.*);
> ...
> CREATE RULE measurement_insert_y2008m01 AS
> ON INSERT TO measurement WHERE
>     ( logdate >= DATE '2008-01-01' AND logdate < DATE '2008-02-01' )
> DO INSTEAD
>     INSERT INTO measurement_y2008m01 VALUES (NEW.*);
>
> ... as descibed in the docs:
> http://www.postgresql.org/docs/8.3/interactive/ddl-partitioning.html
>
> Unfortunately, I still get
> "Query returned successfully: 0 rows affected, 16 ms execution time."
>
> /Mattias
>
>
>
>> -----Original Message-----
>> From: pgsql-general-owner@postgresql.org
>> [mailto:pgsql-general-owner@postgresql.org] On Behalf Of
>> Magnus Hagander
>> Sent: den 10 juni 2008 10:43
>> To: Arbin Mattias
>> Cc: scott.marlowe@gmail.com; pgsql-general@postgresql.org
>> Subject: Re: [GENERAL] Insert into master table ->" 0 rows
>> affected" -> Hibernate problems
>>
>> I think that if you use a RULE instead of a TRIGGER to
>> redirect the write, it should return the proper number of
>> rows inserted in the child table.
>>
>> //Magnus
>>
>>
>> Mattias.Arbin@tietoenator.com wrote:
>>> Scott,
>>> You're right, of course. I meant, is there a way to make Postgres
>>> return the number of rows inserted to any child table _via_
>> the master
>>> table + trigger function?
>>> I have not been able to find a way to tell Hibernate to ignore the
>>> returned number of rows, unless I insert via a custom
>> insert statement.
>>> /Mattias
>>>
>>> -----Original Message-----
>>> From: Scott Marlowe [mailto:scott.marlowe@gmail.com]
>>> Sent: den 5 juni 2008 02:01
>>> To: Arbin Mattias
>>> Cc: pgsql-general@postgresql.org
>>> Subject: Re: [GENERAL] Insert into master table ->" 0 rows
>> affected"
>>> -> Hibernate problems
>>>
>>> On Tue, Jun 3, 2008 at 7:38 AM,
>> <Mattias.Arbin@tietoenator.com> wrote:
>>>> I have implemented partitioning using inheritance following the
>>>> proposed solution here (using trigger):
>>>>
>> http://www.postgresql.org/docs/8.3/interactive/ddl-partitioning.html
>>>> My problem is that when my Hibernate application inserts to the
>>>> master
>>>> table, postgres returns "0 rows affected", which causes
>> Hibernate to
>>>> throw an exception since it expects the returned row count to be
>>>> equal
>>>> to the number of rows inserted.
>>>>
>>>> Is there a solution to this, i.e. to get Postgres to return the
>>>> correct number of rows inserted to the master table?
>>> PostgreSQL IS reporting the correct number of rows inserted
>> into the
>>> master table.  0.
>>>
>>> There's some setting in hibernate that will tell it to ignore that
>>> returned number of rows, but I can't remember it right now.
>>>
>>
>> --
>> Sent via pgsql-general mailing list
>> (pgsql-general@postgresql.org) To make changes to your subscription:
>> http://www.postgresql.org/mailpref/pgsql-general
>>


pgsql-general by date:

Previous
From: valgog
Date:
Subject: Re: Multithreaded queue in PgSQL
Next
From: Magnus Hagander
Date:
Subject: Re: [ANNOUNCE] PostgreSQL Software Catalogue