Re: transaction locking - Mailing list pgsql-sql

From tom baker
Subject Re: transaction locking
Date
Msg-id 200309181622.03143.postgres@atoka-software.com
Whole thread Raw
In response to Re: transaction locking  (Stephan Szabo <sszabo@megazone.bigpanda.com>)
List pgsql-sql
On Thursday 18 September 2003 11:24, Stephan Szabo pronounced:
> On Thu, 18 Sep 2003, tom baker wrote:
> > ah, yes, i DID not see the NOT. that is fixed. here is the code that is
> > having problems (paired down; all error checking has been removed!)
> >
> > $res=pg_query( "BEGIN TRANSACTION" ) ;
> >
> > $sql = "LOCK TABLE parts IN SHARE ROW EXCLUSIVE MODE" ;
> > $res = pg_query( $sql ) ;
> >
> > $sql = "SET CONSTRAINTS ALL DEFERRED" ;
> > $res = pg_query( $sql ) ;
> >
> > if ( $amc_part_no == "" )
> > {
> >     $sql = "SELECT max(amc_part_no) FROM parts WHERE amc_part_no like 'G%'"
> > ; $res = pg_query( $sql ) ;
> >     $amc_part_no = pg_fetch_result( $res , 0 , 0 ) ;
> >     # and generate the next part number...
> > }
> >
> > $res = pg_query( $sql ) ;  <<============
> >
> > $sql = "INSERT INTO parts VALUES ( '".$make."', '".$amc_part_no."',
> > '".$group_no."', '".$subgroup_no."', '".$part_name."',
> > '".$description."', '".$prim_grp."', '".$prim_sbg."', '".$no_req."',
> > '".$weight."',
> > '".$graphic."' )" ;
> > $res = pg_query( $sql ) ;
> >
> > if ( ( $alt_group > "" ) )
> > {
> >     $sql = "INSERT INTO part_group ( make, amc_part_no, group_no ) VALUES (
> > '$make' , '$amc_part_no' , '$alt_group' ) " ;
> >     $res = pg_query( $sql ) ;
> > }
> >
> >     $sql = "INSERT INTO application VALUES (
> > '$make','$amc_part_no','$tyears', '$Amodel' )" ;
> >     $res = pg_query( $sql ) ;
>
> Can you print out the queries you think you're sending and turn on query
> logging and see what the database things?  Inserting only the first three
> columns into parts and then a matching application row doesn't seem to
> fail for me in 7.3.4 or 7.4 beta 1.

stephan:

i want to give you a great big thank you. THANK YOU!!!!!
i was shooting myself in the foot vigorously. one sql statements were being
executed twice, without the appropriate error checking (do i feel foolish or
what???? :(( ). see  where i put "<<=====" above!


--
regards,
tom baker
former ingres programmer...
Magary's Principle:When there is a public outcry to cut deadwood and fat from anygovernment bureaucracy, it is the
deadwoodand the fat that dothe cutting, and the public's services are cut. 



pgsql-sql by date:

Previous
From: Mihail Changalov
Date:
Subject: plpgsql triggers question -> foo := NEW ?
Next
From: "Kumar"
Date:
Subject: Automated Backup