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

Adding KeySelectors to get-range #30

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

FiV0
Copy link

@FiV0 FiV0 commented Dec 16, 2022

  • get-range also supports limit and skip now.
  • bumping the deps to 6.3.23
  • adding deps.edn to support git deps
    -a couple of tweaks to better support raw byte keys

So here the first PR for the issues raised in #29. It essentially adds KeySelectors and limit/skip options to get-range.
I am not sure this is is the best approach as this immense overloading of get-range makes the code a bit messy. So maybe worth thinking if a second get-range function would be a better option.

Will follow up with a second PR concerning the ordering returned by get-range.

- `get-range` also supports limit and skip now.
- bumping the deps to 6.3.23
- adding deps.edn to support git deps
- a couple of tweaks to better support raw byte keys
@FiV0
Copy link
Author

FiV0 commented Dec 16, 2022

Fixes #28.

Copy link
Owner

@vedang vedang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are right in that this does complicate the get-range function tremendously.

The code is also a bit difficult to understand, I need to read it again carefully.

I've given a cursory read to the code and made some comments about naming and PR structure. Please make these changes, I will read through this PR and test it in the next week. I will come back with some more comments then.

deps.edn Outdated
{:dev
{:extra-paths ["dev"]
:extra-deps {org.clojure/clojure {:mvn/version "1.11.1"}
com.lambdaisland/classpath {:mvn/version "0.0.27"}}}
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why are "dev" and lambdaisland/classpath needed?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed lambdaisland/classpath. I you want me to remove :dev completely I can also do that, it's just nice for people who might want to use the clojure cli.

project.clj Show resolved Hide resolved
src/me/vedang/clj_fdb/core.clj Outdated Show resolved Hide resolved
src/me/vedang/clj_fdb/subspace/subspace.clj Outdated Show resolved Hide resolved
test/me/vedang/clj_fdb/core_test.clj Outdated Show resolved Hide resolved
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