Allow 'uncompleted' INSERT statements

Idea created by julio.ezequiel.decastro on Nov 28, 2018
    • Lynn_Williams
    • Beatriz_Simo
    • ersteller
    • Steve_Holton
    • SaeedAlmutairi
    • julio.ezequiel.decastro

    On GEN, when creating a "CREATE" statement, all columns present on the Table's "Data Structure List" will be used for the resulting INSERT SQL. All columns are used even if their corresponding attributes are not used on the CREATE's SET statements.


    We would like some option to allow an 'uncompleted' CREATE/INSERT: Where only the columns used on CREATE/SET statements will be referenced on the INSERT SQL.


    This would be useful for avoiding GEN's current timestamp (which is limited to milliseconds precission) and instead using DBMS current_timestamp, which supports microseconds.


    Also, with this, some other complex functions / special values could be used for the default.


    Another reason for this request is avoiding the following problem:


    Consider we want to drop some column on a table. For that reason, we first would remove all references to that column/atribute on the GEN code, and then we would remove the attribute and physical column.


    Consider an action block that makes a CREATE. It will be modified to remove the SET statement of the column we want to remove. Now, we would regen the AB code and we would think this AB is 'safe'. As it has no more references to the attribute we want to remove.


    Then we remove the attribute and the physical column. But the previous action block will start to fail as the code generator still references all columns of the table, so the old column is referenced. A new code regen will be necessary.


    Now, If we wanted to know what packages to regen, we could not know, since all references to the attribute are removed.