er.. never mind the BDE part, it has nothing to do with this.

On Feb 8, 2008 12:53 AM, Willy-Bas Loos <[EMAIL PROTECTED]> wrote:

> Hi,
>
> We have a large set of simple queries, that can run in both PostgreSQL and
> BDE (Corel Paradox backend).
> We want to be able to re-create some half-product tables (cache, sortof),
> while they are (possibly) being accessed by other users. Otherwise there
> would be a severe performance penalty. We were thinking about re-creating
> them in a transaction. Concurrent transactions may occur.
> But it doesn´t seem to work out.
>
> I tested it this way (in PostgreSQL 8.2.6 and in 8.1.10):
> in TTY1, run:
>   create table test (id int4 primary key);
>   insert into test (id) values (1);
>
> then in TTY2, run
>   begin;
>   drop table test;
>   create table test (id int4 primary key);
>   insert into test (id) values (2);
>
> then, in TTY1:
>   select * from test;
>
> Actually, i thought of a longer test, but it stops here - there is no
> response, no prompt anaymore, until i cancel the query.
> Is this correct behaviour of PostgreSQL? (i think not..)
>
> The easiest solution would be to just empty the tables instead of dropping
> them i guess, but this made me wonder about transactions. I've read the
> chapter on Transaction 
> Isolation<http://www.postgresql.org/docs/8.1/interactive/transaction-iso.html>,
> but it doesn't explain the behaviour of DROP.  Anything else i need to know?
> (OMG transactions are not pure magic ;P )
>
>
> WBL
>
>
>

Reply via email to