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

refactor: add associated type kvapi::Value::KeyType #16320

Merged
merged 1 commit into from
Aug 23, 2024

Conversation

drmingdrmer
Copy link
Member

@drmingdrmer drmingdrmer commented Aug 23, 2024

I hereby agree to the terms of the CLA available at: https://docs.databend.com/dev/policies/cla/

Summary

refactor: add associated type kvapi::Value::KeyType

This way the key tyep and the value type becomes one-to-one mapping.
The KeyType is used to build a key from a value.

For example, Id<DatabaseId> is a value, to build a key to load
DatabaseMeta, it needs a Tenant to build the key TIdent<T>.
Such a Tenant can be retrieve from the key of Id<DatabaseId>, i.e.,
<Id<DatabaseId> as kvapi::Value>::KeyType

refactor: simplify get_data_mask

Tests

  • Unit Test
  • Logic Test
  • Benchmark Test
  • No Test - Explain why

Type of change

  • Refactoring

Related Issues


This change is Reviewable

@github-actions github-actions bot added the pr-refactor this PR changes the code base without new features or bugfix label Aug 23, 2024
@drmingdrmer drmingdrmer marked this pull request as ready for review August 23, 2024 08:59
This way the key tyep and the value type becomes one-to-one mapping.
The KeyType is used to build a key from a value.

For example, `Id<DatabaseId>` is a value, to build a key to load
`DatabaseMeta`, it needs a `Tenant` to build the key `TIdent<T>`.
Such a `Tenant` can be retrieve from the key of `Id<DatabaseId>`, i.e.,
`<Id<DatabaseId> as kvapi::Value>::KeyType`

refactor: simplify get_data_mask
@drmingdrmer drmingdrmer requested a review from everpcpc August 23, 2024 14:50
@drmingdrmer drmingdrmer merged commit 5bf5b16 into databendlabs:main Aug 23, 2024
69 of 70 checks passed
@drmingdrmer drmingdrmer deleted the 119-value-key-type branch August 23, 2024 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr-refactor this PR changes the code base without new features or bugfix
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant