Re: transaction locking
От | tom baker |
---|---|
Тема | Re: transaction locking |
Дата | |
Msg-id | 200309181622.03143.postgres@atoka-software.com обсуждение исходный текст |
Ответ на | Re: transaction locking (Stephan Szabo <sszabo@megazone.bigpanda.com>) |
Список | 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 по дате отправления: