Skip to content

Reject multiple rows when the protobuf cannot represent groups - #561

Merged
Unheilbar merged 1 commit into
solana-gogen-fix-filter-genfrom
solana-gogen-fix-filter-gen-ts
Jul 30, 2026
Merged

Reject multiple rows when the protobuf cannot represent groups#561
Unheilbar merged 1 commit into
solana-gogen-fix-filter-genfrom
solana-gogen-fix-filter-gen-ts

Conversation

@Unheilbar

@Unheilbar Unheilbar commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Expected behavior

Multi-row Solana filter input should be interpreted as OR across rows, with AND inside each row.
Example intent:
Row 1: caller = Alice AND message = hello
Row 2: caller = Bob AND message = bye
Effective logic should be:
(caller = Alice AND message = hello) OR (caller = Bob AND message = bye)

Actual before this change

Generated comparers were flattened per field.
Log poller evaluated those comparers with AND.
This could create impossible predicates and silently inactive triggers.

Actual after this change

Unsupported multi-row input is rejected at configuration time with clear single-row guidance.
Conflicting same-subkey equality filters are rejected.
Valid single-row filters continue to work normally.

Prevents successful registration of triggers that can never match. Fails fast with actionable feedback instead of silent no-op behavior.

@Unheilbar
Unheilbar requested a review from a team as a code owner July 30, 2026 18:36
@Unheilbar
Unheilbar merged commit 91b2f40 into solana-gogen-fix-filter-gen Jul 30, 2026
@Unheilbar
Unheilbar deleted the solana-gogen-fix-filter-gen-ts branch July 30, 2026 19:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants