Skip to content

feat: support byte[] keyset columns - #8

Merged
DrSkillIssue merged 3 commits into
mainfrom
v3.0.1
May 26, 2026
Merged

DrSkillIssue merged 3 commits into
mainfrom
v3.0.1

Conversation

@DrSkillIssue

Copy link
Copy Markdown
Owner

Adds byte[] as a first-class keyset column type. Previously the cursor codec didn't know about it, and even if you got past that, the spine reconstructor only handled instance comparators with one argument, so a static byte[] comparer was structurally unrepresentable.

Three things had to move:

  • TypedCursorIo + CursorWriter/Reader learn byte[] (varuint length + raw bytes).
  • FilterPredicateStrategy gets a byte[] entry pointing at a static comparer that uses unsigned span comparison. MakeComparisonExpression now picks the instance-or-static Expression.Call form based on the MethodInfo, so the existing string/Guid/bool entries are unchanged.
  • SpineReconstructor learns to flatten static 2-arg method calls, treating arg[0] as the entity side and arg[1] as the placeholder.

@DrSkillIssue
DrSkillIssue merged commit 40c0f49 into main May 26, 2026
4 checks passed
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.

1 participant