-
Notifications
You must be signed in to change notification settings - Fork 14
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
Support custom sharding function #237
Labels
feature
A new functionality
Comments
Totktonada
changed the title
Use custom sharding function
Support custom sharding function
Nov 13, 2021
Closed
AnaNek
added a commit
that referenced
this issue
Jan 12, 2022
Since this patch presents the implementation of support of DDL sharding function, the number of files associated with sharding will increase in the `common` folder. Therefore, a separate directory was created for files containing methods for working with sharding. Part of #237
AnaNek
added a commit
that referenced
this issue
Jan 12, 2022
…` file PR #181 introduced support of DDL sharding keys. Implementation of sharding keys support contains methods that are common to support sharding keys and sharding functions. That's why a separate file `sharding_metadata.lua` was created to contain common methods. In this commit content of `sharding_key.lua` file is coppied to `sharding_metadata.lua` file to simplify a reviewer's life and display the history of changes relative to PR #181 in the following commits. Part of #237
AnaNek
added a commit
that referenced
this issue
Jan 12, 2022
It would be more efficient to get sharding keys and sharding functions from storage in one `fetch_on_storage` function call. So, this function is common for sharding keys and sharding functions support. As well as functions for fetching on router. These methods are introduced in `sharding_metadata` module. Methods for working with sharding key structure are introduced in sharding key module. Part of #237
AnaNek
added a commit
that referenced
this issue
Jan 12, 2022
Sharding key cache contains sharding key structures separated by space name. Before this fix if sharding key was incorrect for some space an error was returned and sharding keys that were after the incorrect one did not get into the cache. The solution is to create a variable for an error and write a message to it if an error occurred for the space we are working with, output a warning for other spaces. Part of #237
AnaNek
added a commit
that referenced
this issue
Jan 12, 2022
In DDL PR tarantool/ddl#72 methods for checking and extracting sharding function were introduced. These methods are needed for supporting sharding functions in CRUD as well. In this commit these methods were coppied from DDL and covered by unit tests. Part of #237
AnaNek
added a commit
that referenced
this issue
Jan 12, 2022
This commit introduces modifications in functions for fetching sharding metadata on storage and router to get sharding function. Function `sharding.key_get_bucket_id` calculates bucket_id using DDL sharding function if sharding function exist for specified space. Description in documentation, integration and unit tests are added as well. Closes #237
AnaNek
added a commit
that referenced
this issue
Jan 27, 2022
Since this patch presents the implementation of support of DDL sharding function, the number of files associated with sharding will increase in the `common` folder. Therefore, a separate directory was created for files containing methods for working with sharding. Part of #237
AnaNek
added a commit
that referenced
this issue
Jan 27, 2022
…` file PR #181 introduced support of DDL sharding keys. Implementation of sharding keys support contains methods that are common to support sharding keys and sharding functions. That's why a separate file `sharding_metadata.lua` was created to contain common methods. In this commit content of `sharding_key.lua` file is coppied to `sharding_metadata.lua` file to simplify a reviewer's life and display the history of changes relative to PR #181 in the following commits. Part of #237
AnaNek
added a commit
that referenced
this issue
Jan 27, 2022
It would be more efficient to get sharding keys and sharding functions from storage in one `fetch_on_storage` function call. So, this function is common for sharding keys and sharding functions support. As well as functions for fetching on router. These methods are introduced in `sharding_metadata` module. Methods for working with sharding key structure are introduced in sharding key module. Part of #237
AnaNek
added a commit
that referenced
this issue
Jan 27, 2022
Sharding key cache contains sharding key structures separated by space name. Before this fix if sharding key was incorrect for some space an error was returned and sharding keys that were after the incorrect one did not get into the cache. The solution is to create a variable for an error and write a message to it if an error occurred for the space we are working with, output a warning for other spaces. Part of #237
AnaNek
added a commit
that referenced
this issue
Jan 27, 2022
In DDL PR tarantool/ddl#72 methods for checking and extracting sharding function were introduced. These methods are needed for supporting sharding functions in CRUD as well. In this commit these methods were coppied from DDL and covered by unit tests. Part of #237
AnaNek
added a commit
that referenced
this issue
Jan 27, 2022
This commit introduces modifications in functions for fetching sharding metadata on storage and router to get sharding function. Function `sharding.key_get_bucket_id` calculates bucket_id using DDL sharding function if sharding function exist for specified space. Description in documentation, integration and unit tests are added as well. Closes #237
AnaNek
added a commit
that referenced
this issue
Jan 27, 2022
Sharding key cache contains sharding key structures separated by space name. Before this fix if sharding key was incorrect for some space an error was returned and sharding keys that were after the incorrect one did not get into the cache. The solution is to create a variable for an error and write a message to it if an error occurred for the space we are working with, output a warning for other spaces. Part of #237
AnaNek
added a commit
that referenced
this issue
Jan 27, 2022
In DDL PR tarantool/ddl#72 methods for checking and extracting sharding function were introduced. These methods are needed for supporting sharding functions in CRUD as well. In this commit these methods were coppied from DDL and covered by unit tests. Part of #237
AnaNek
added a commit
that referenced
this issue
Jan 27, 2022
This commit introduces modifications in functions for fetching sharding metadata on storage and router to get sharding function. Function `sharding.key_get_bucket_id` calculates bucket_id using DDL sharding function if sharding function exist for specified space. Description in documentation, integration and unit tests are added as well. Closes #237
AnaNek
added a commit
that referenced
this issue
Jan 28, 2022
…` file PR #181 introduced support of DDL sharding keys. Implementation of sharding keys support contains methods that are common to support sharding keys and sharding functions. That's why a separate file `sharding_metadata.lua` was created to contain common methods. In this commit content of `sharding_key.lua` file is coppied to `sharding_metadata.lua` file to simplify a reviewer's life and display the history of changes relative to PR #181 in the following commits. Part of #237
AnaNek
added a commit
that referenced
this issue
Jan 28, 2022
It would be more efficient to get sharding keys and sharding functions from storage in one `fetch_on_storage` function call. So, this function is common for sharding keys and sharding functions support. As well as functions for fetching on router. These methods are introduced in `sharding_metadata` module. Methods for working with sharding key structure are introduced in sharding key module. Part of #237
AnaNek
added a commit
that referenced
this issue
Jan 28, 2022
Sharding key cache contains sharding key structures separated by space name. Before this fix if sharding key was incorrect for some space an error was returned and sharding keys that were after the incorrect one did not get into the cache. The solution is to create a variable for an error and write a message to it if an error occurred for the space we are working with, output a warning for other spaces. Part of #237
AnaNek
added a commit
that referenced
this issue
Jan 28, 2022
In DDL PR tarantool/ddl#72 methods for checking and extracting sharding function were introduced. These methods are needed for supporting sharding functions in CRUD as well. In this commit these methods were coppied from DDL and covered by unit tests. Part of #237
AnaNek
added a commit
that referenced
this issue
Jan 28, 2022
This commit introduces modifications in functions for fetching sharding metadata on storage and router to get sharding function. Function `sharding.key_get_bucket_id` calculates bucket_id using DDL sharding function if sharding function exist for specified space. Description in documentation, integration and unit tests are added as well. Closes #237
AnaNek
added a commit
that referenced
this issue
Jan 28, 2022
Since this patch presents the implementation of support of DDL sharding function, the number of files associated with sharding will increase in the `common` folder. Therefore, a separate directory was created for files containing methods for working with sharding. Part of #237
AnaNek
added a commit
that referenced
this issue
Feb 1, 2022
Since this patch presents the implementation of support of DDL sharding function, the number of files associated with sharding will increase in the `common` folder. Therefore, a separate directory was created for files containing methods for working with sharding. Part of #237
AnaNek
added a commit
that referenced
this issue
Feb 1, 2022
…` file PR #181 introduced support of DDL sharding keys. Implementation of sharding keys support contains methods that are common to support sharding keys and sharding functions. That's why a separate file `sharding_metadata.lua` was created to contain common methods. This commit relocates functions for fetching sharding key from `sharding_key.lua` file to `sharding_metadata.lua` file to simplify a reviewer's life and display the history of changes relative to PR #181 in the following commits. Part of #237
AnaNek
added a commit
that referenced
this issue
Feb 1, 2022
It would be more efficient to get sharding keys and sharding functions from storage in one `fetch_on_storage` function call. So, this function is common for sharding keys and sharding functions support. As well as functions for fetching on router. These methods are introduced in `sharding_metadata` module. Methods for working with sharding key structure are introduced in sharding key module. Part of #237
AnaNek
added a commit
that referenced
this issue
Feb 1, 2022
Sharding key cache contains sharding key structures separated by space name. Before this fix if sharding key was incorrect for some space an error was returned and sharding keys that were after the incorrect one did not get into the cache. The solution is to create a variable for an error and write a message to it if an error occurred for the space we are working with, output a warning for other spaces. Part of #237
AnaNek
added a commit
that referenced
this issue
Feb 1, 2022
In DDL PR tarantool/ddl#72 methods for checking and extracting sharding function were introduced. These methods are needed for supporting sharding functions in CRUD as well. In this commit these methods were coppied from DDL and covered by unit tests. Part of #237
AnaNek
added a commit
that referenced
this issue
Feb 1, 2022
This commit introduces modifications in functions for fetching sharding metadata on storage and router to get sharding function. Function `sharding.key_get_bucket_id` calculates bucket_id using DDL sharding function if sharding function exist for specified space. Description in documentation, integration and unit tests are added as well. Closes #237
AnaNek
added a commit
that referenced
this issue
Feb 7, 2022
…` file PR #181 introduced support of DDL sharding keys. Implementation of sharding keys support contains methods that are common to support sharding keys and sharding functions. That's why a separate file `sharding_metadata.lua` was created to contain common methods. This commit relocates functions for fetching sharding key from `sharding_key.lua` file to `sharding_metadata.lua` file to simplify a reviewer's life and display the history of changes relative to PR #181 in the following commits. Part of #237
AnaNek
added a commit
that referenced
this issue
Feb 7, 2022
It would be more efficient to get sharding keys and sharding functions from storage in one `fetch_on_storage` function call. So, this function is common for sharding keys and sharding functions support. As well as functions for fetching on router. These methods are introduced in `sharding_metadata` module. Methods for working with sharding key structure are introduced in sharding key module. Part of #237
AnaNek
added a commit
that referenced
this issue
Feb 7, 2022
Sharding key cache contains sharding key structures separated by space name. Before this fix if sharding key was incorrect for some space an error was returned and sharding keys that were after the incorrect one did not get into the cache. The solution is to create a variable for an error and write a message to it if an error occurred for the space we are working with, output a warning for other spaces. Part of #237
AnaNek
added a commit
that referenced
this issue
Feb 7, 2022
In DDL PR tarantool/ddl#72 methods for checking and extracting sharding function were introduced. These methods are needed for supporting sharding functions in CRUD as well. In this commit these methods were coppied from DDL and covered by unit tests. Part of #237
AnaNek
added a commit
that referenced
this issue
Feb 7, 2022
This commit introduces modifications in functions for fetching sharding metadata on storage and router to get sharding function. Function `sharding.key_get_bucket_id` calculates bucket_id using DDL sharding function if sharding function exist for specified space. Description in documentation, integration and unit tests are added as well. Closes #237
AnaNek
added a commit
that referenced
this issue
Feb 8, 2022
In DDL PR tarantool/ddl#72 methods for checking and extracting sharding function were introduced. These methods are needed for supporting sharding functions in CRUD as well. In this commit these methods were coppied from DDL and covered by unit tests. Part of #237
AnaNek
added a commit
that referenced
this issue
Feb 8, 2022
This commit introduces modifications in functions for fetching sharding metadata on storage and router to get sharding function. Function `sharding.key_get_bucket_id` calculates bucket_id using DDL sharding function if sharding function exist for specified space. Description in documentation, integration and unit tests are added as well. Closes #237
AnaNek
added a commit
that referenced
this issue
Feb 21, 2022
Since this patch presents the implementation of support of DDL sharding function, the number of files associated with sharding will increase in the `common` folder. Therefore, a separate directory was created for files containing methods for working with sharding. Part of #237
AnaNek
added a commit
that referenced
this issue
Feb 21, 2022
…` file PR #181 introduced support of DDL sharding keys. Implementation of sharding keys support contains methods that are common to support sharding keys and sharding functions. That's why a separate file `sharding_metadata.lua` was created to contain common methods. This commit relocates functions for fetching sharding key from `sharding_key.lua` file to `sharding_metadata.lua` file to simplify a reviewer's life and display the history of changes relative to PR #181 in the following commits. Part of #237
AnaNek
added a commit
that referenced
this issue
Feb 21, 2022
It would be more efficient to get sharding keys and sharding functions from storage in one `fetch_on_storage` function call. So, this function is common for sharding keys and sharding functions support. As well as functions for fetching on router. These methods are introduced in `sharding_metadata` module. Methods for working with sharding key structure are introduced in sharding key module. Part of #237
AnaNek
added a commit
that referenced
this issue
Feb 21, 2022
Sharding key cache contains sharding key structures separated by space name. Before this fix if sharding key was incorrect for some space an error was returned and sharding keys that were after the incorrect one did not get into the cache. The solution is to create a variable for an error and write a message to it if an error occurred for the space we are working with, output a warning for other spaces. Part of #237
AnaNek
added a commit
that referenced
this issue
Feb 21, 2022
In DDL PR tarantool/ddl#72 methods for checking and extracting sharding function were introduced. These methods are needed for supporting sharding functions in CRUD as well. In this commit these methods were coppied from DDL and covered by unit tests. Part of #237
AnaNek
added a commit
that referenced
this issue
Feb 21, 2022
This commit introduces modifications in functions for fetching sharding metadata on storage and router to get sharding function. Function `sharding.key_get_bucket_id` calculates bucket_id using DDL sharding function if sharding function exist for specified space. Description in documentation, integration and unit tests are added as well. Closes #237
AnaNek
added a commit
that referenced
this issue
Feb 21, 2022
This commit introduces modifications in functions for fetching sharding metadata on storage and router to get sharding function. Function `sharding.key_get_bucket_id` calculates bucket_id using DDL sharding function if sharding function exist for specified space. Description in documentation, integration and unit tests are added as well. Closes #237
Totktonada
pushed a commit
that referenced
this issue
Feb 21, 2022
Since this patch presents the implementation of support of DDL sharding function, the number of files associated with sharding will increase in the `common` folder. Therefore, a separate directory was created for files containing methods for working with sharding. Part of #237
Totktonada
pushed a commit
that referenced
this issue
Feb 21, 2022
…` file PR #181 introduced support of DDL sharding keys. Implementation of sharding keys support contains methods that are common to support sharding keys and sharding functions. That's why a separate file `sharding_metadata.lua` was created to contain common methods. This commit relocates functions for fetching sharding key from `sharding_key.lua` file to `sharding_metadata.lua` file to simplify a reviewer's life and display the history of changes relative to PR #181 in the following commits. Part of #237
Totktonada
pushed a commit
that referenced
this issue
Feb 21, 2022
It would be more efficient to get sharding keys and sharding functions from storage in one `fetch_on_storage` function call. So, this function is common for sharding keys and sharding functions support. As well as functions for fetching on router. These methods are introduced in `sharding_metadata` module. Methods for working with sharding key structure are introduced in sharding key module. Part of #237
Totktonada
pushed a commit
that referenced
this issue
Feb 21, 2022
Sharding key cache contains sharding key structures separated by space name. Before this fix if sharding key was incorrect for some space an error was returned and sharding keys that were after the incorrect one did not get into the cache. The solution is to create a variable for an error and write a message to it if an error occurred for the space we are working with, output a warning for other spaces. Part of #237
Totktonada
pushed a commit
that referenced
this issue
Feb 21, 2022
In DDL PR tarantool/ddl#72 methods for checking and extracting sharding function were introduced. These methods are needed for supporting sharding functions in CRUD as well. In this commit these methods were coppied from DDL and covered by unit tests. Part of #237
Totktonada
pushed a commit
that referenced
this issue
Feb 21, 2022
This commit introduces modifications in functions for fetching sharding metadata on storage and router to get sharding function. Function `sharding.key_get_bucket_id` calculates bucket_id using DDL sharding function if sharding function exist for specified space. Description in documentation, integration and unit tests are added as well. Closes #237
DifferentialOrange
added a commit
that referenced
this issue
Apr 8, 2022
1 task
DifferentialOrange
added a commit
that referenced
this issue
Apr 10, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Let crud know about
_ddl_sharding_func
space (tarantool/ddl#71) and use provided function to calculate a bucket id by a sharding key.Part of #27.
The text was updated successfully, but these errors were encountered: