Skip to content

CREATE PERSISTENT ENTITY ... EXTENDS a non-persistent entity is silently created non-persistent #1772

Open

Description

@GlennCorvers

mxcli version: v0.30.0 (2026-11-02T17:31:03Z)
OS: Windows 11 (Git Bash, MINGW64)

Steps to reproduce

  1. In a module, create a non-persistent entity MyModule.Base.
  2. Run CREATE PERSISTENT ENTITY MyModule.Child EXTENDS MyModule.Base (...) through mxcli exec.
  3. Run describe entity MyModule.Child.

Expected

Either the statement is refused, because a persistent entity cannot extend a non-persistent one, or exec prints a warning that the declared PERSISTENT was overridden by the parent's persistability.

Actual

The entity is created as non-persistent. Exec gives no warning, and describe shows a non-persistent entity. A script that states PERSISTENT gets something else without being told.

Related: omitted values cannot be told from stated ones

These are smaller, but they share the cause that the model keeps no trace of what the script left out:

  • CREATE ... CALL REST SERVICE without Timeout is stored as Timeout: 300. describe cannot tell it from an explicit 300.
  • CREATE ASSOCIATION without TYPE or OWNER, and CREATE CONSUMED ODATA SERVICE without ODataVersion, store the default with no trace that it was omitted.

A warning on exec when a default is filled in would let a script author see it.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions