Skip to content

Retrieve DB and M can be indistinguishable #726

Description

@mkrouwel

Mx 11.8 and 11.10
MxCli 0.13

I have a very simple domainmodel with 2 entities: Order <- OrderLine(s)
I created attached microflow with 3 retrieve activities: one over association (memory) and two over association in DB with the same XPath just written in different order ([TestExamplesModule.OrderLine_Order = $Order] vs. [$Order = TestExamplesModule.OrderLine_Order]).

The MDL source of this microflow is as follows.
create or modify microflow TestExamplesModule.ACT_get_test ( $Order: TestExamplesModule.Order ) folder 'Input' begin @position(190, 200) retrieve $OrderLineList_M from $Order/TestExamplesModule.OrderLine_Order; @position(382, 200) retrieve $OrderLineList_DB from $Order/TestExamplesModule.OrderLine_Order; @position(572, 200) retrieve $OrderLineList_DB_rev from TestExamplesModule.OrderLine where $Order = TestExamplesModule.OrderLine_Order; @position(712, 200) return; end; /
Note that the first and second retrieve look very similar.
When I run this script against my project, it will result in all activities being a database retrieve.

Expectations:

  1. the MDL for a database and memory retrieve should be different, even when the same path is being used. For the 2nd statement I suggest retrieve $OrderLineList_DB from TestExamplesModule.OrderLine where TestExamplesModule.OrderLine_Order = $Order
  2. the first statement should result in a retrieve over association, not over Database

I also found examples where the retrieve statement does result in an association retrieve, but haven't found out yet why in one place it is rendered as an association retrieve and in other as a database retrieve.
As database and association retrieves will act differently, it is important that this is being solved.
Also in terms of roundtrip, where the same code is expected when regenerated, this should be fixed.

Note: it seems I can not add an MPK, so I only added a screenshot

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions