Skip to content

Conversation

skinkie
Copy link
Contributor

@skinkie skinkie commented Sep 5, 2025

Every function is ran against black, ruff and mypy.

I think we should still do some work to make sure that the get and iter functions will not result "None, None" depending if that is feasible from mdbx. I think it would make the code checking a lot safer, and less bytes|None, bytes|None.

There have been made some significant changes, including evident bug fixes. I would suggest, if merged, not to squash, but keep the individual commits.

@wtdcode
Copy link
Owner

wtdcode commented Sep 5, 2025

Spare me some time to fix CI.

@skinkie
Copy link
Contributor Author

skinkie commented Sep 5, 2025

Spare me some time to fix CI.

Sure. Suggest you go over the commit text too, you will find things that require eyes to review. From QA perspective a test that can actually test hsr, would be good.

In the mean time I'll ty around a few things.

@skinkie
Copy link
Contributor Author

skinkie commented Sep 5, 2025

@erthink mentioned on telegram. MDBX supports zero-size keys and values, which can be interpreted as NULL.

That means that the signature bytes | None would be actually correct. It obviously depend if we want to expose it as b'' or None. I guess adding a test for such situation is good.

@wtdcode
Copy link
Owner

wtdcode commented Sep 5, 2025

@erthink mentioned on telegram. MDBX supports zero-size keys and values, which can be interpreted as NULL.

That means that the signature bytes | None would be actually correct. It obviously depend if we want to expose it as b'' or None. I guess adding a test for such situation is good.

b'' looks good to me.

@skinkie
Copy link
Contributor Author

skinkie commented Sep 5, 2025

b'' looks good to me.

Then I need to figure out in what case None is a current 'valid' reply. But I'll take a peak at that too. I'll wait for your CI setup, and review.

This fixes the issue where MDBXCursorOp was misaligned, and failed SET_RANGE.

Implements a SET_RANGE unit test.
Allow rw_traaction to pass the parentxn
Implement a unit test to test a parent_txn
Implement a test that checks for null byte termination and length.
I think our users expect that when the provide bytes (or in that respect an integer converted to bytes) this is opened as-is.
The option mdbx_dbi_open is effectively null terminated.
@wtdcode
Copy link
Owner

wtdcode commented Sep 23, 2025

py3.9 will die in 1 month: https://endoflife.date/python

Let's bump 3.10

@wtdcode wtdcode merged commit fa8fd45 into wtdcode:master Sep 24, 2025
7 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.

2 participants