RE: [HACKERS] libpq questuion
От | Hiroshi Inoue |
---|---|
Тема | RE: [HACKERS] libpq questuion |
Дата | |
Msg-id | 000101be5402$bd0769c0$2801007e@cadzone.tpf.co.jp обсуждение исходный текст |
Ответ на | Re: [HACKERS] libpq questuion (jwieck@debis.com (Jan Wieck)) |
Список | pgsql-hackers |
Hello all, > -----Original Message----- > From: owner-pgsql-hackers@postgreSQL.org > [mailto:owner-pgsql-hackers@postgreSQL.org]On Behalf Of Jan Wieck > Sent: Monday, February 08, 1999 11:47 PM > To: dms@wplus.net > Cc: pgsql-hackers@hub.org > Subject: Re: [HACKERS] libpq questuion > > > Dmitry Samersoff wrote: > > > > > While update table whithin fetch forward loop > > cause infinite fetching of updated touple? > > > > (code fragment below cause infinite > > displayng record with oid 20864) > > > > > > > ------------------------------------------------------------------ > ---------- > > PQexec(_conn, "BEGIN"); > > PQexec(_conn, "DECLARE curr1 CURSOR FOR select oid, name from > domains;"); > > > > while(1) > > { > > _res = PQexec(_conn, "FETCH FORWARD 1 IN curr1"); > > if( PQresultStatus(_res) != PGRES_TUPLES_OK ) break; > > > > PQexec(_conn, "update domains set type = 3 where oid = 20864" ); > > printf("oid: %s name: %s\n", > PQgetvalue(_res,0,0),PQgetvalue(_res,0,1)); > > } > > > ------------------------------------------------------------------ > --------- > > Which Postgres version? > > I guess it is a side effect from the visibility of tuples > (records) in conjunction with portals (cursors). > > The reason must be that the the UPDATE inside the loop add's > new tuples to the table at it's end. It also issues a > CommandCounterIncrement(), so the new tuples get visible to > the already running scan for the portal. > Current cursors are strangely sensitive in some cases. So 4 months ago,I requested INSENSITIVE cursors.. I'm very happy if you will implement INSENSITIVE cursors. And all cursors will be INSENSITIVE even if there are no INSENSITIVE keywords ? Thanks. Hiroshi Inoue Inoue@tpf.co.jp
В списке pgsql-hackers по дате отправления: