Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix[bmqeval]: Allow dots in subscription property names #459

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

pniedzielski
Copy link
Collaborator

Message properties allow arbitrary strings for property names, but our subscription expression language is more limited, requiring an initial alphabetic character followed by any number of alphanumeric characters and underscores. Some producers have begun using hierarchical message property names, separated by dots (“.”), and are unable to use subscriptions to filter or route according to these message properties.

This patch extends the expression language grammar to enable matching on subscription property names with dots in them. This change is a pure extension: the language recognized by the subscription expression grammar after this patch is a strict superset of the language recognized by the subscription expression grammar before this patch. This patch also extends the unit test for the lexer to ensure this is a strict superset.

Issue number of the reported bug or feature request: #458

Message properties allow arbitrary strings for property names, but our
subscription expression language is more limited, requiring an initial
alphabetic character followed by any number of alphanumeric characters
and underscores.  Some producers have begun using hierarchical message
property names, separated by dots (“.”), and are unable to use
subscriptions to filter or route according to these message properties.

This patch extends the expression language grammar to enable matching on
subscription property names with dots in them.  This change is a pure
extension: the language recognized by the subscription expression grammar
after this patch is a strict superset of the language recognized by the
subscription expression grammar before this patch.  This patch also
extends the unit test for the lexer to ensure this is a strict superset.

Signed-off-by: Patrick M. Niedzielski <patrick@pniedzielski.net>
@pniedzielski pniedzielski added enhancement New feature or request A-Broker Area: C++ Broker A-Client Area: C++ SDK labels Oct 11, 2024
@pniedzielski pniedzielski changed the title Allow dots in subscription property names Fix[bmqeval]: Allow dots in subscription property names Oct 11, 2024
@pniedzielski pniedzielski marked this pull request as ready for review October 11, 2024 19:31
@pniedzielski pniedzielski requested a review from a team as a code owner October 11, 2024 19:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Broker Area: C++ Broker A-Client Area: C++ SDK enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants