-
-
Notifications
You must be signed in to change notification settings - Fork 706
add TryGetableArray to DeriveValueType macros #2972
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
Open
sinder38
wants to merge
7
commits into
SeaQL:master
Choose a base branch
from
sinder38:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
998971c
Add fix and tests
sinder38 9f85b5d
Fix NewType with vec bug
sinder38 9b46597
Fix array implementation for DerivValueTypeString
sinder38 5e7ee97
add tests to sea-orm-sync
sinder38 e5f97cc
Merge branch 'SeaQL:master' into master
sinder38 37093d9
Merge remote-tracking branch 'upstream/master'
sinder38 520cf94
Remove debug print
sinder38 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -151,6 +151,29 @@ pub fn can_try_from_u64(field_type: &str) -> bool { | |
| ) | ||
| } | ||
|
|
||
| /// Maximum depth of vector nesting allowed INSIDE NEW TYPE before omitting sea_orm::TryGetableArray | ||
| /// For example, `struct A (Vec<Vec<i32>>)` has dimensionality of 2 | ||
| /// Abosolute maximum would be 5, because of Postgres limit of 6 | ||
| const MAX_VEC_DIMENSIONALITY: u8 = 0; | ||
|
|
||
| /// Determines whether to omit `sea_orm::TryGetableArray` implementation for a given field type | ||
| /// based on the vector dimensionality. | ||
| pub fn omit_vec_impl(field_type: &str) -> bool { | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should this be
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Doesn't have to since it used in one place only right now(honestly, don't remember if it can be used in more places). |
||
| let mut depth = 0u8; | ||
| let mut current = field_type.trim(); | ||
|
|
||
| while let Some(inner) = current.strip_prefix("Vec<") { | ||
|
Huliiiiii marked this conversation as resolved.
|
||
| #[allow(clippy::absurd_extreme_comparisons)] | ||
| if depth >= MAX_VEC_DIMENSIONALITY { | ||
| return true; | ||
| } | ||
| depth += 1; | ||
| current = inner.trim_start(); | ||
| } | ||
|
|
||
| false | ||
| } | ||
|
|
||
| /// Return whether it is nullable | ||
| fn trim_option(s: &str) -> (bool, &str) { | ||
| if s.starts_with("Option<") { | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do you think of the name
skip_try_getable_array_impl?@tyt2y3