• [Info-ingres] x100 transaction

    From Martin Bowes@21:1/5 to All on Fri May 7 10:43:04 2021
    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.

    But I can do this with no error:
    drop table if exists normal;
    create table normal(a integer4 not null not default);
    select count(1) from normal;
    insert into normal values(1);
    drop table if exists base;
    create table base(...) with structure = x100;

    This doesn't look right to me. Any ideas?

    Martin Bowes


    <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
    <meta name="Generator" content="Microsoft Word 15 (filtered medium)"> <style><!--
    /* Font Definitions */
    @font-face
    {font-family:"Cambria Math";
    panose-1:2 4 5 3 5 4 6 3 2 4;}
    @font-face
    {font-family:Calibri;
    panose-1:2 15 5 2 2 2 4 3 2 4;}
    @font-face
    {font-family:"Lucida Console";
    panose-1:2 11 6 9 4 5 4 2 2 4;}
    /* Style Definitions */
    p.MsoNormal, li.MsoNormal, div.MsoNormal
    {margin:0cm;
    margin-bottom:.0001pt;
    font-size:11.0pt;
    font-family:"Calibri",sans-serif;
    mso-fareast-language:EN-US;}
    a:link, span.MsoHyperlink
    {mso-style-priority:99;
    color:#0563C1;
    text-decoration:underline;}
    a:visited, span.MsoHyperlinkFollowed
    {mso-style-priority:99;
    color:#954F72;
    text-decoration:underline;}
    span.EmailStyle17
    {mso-style-type:personal-compose;
    font-family:"Calibri",sans-serif;
    color:windowtext;}
    .MsoChpDefault
    {mso-style-type:export-only;
    font-family:"Calibri",sans-serif;
    mso-fareast-language:EN-US;}
    @page WordSection1
    {size:612.0pt 792.0pt;
    margin:72.0pt 72.0pt 72.0pt 72.0pt;}
    div.WordSection1
    {page:WordSection1;}
    </style><!--[if gte mso 9]><xml>
    <o:shapedefaults v:ext="edit" spidmax="1026" />
    </xml><![endif]--><!--[if gte mso 9]><xml>
    <o:shapelayout v:ext="edit">
    <o:idmap v:ext="edit" data="1" />
    </o:shapelayout></xml><![endif]-->
    </head>
    <body lang="EN-GB" link="#0563C1" vlink="#954F72">
    <div class="WordSection1">
    <p class="MsoNormal">Hi All,<o:p></o:p></p>
    <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
    <p class="MsoNormal">On an x100 enabled database I did:<o:p></o:p></p>
    <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
    <p class="MsoNormal">drop table if exists base;<o:p></o:p></p>
    <p class="MsoNormal">create table base(&#8230;) with structure = x100;<o:p></o:p></p>
    <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
    <p class="MsoNormal">The base table does not exist, I only added the drop command in case I need to rerun this creation script.
    <o:p></o:p></p>
    <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
    <p class="MsoNormal">So I was somewhat surprised to be confronted with error:<o:p></o:p></p>
    <p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">E_US250E X100 statements are not allowed in this transaction.<o:p></o:p></span></p>
    <p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">&nbsp;&nbsp;&nbsp; Create or access an X100 table at the start of a new transaction<o:p></o:p></span></p>
    <p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">&nbsp;&nbsp;&nbsp; to enable X100 statement processing.<o:p></o:p></span></p>
    <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
    <p class="MsoNormal">But I can do this with no error:<o:p></o:p></p>
    <p class="MsoNormal">drop table if exists normal;<o:p></o:p></p>
    <p class="MsoNormal">create table normal(a integer4 not null not default);<o:p></o:p></p>
    <p class="MsoNormal">select count(1) from normal;<o:p></o:p></p>
    <p class="MsoNormal">insert into normal values(1);<o:p></o:p></p>
    <p class="MsoNormal">drop table if exists base;<o:p></o:p></p>
    <p class="MsoNormal">create table base(&#8230;) with structure = x100;<o:p></o:p></p>
    <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
    <p class="MsoNormal">This doesn&#8217;t look right to me. Any ideas?<o:p></o:p></p>
    <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
    <p class="MsoNormal">Martin Bowes<o:p></o:p></p>
    <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
    </div>
    </body>
    </html>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Martin Bowes@21:1/5 to Martin Bowes on Fri May 7 10:55:52 2021
    To: info-ingres@lists.planetingres.org (info-ingres@lists.planetingres.org)

    I'm wondering if this may be an example of the transaction isolation mode getting involved in a way I hadn't anticipated.

    Marty

    From: Martin Bowes <martin.bowes@ndph.ox.ac.uk>
    Sent: 07 May 2021 11:43
    To: info-ingres@lists.planetingres.org
    Subject: [Info-ingres] x100 transaction

    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.

    But I can do this with no error:
    drop table if exists normal;
    create table normal(a integer4 not null not default);
    select count(1) from normal;
    insert into normal values(1);
    drop table if exists base;
    create table base(...) with structure = x100;

    This doesn't look right to me. Any ideas?

    Martin Bowes


    <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
    <meta name="Generator" content="Microsoft Word 15 (filtered medium)"> <style><!--
    /* Font Definitions */
    @font-face
    {font-family:"Cambria Math";
    panose-1:2 4 5 3 5 4 6 3 2 4;}
    @font-face
    {font-family:Calibri;
    panose-1:2 15 5 2 2 2 4 3 2 4;}
    @font-face
    {font-family:"Lucida Console";
    panose-1:2 11 6 9 4 5 4 2 2 4;}
    /* Style Definitions */
    p.MsoNormal, li.MsoNormal, div.MsoNormal
    {margin:0cm;
    margin-bottom:.0001pt;
    font-size:11.0pt;
    font-family:"Calibri",sans-serif;
    mso-fareast-language:EN-US;}
    a:link, span.MsoHyperlink
    {mso-style-priority:99;
    color:#0563C1;
    text-decoration:underline;}
    a:visited, span.MsoHyperlinkFollowed
    {mso-style-priority:99;
    color:#954F72;
    text-decoration:underline;}
    p.msonormal0, li.msonormal0, div.msonormal0
    {mso-style-name:msonormal;
    mso-margin-top-alt:auto;
    margin-right:0cm;
    mso-margin-bottom-alt:auto;
    margin-left:0cm;
    font-size:12.0pt;
    font-family:"Times New Roman",serif;}
    span.EmailStyle18
    {mso-style-type:personal;
    font-family:"Calibri",sans-serif;
    color:windowtext;}
    span.EmailStyle19
    {mso-style-type:personal-reply;
    font-family:"Calibri",sans-serif;
    color:#1F497D;}
    .MsoChpDefault
    {mso-style-type:export-only;
    font-size:10.0pt;}
    @page WordSection1
    {size:612.0pt 792.0pt;
    margin:72.0pt 72.0pt 72.0pt 72.0pt;}
    div.WordSection1
    {page:WordSection1;}
    </style><!--[if gte mso 9]><xml>
    <o:shapedefaults v:ext="edit" spidmax="1026" />
    </xml><![endif]--><!--[if gte mso 9]><xml>
    <o:shapelayout v:ext="edit">
    <o:idmap v:ext="edit" data="1" />
    </o:shapelayout></xml><![endif]-->
    </head>
    <body lang="EN-GB" link="#0563C1" vlink="#954F72">
    <div class="WordSection1">
    <p class="MsoNormal"><span style="color:#1F497D">I&#8217;m wondering if this may be an example of the transaction isolation mode getting involved in a way I hadn&#8217;t anticipated.<o:p></o:p></span></p>
    <p class="MsoNormal"><span style="color:#1F497D"><o:p>&nbsp;</o:p></span></p> <p class="MsoNormal"><span style="color:#1F497D">Marty<o:p></o:p></span></p>
    <p class="MsoNormal"><span style="color:#1F497D"><o:p>&nbsp;</o:p></span></p> <div>
    <div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
    <p class="MsoNormal"><b><span lang="EN-US" style="mso-fareast-language:EN-GB">From:</span></b><span lang="EN-US" style="mso-fareast-language:EN-GB"> Martin Bowes &lt;martin.bowes@ndph.ox.ac.uk&gt;

    <b>Sent:</b> 07 May 2021 11:43<br>
    <b>To:</b> info-ingres@lists.planetingres.org<br>
    <b>Subject:</b> [Info-ingres] x100 transaction<o:p></o:p></span></p>
    </div>
    </div>
    <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
    <p class="MsoNormal">Hi All,<o:p></o:p></p>
    <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
    <p class="MsoNormal">On an x100 enabled database I did:<o:p></o:p></p>
    <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
    <p class="MsoNormal">drop table if exists base;<o:p></o:p></p>
    <p class="MsoNormal">create table base(&#8230;) with structure = x100;<o:p></o:p></p>
    <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
    <p class="MsoNormal">The base table does not exist, I only added the drop command in case I need to rerun this creation script.
    <o:p></o:p></p>
    <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
    <p class="MsoNormal">So I was somewhat surprised to be confronted with error:<o:p></o:p></p>
    <p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">E_US250E X100 statements are not allowed in this transaction.<o:p></o:p></span></p>
    <p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">&nbsp;&nbsp;&nbsp; Create or access an X100 table at the start of a new transaction<o:p></o:p></span></p>
    <p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:&quot;Lucida Console&quot;">&nbsp;&nbsp;&nbsp; to enable X100 statement processing.<o:p></o:p></span></p>
    <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
    <p class="MsoNormal">But I can do this with no error:<o:p></o:p></p>
    <p class="MsoNormal">drop table if exists normal;<o:p></o:p></p>
    <p class="MsoNormal">create table normal(a integer4 not null not default);<o:p></o:p></p>
    <p class="MsoNormal">select count(1) from normal;<o:p></o:p></p>
    <p class="MsoNormal">insert into normal values(1);<o:p></o:p></p>
    <p class="MsoNormal">drop table if exists base;<o:p></o:p></p>
    <p class="MsoNormal">create table base(&#8230;) with structure = x100;<o:p></o:p></p>
    <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
    <p class="MsoNormal">This doesn&#8217;t look right to me. Any ideas?<o:p></o:p></p>
    <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
    <p class="MsoNormal">Martin Bowes<o:p></o:p></p>
    <p class="MsoNormal"><o:p>&nbsp;</o:p></p>
    </div>
    </body>
    </html>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Karl Schendel@21:1/5 to Martin Bowes on Fri May 7 10:25:38 2021
    Copy: info-ingres@lists.planetingres.org (info-ingres@lists.planetingres.org)

    On May 7, 2021, at 6:43 AM, Martin Bowes <martin.bowes@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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Martin Bowes@21:1/5 to Karl Schendel on Tue May 11 10:09:43 2021
    Copy: info-ingres@lists.planetingres.org (info-ingres@lists.planetingres.org)

    SGkgS2FybCwNCg0KPiBXaGF0J3MgZ29pbmcgb24gaXMgdGhhdCB0aGUgZGVsYXlfdHhuX3N0YXJ0 IGNvbmZpZyBwYXJhbWV0ZXIgaXMgcHJvYmFibHkgc2V0IHRvIE9OLg0KWWVzLg0KDQo+IFRoYXQg dGVsbHMgdGhlIERCTVMgc2VydmVyIHRvIG5vdCBib3RoZXIgc3RhcnRpbmcgYW4gWDEwMCB0cmFu c2FjdGlvbiB3aGVuIGFuIEluZ3JlcyB0cmFuc2FjdGlvbiBzdGFydHMsIHVubGVzcyBzb21ldGhp bmcgeDEwMC15IGlzIGJlaW5nIGRvbmUuICBUaGUgaW5pdGlhbCBkcm9wIHRhYmxlIGRvZXNuJ3Qg Zm9yY2UgYW4geDEwMCB0cmFuc2FjdGlvbiBzdGFydCBiZWNhdXNlIHRoZXJlJ3Mgbm8geDEwMCB3 b3JrIHRvIGRvLiBUaGUgY3JlYXRlIHRhYmxlIGRvZXMgYW4gZXhwbGljaXQgY2hlY2sgdG8gc2Vl IGlmIGl0J3MgaW4gYW4gSW5ncmVzIHRyYW5zYWN0aW9uIGJ1dCBubyB4MTAwIHRyYW5zYWN0aW9u IGFuZCB0aHJvd3MgdGhhdCBlcnJvci4gDQoNClNlZW1zIGZhaXIuDQoNCj4gT25jZSBYMTAwIHRh YmxlcyBleGlzdCwgdGhlIGNoZWNrIGlzIGEgbGl0dGxlIGRpZmZlcmVudCBhbmQgeW91IGRvbid0 IGdldCB0aGUgZXJyb3IuDQoNCldob2EhIEFuIGluaXRpYWxpc2F0aW9uIGNvbmRpdGlvbi4NCg0K U28gc3RhcnRpbmcgd2l0aCBhbiBlbXB0eSBkYXRhYmFzZS4uLg0KDQpUaGUgZHJvcCB0YWJsZSBp ZiBleGlzdHMgLyBjcmVhdGUgdGFibGUgd2l0aCBzdHJ1Y3R1cmUgPSB4MTAwIGZhaWxzIGFzIGJl Zm9yZS4NCg0KSG93ZXZlciwgaWYgd2UgZW5zdXJlIHdlIGhhdmUgYXQgbGVhc3Qgb25lIGV4aXN0 aW5nIHgxMDAgdGFibGUgZmlyc3QuLi46DQoNCmNyZWF0ZSB0YWJsZSBkdW1teShpZCBpbnRlZ2Vy NCBub3QgbnVsbCBub3QgZGVmYXVsdCkgd2l0aCBzdHJ1Y3R1cmUgPSB4MTAwOw0KY29tbWl0Ow0K DQpkcm9wIHRhYmxlIGlmIGV4aXN0cyBiYXNlOw0KY3JlYXRlIHRhYmxlIGJhc2UoaWQgaW50ZWdl cjQgbm90IG51bGwgbm90IGRlZmF1bHQpIHdpdGggc3RydWN0dXJlID0geDEwMDsNCmNvbW1pdDsN Cg0KVGhhdCBub3cgd29ya3MgYXMgZXhwZWN0ZWQuDQoNCk1hcnR5DQpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KSW5mby1pbmdyZXMgbWFpbGluZyBsaXN0 DQpJbmZvLWluZ3Jlc0BsaXN0cy5wbGFuZXRpbmdyZXMub3JnDQpodHRwczovL2xpc3RzLnBsYW5l dGluZ3Jlcy5vcmcvbWFpbG1hbi9saXN0aW5mby9pbmZvLWluZ3Jlcw0K

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)