Skip to content

Business event MESSAGE attribute names reject common identifiers as reserved keywords #476

@retran

Description

@retran

Summary

When creating a business event service, MESSAGE attribute names that happen to be MDL reserved keywords are rejected by the parser, even though they are valid domain concepts.

Reproduction

CREATE BUSINESS EVENT SERVICE MyModule.Events
(ServiceName: 'Svc', EventNamePrefix: 'com.test')
{
  MESSAGE OrderCreated (Date: DateTime, Amount: Decimal) PUBLISH ENTITY MyModule.Order;
};

Error: Parse error: mismatched input 'Date' expecting IDENTIFIER

Affected keywords (tested)

Date, Created, Amount, Timestamp — all common attribute names rejected as reserved.

Expected behavior

The parser should allow identifierOrKeyword (not just IDENTIFIER) in MESSAGE attribute name position, or business event attribute names should use a separate lexer mode.

Workaround

Use non-keyword names: EventDate, TotalAmount, CreatedAt.

Version

mxcli v0.7.0-368-g5a109a0e

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