Project

General

Profile

Bug #7120

NO-UNDO dynamic temp-table does not set the NO-UNDO at the .schema

Added by Constantin Asofiei about 1 year ago. Updated about 1 year ago.

Status:
Test
Priority:
Normal
Target version:
-
Start date:
Due date:
% Done:

100%

billable:
No
vendor_id:
GCD
case_num:

History

#1 Updated by Constantin Asofiei about 1 year ago

This test:

def temp-table tt1 no-undo field f1 as clob.

def var ht as handle.
create temp-table ht.
ht:create-like(temp-table tt1:handle).
ht:temp-table-prepare("ttt").
message ht:undo.

produces this warning during the dynamic conversion:

WARNING: Large object fields can only be defined in NO-UNDO Temp-Tables. (14435)
         Field field1(FIELD_CLOB):0 in table dtt1(TEMP_TABLE):0

This is because the NO-UNDO property:

      <ast col="0" id="38654705667" line="0" text="properties" type="PROPERTIES">
        <ast col="20" id="38654705668" line="1" text="no-undo" type="KW_NO_UNDO"/>
      </ast>

is not being created by DynamicTablesHelper.generateSchemaAst.

#3 Updated by Ovidiu Maxiniuc about 1 year ago

  • % Done changed from 0 to 100
  • Assignee set to Ovidiu Maxiniuc
  • Status changed from New to WIP

Good analysis!
Actually, the value of the undo table attribute is not copied from the source table. It is by default false. However, if desired, it CAN be set programmatically after create-like.
I added the missing node and the test works correctly now.

Committed to 6129c as r14809.

#4 Updated by Constantin Asofiei about 1 year ago

  • Status changed from WIP to Test

Changes look good. Thanks.

Also available in: Atom PDF