Subject RE: [firebird-support] Global Temp Table Question - pointer page vanished error
Author Alan McDonald
> >I have an FB2.1.3
> >
> > CREATE GLOBAL TEMPORARY TABLE CCIMPORTRAW (
> > ID PKID NOT NULL /* PKID =3D INTEGER DEFAULT 0 NOT NULL
> */,
> > ... other fields
> > ) ON COMMIT DELETE ROWS;
> >
> > The DB is on a web which has it's own authentication method (a user
> table in
> > the DB) so it uses a single user in FB to make connections.
> >
> > When 2 people (the same user as far as FB is concerned) make a
> submission to
> > this table at exactly the same moment, the server crashes with this
> error.
> >
> > internal gds software consistency check (pointer page vanished from
> > relation list in locate_space (254), file: dpm.cpp line: 3060)
>
> Are they shared the same Firebird attachment ?
Vlad,
Using
SELECT CURRENT_CONECTION FROM RBD$DATABASE
I can say that it is not reliably using the same OR differnet connections.
Sometimes the 2 pages are connecting using different and somtimes the same
connection number, but the error occurs in either case.
Alan


>
> > I'm using the current ODBC driver for connection.
> >
> > I know I am "abusing" the temp table in this scenario
>
> Not sure i understand you here. But Firebird should never throw
> that bugcheck
> in any case.
>
> > but I just wonder
> > if there might be a suggested workaround to make this work OK.
> Perhaps
> > another field and combined PK instead of this single integer field?
> Any
> > ideas before I start testing? Or maybe tell me I'm wasting my time?
> It could
> > be an artifact of the driver connection pooling...?
>
> I would like to reproduce and fix this bug.
>
> Regards,
> Vlad