[hibernate-issues] [Hibernate-JIRA] Updated: (HHH-4120) hibernate failed to insert data into postgres partitioned table.
sridhar (JIRA)
noreply at atlassian.com
Thu Sep 10 04:20:46 EDT 2009
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-4120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
sridhar updated HHH-4120:
-------------------------
Attachment: pg_bug.zip
The following is the enclosed project with sample code.
Run the SubmissiondetailsDAO.java
> hibernate failed to insert data into postgres partitioned table.
> ----------------------------------------------------------------
>
> Key: HHH-4120
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-4120
> Project: Hibernate Core
> Issue Type: Bug
> Components: core
> Affects Versions: 3.3.1
> Environment: RHEL 5.3, Postgres Standard server 8.3, JDK 1.6
> Reporter: sridhar
> Priority: Critical
> Attachments: pg_bug.zip
>
>
> Hibernate failed to insert data into tables when they are partitioned.
> But there is no problem while doing the same operations with JDBC or throw SQL prompt.
> The steps to reproduce the problem.
> create tablespaces
> ----------------------------
> CREATE TABLESPACE FPSDTS01 LOCATION '/postgres/PostgresPlus/8.3/data/tablespaces/FPSDTS01';
> CREATE TABLESPACE FPSDTS02 LOCATION '/postgres/PostgresPlus/8.3/data/tablespaces/FPSDTS02';
> create tables as below
> -----------------------------------
> CREATE TABLE coll_fp_submission_details(
> rrid numeric NOT NULL,
> sid numeric NOT NULL,
> pfid numeric NOT NULL,
> "timestamp" date NOT NULL,
> schema_version numeric NOT NULL,
> details character varying NOT NULL,
> app_txn_id character varying NOT NULL,
> CONSTRAINT coll_fp_submission_details_pkey PRIMARY KEY (rrid)
> )
> WITH (OIDS=FALSE);
> CREATE TABLE coll_fp_subdtls_01
> (
> CONSTRAINT coll_fp_subdtls_01_pkey PRIMARY KEY (rrid)
> )INHERITS (coll_fp_submission_details)
> WITH (OIDS=FALSE)
> TABLESPACE fpsdts01;
> CREATE TABLE coll_fp_subdtls_02
> (
> CONSTRAINT coll_fp_subdtls_02_pkey PRIMARY KEY (rrid)
> )
> INHERITS (coll_fp_submission_details)
> WITH (OIDS=FALSE)
> TABLESPACE fpsdts02;
> create a function
> -----------------------
> CREATE OR REPLACE FUNCTION ins_submission_details()
> RETURNS TRIGGER AS $$
> DECLARE
> dateTable TEXT;
> cmd TEXT;
> BEGIN
> IF ((NEW.rrid % 2)= 0) THEN
> dateTable := 'coll_fp_subdtls_01';
> ELSE
> dateTable := 'coll_fp_subdtls_02';
> END IF;
> cmd := 'INSERT INTO ' || dateTable || '(rrid,sid,pfid,timestamp,schema_version,details,app_txn_id)' ||
> ' VALUES (' || quote_literal(NEW.rrid) || ',' ||
> quote_literal(NEW.sid) || ',' ||
> quote_literal(NEW.pfid) || ',' ||
> quote_literal(NEW.timestamp) || ',' ||
> quote_literal(NEW.schema_version) || ',' ||
> quote_literal(NEW.details) || ',' ||
> quote_literal(NEW.app_txn_id) || ')';
> EXECUTE cmd;
> RETURN NULL;
> END;
> $$LANGUAGE 'plpgsql';
> create a trigger
> --------------------
> CREATE TRIGGER trig_ins_submission_details
> BEFORE INSERT ON coll_fp_submission_details
> FOR EACH ROW EXECUTE PROCEDURE ins_submission_details();
> now say session.save(submissiondetails)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list