Thread: RC2 intermittent errors

RC2 intermittent errors

From
Gaetano Mendola
Date:
Hi all,
I'm testing now RC2 against our application and I'm experiencing
intermittent errors. I isolated this test:


CREATE TABLE users (id_login SERIAL PRIMARY KEY,        login TEXT
);


CREATE OR REPLACE FUNCTION sp_id_user ( TEXT  )
RETURNS INTEGER AS $$
DECLARE    a_login ALIAS FOR $1;    my_id INTEGER;
BEGIN    SELECT id_login INTO my_id    FROM users    WHERE login = a_login;
    RETURN COALESCE(my_id, -1 );

END;
$$ LANGUAGE 'plpgsql'
STABLE;

CREATE OR REPLACE FUNCTION sp_test ( TEXT  )
RETURNS INTEGER AS $$
DECLARE    a_login ALIAS FOR $1;    my_id INTEGER;
BEGIN        my_id = sp_id_user( a_login );        RAISE NOTICE 'ID> %', my_id;
        insert into users (login) values ( a_login );
        my_id = sp_id_user( a_login );        RAISE NOTICE 'ID> %', my_id;
        RETURN 0;
END;
$$ LANGUAGE 'plpgsql';

select sp_test('test1');
select sp_test('test2');


The call of the two above functions shall show:

ID> -1
ID> 1

ID> -1
ID> 2


instead I have:

test=# select sp_test('test1');
NOTICE:  ID> -1
NOTICE:  ID> 1 sp_test
---------       0
(1 row)

test=# select sp_test('test2');
NOTICE:  ID> -1
NOTICE:  ID> -1 sp_test
---------       0
(1 row)


some times I get:

test=# select sp_test('test1');
NOTICE:  ID> -1
NOTICE:  ID> -1 sp_test
---------       0
(1 row)

test=# select sp_test('test2');
NOTICE:  ID> -1
NOTICE:  ID> -1 sp_test
---------       0
(1 row)






Regards
Gaetano Mendola

































Re: RC2 intermittent errors

From
Tom Lane
Date:
Gaetano Mendola <mendola@bigfoot.com> writes:
> I'm testing now RC2 against our application and I'm experiencing
> intermittent errors. I isolated this test:

Argh!  I put a GetTransactionSnapshot() call into exec_eval_simple_expr,
but I forgot CommandCounterIncrement().  Wish I could say it was a copy-
and-paste mistake, but it was pure stupidity...
        regards, tom lane


Re: RC2 intermittent errors

From
Bruce Momjian
Date:
Tom Lane wrote:
> Gaetano Mendola <mendola@bigfoot.com> writes:
> > I'm testing now RC2 against our application and I'm experiencing
> > intermittent errors. I isolated this test:
> 
> Argh!  I put a GetTransactionSnapshot() call into exec_eval_simple_expr,
> but I forgot CommandCounterIncrement().  Wish I could say it was a copy-
> and-paste mistake, but it was pure stupidity...

Can we continue with RC2 or do we need an RC3?

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


Re: RC2 intermittent errors

From
Tom Lane
Date:
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Tom Lane wrote:
>> Argh!  I put a GetTransactionSnapshot() call into exec_eval_simple_expr,
>> but I forgot CommandCounterIncrement().  Wish I could say it was a copy-
>> and-paste mistake, but it was pure stupidity...

> Can we continue with RC2 or do we need an RC3?

It's a one-liner change (assuming that my theory is right, which I won't
know for a little bit because I had just make distclean'd in order to
verify my tree against the RC2 tarball).  I don't think we should push
an RC3 just for this.  Wait a few days and see what else turns up ...
        regards, tom lane


Re: RC2 intermittent errors

From
Gaetano Mendola
Date:
Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> 
>>Tom Lane wrote:
>>
>>>Argh!  I put a GetTransactionSnapshot() call into exec_eval_simple_expr,
>>>but I forgot CommandCounterIncrement().  Wish I could say it was a copy-
>>>and-paste mistake, but it was pure stupidity...
> 
> 
>>Can we continue with RC2 or do we need an RC3?
> 
> 
> It's a one-liner change (assuming that my theory is right, which I won't
> know for a little bit because I had just make distclean'd in order to
> verify my tree against the RC2 tarball).  I don't think we should push
> an RC3 just for this.  Wait a few days and see what else turns up ...
> 

Did you updated the CVS ?


Regards
Gaetano Mendola