[Info-ingres] x100 transaction

Karl Schendel schendel at kbcomputer.com
Fri May 7 14:25:38 UTC 2021


> On May 7, 2021, at 6:43 AM, Martin Bowes <martin.bowes at ndph.ox.ac.uk> wrote:
> 
> Hi All,
>  
> On an x100 enabled database I did:
>  
> drop table if exists base;
> create table base(…) with structure = x100;
>  
> The base table does not exist, I only added the drop command in case I need to rerun this creation script.
>  
> So I was somewhat surprised to be confronted with error:
> E_US250E X100 statements are not allowed in this transaction.
>     Create or access an X100 table at the start of a new transaction
>     to enable X100 statement processing.
>  

You can put a commit after the drop if exists.

What's going on is that the delay_txn_start config parameter is probably set to ON.
That tells the DBMS server to not bother starting an X100 transaction when an
Ingres transaction starts, unless something x100-y is being done.  The initial drop
table doesn't force an x100 transaction start because there's no x100 work to do.
The create table does an explicit check to see if it's in an Ingres transaction but
no x100 transaction and throws that error.  Once X100 tables exist, the check is
a little different and you don't get the error.

Karl




More information about the Info-ingres mailing list