Thread

  1. What does this mean ?

    Mario Jorge Nunes Filipe <mjnf@neptuno.sc.uevora.pt> — 1999-06-25T14:32:57Z

    Hi
    
    I am receiving this message when doing a begin:
    
    NOTICE: BeginTransactionBlock and not in default state.
    
    What does this mean ?
    -- 
            Mario Filipe 
            mjnf@uevora.pt
            http://neptuno.sc.uevora.pt/~mjnf
  2. Re: [GENERAL] What does this mean ?

    Thomas Reinke <reinke@e-softinc.com> — 1999-06-25T15:17:38Z

    You have already started a transaction and haven't yet
    finished it.
    
    E.g.
    
    psql template;
    BEGIN;
    BEGIN;
    
    Mario Jorge Nunes Filipe wrote:
    > 
    > Hi
    > 
    > I am receiving this message when doing a begin:
    > 
    > NOTICE: BeginTransactionBlock and not in default state.
    > 
    > What does this mean ?
    > --
    >         Mario Filipe
    >         mjnf@uevora.pt
    >         http://neptuno.sc.uevora.pt/~mjnf
    
    -- 
    ------------------------------------------------------------
    Thomas Reinke                            Tel: (416) 460-7021
    Director of Technology                   Fax: (416) 598-2319
    E-Soft Inc.                         http://www.e-softinc.com
    
    
  3. Re: [GENERAL] What does this mean ?

    Mario Jorge Nunes Filipe <mjnf@neptuno.sc.uevora.pt> — 1999-06-25T16:01:29Z

    Thomas Reinke wrote:
    > 
    > You have already started a transaction and haven't yet
    > finished it.
    > 
    > E.g.
    > 
    > psql template;
    > BEGIN;
    > BEGIN;
    
    	Not that i don't believe you but i think that in my case that is a tid
    bit impossible. The error comes from a php script. On that script i open
    the connection, then i do a select and then the begin. So there isn't
    anyother begin. I've tryed to run an abort before that but it still
    doen't return a result, althoug there is no message error either.
    
    	I really need help here, because i really need this thing working with
    transactions. Just in case here is the code:
    
    pg_Exec($conn, "abort");
    $result = @pg_Exec($conn, "begin");
    if (!$result);
      $msg ="sac-pcgra (2):".addslashes(pg_ErrorMessage($conn));
      $msg = chop($msg);
      echo "<script>alert(\"$msg\");history.go(-1)</script>";
      pg_Close($conn);
      exit;
    }
    
    
    When running this i always get an alert box saying "sac-pcgra(2):".
    
    What is wrong?
    
    Thanks
    
    -- 
            Mario Filipe 
            mjnf@uevora.pt
            http://neptuno.sc.uevora.pt/~mjnf
  4. Re: [GENERAL] What does this mean ?

    M Simms <grim@argh.demon.co.uk> — 1999-06-25T17:31:33Z

    > 	I really need help here, because i really need this thing working with
    > transactions. Just in case here is the code:
    > 
    > pg_Exec($conn, "abort");
    > $result = @pg_Exec($conn, "begin");
    > if (!$result);
    >   $msg ="sac-pcgra (2):".addslashes(pg_ErrorMessage($conn));
    >   $msg = chop($msg);
    >   echo "<script>alert(\"$msg\");history.go(-1)</script>";
    >   pg_Close($conn);
    >   exit;
    > }
    > 
    > 
    > When running this i always get an alert box saying "sac-pcgra(2):".
    > 
    > What is wrong?
    > 
    
    In the program, have you forked since opening the connection to the database?
    If so, you MUST open a new connection in the child process rather than
    use the same one that is alive in the parent. This could be the problem...
    
    
    
  5. Re: [GENERAL] What does this mean ?

    Adam Haberlach <haberlaa@ricochet.net> — 1999-06-26T18:03:20Z

    On Fri, Jun 25, 1999 at 05:01:29PM +0100, Mario Jorge Nunes Filipe wrote:
    > Thomas Reinke wrote:
    > > 
    > > You have already started a transaction and haven't yet
    > > finished it.
    > > 
    > > E.g.
    > > 
    > > psql template;
    > > BEGIN;
    > > BEGIN;
    > 
    > 	Not that i don't believe you but i think that in my case that is a tid
    > bit impossible. The error comes from a php script. On that script i open
    > the connection, then i do a select and then the begin. So there isn't
    > anyother begin. I've tryed to run an abort before that but it still
    > doen't return a result, althoug there is no message error either.
    > 
    > 	I really need help here, because i really need this thing working with
    > transactions. Just in case here is the code:
    > 
    > pg_Exec($conn, "abort");
    > $result = @pg_Exec($conn, "begin");
    > if (!$result);
    >   $msg ="sac-pcgra (2):".addslashes(pg_ErrorMessage($conn));
    >   $msg = chop($msg);
    >   echo "<script>alert(\"$msg\");history.go(-1)</script>";
    >   pg_Close($conn);
    >   exit;
    > }
    
    	Here is some code from one of my projects (displays the top 15
    speakers in a database of irc transactions).  I don't bother to post
    a COMMIT in this case because it is just a select.  On another system,
    I do get warning (not error) messages about not COMMITing transactions,
    btw.
    
            $pgconn = pg_connect("socket", "5432", "", "", "slashnet");
    
            $result = pg_exec($pgconn, "BEGIN");
            $result = pg_exec($pgconn, "DECLARE foo CURSOR FOR select nick, count(*) as tcoun
    t from messages group by nick order by tcount desc");
            $result = pg_exec($pgconn, "FETCH 15 IN foo");
            $rows = pg_numrows($result);
     
    
    
    
  6. Re: [GENERAL] What does this mean ?

    Remigiusz Sokolowski <rems@gdansk.sprint.pl> — 1999-06-28T06:08:21Z

    > 
    > pg_Exec($conn, "abort");
    > $result = @pg_Exec($conn, "begin");
    > if (!$result);
    >   $msg ="sac-pcgra (2):".addslashes(pg_ErrorMessage($conn));
    >   $msg = chop($msg);
    >   echo "<script>alert(\"$msg\");history.go(-1)</script>";
    >   pg_Close($conn);
    >   exit;
    > }
    
    Error is that You just dont END your transaction
    before pg_Close You should have a line pg_Exec( $conn, "END;" );
    pg_Close closes Your connection, but doesn't end Your transactions
    	Rem
    
    -------------------------------------------------------------------*------------
    Remigiusz Sokolowski      e-mail: rems@gdansk.sprint.pl           * *		
    -----------------------------------------------------------------*****----------
    
    
    
  7. Re: [GENERAL] What does this mean ?

    Mario Jorge Nunes Filipe <mjnf@neptuno.sc.uevora.pt> — 1999-06-28T09:16:39Z

    Remigiusz Sokolowski wrote:
    > Error is that You just dont END your transaction
    > before pg_Close You should have a line pg_Exec( $conn, "END;" );
    > pg_Close closes Your connection, but doesn't end Your transactions
    
    	Ok! I'll give it a try ut i find that to be wierd since the code only
    enters that section that i sent before if the exec doesn't return
    anything usefull...
    
    -- 
            Mario Filipe 
            mjnf@uevora.pt
            http://neptuno.sc.uevora.pt/~mjnf
  8. Re: [GENERAL] What does this mean ?

    Remigiusz Sokolowski <rems@gdansk.sprint.pl> — 1999-06-28T11:49:56Z

    > Remigiusz Sokolowski wrote:
    > > Error is that You just dont END your transaction
    > > before pg_Close You should have a line pg_Exec( $conn, "END;" );
    > > pg_Close closes Your connection, but doesn't end Your transactions
    > 
    > 	Ok! I'll give it a try ut i find that to be wierd since the code only
    > enters that section that i sent before if the exec doesn't return
    > anything usefull...
    > 
    But as I remember well (I've deleted previous mails)
    Your pg_Exec($conn, "BEGIN;"); call was before "if" statement - 
    and pg_Close( $conn ) and pg_Exec( $conn, "END;") (if You add it) inside
    if - so there are two possible ways of programm flow
    First one - You connect to database, open transaction and if "if"
    condition is true there are executed statement inside "if" - this should
    lead us to point when all is ok - and transaction and connection are
    closed
    
    if "if" condition is false then You have an open transaction and no end.
    
    so the whole piece of code should look like:
    
    pg_Connect
    pg_Exec( $conn, "BEGIN;");
    if condition {
    	some things, You wanna do
    	pg_Exec( $conn, "END;" );
    } else {
    	pg_Exec( $conn, "ABORT;")
    }
    pg_Close( $conn )
    
    I don't remember well, so I could be wrong
    	Rem
    
    
    -------------------------------------------------------------------*------------
    Remigiusz Sokolowski      e-mail: rems@gdansk.sprint.pl           * *		
    -----------------------------------------------------------------*****----------