-
Notifications
You must be signed in to change notification settings - Fork 9.5k
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 providers.Schemas and add a global schema cache #33482
Merged
Merged
Commits on Jul 6, 2023
-
Configuration menu - View commit details
-
Copy full SHA for d199d42 - Browse repository at this point
Copy the full SHA d199d42View commit details -
Add a single global schema cache for providers. This allows multiple provider instances to share a single copy of the schema, and prevents loading the schema multiple times for a given provider type during a single command. This does not currently work with some provider releases, which are using GetProviderSchema to trigger certain initializations. A new server capability will be introduced to trigger reloading their schemas, but not store duplicate results.
Configuration menu - View commit details
-
Copy full SHA for 53901a7 - Browse repository at this point
Copy the full SHA 53901a7View commit details -
use the same struct for all schema access
Unify the struct used for Schemes and GetProviderSchemaResponse so that we can have a single cache which handles all schema access.
Configuration menu - View commit details
-
Copy full SHA for 9d97465 - Browse repository at this point
Copy the full SHA 9d97465View commit details -
Use the global providers.SchemaCache and update all schema access to the providers.Schemas, except where the provider.GetProviderSchemaResponse type name would be expected. Some tests that reuse provider factories needed a little more careful handling. Change the fixed func to only reset the provider on the first call.
Configuration menu - View commit details
-
Copy full SHA for ec3a38e - Browse repository at this point
Copy the full SHA ec3a38eView commit details -
Configuration menu - View commit details
-
Copy full SHA for d487ce2 - Browse repository at this point
Copy the full SHA d487ce2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4e8dd58 - Browse repository at this point
Copy the full SHA 4e8dd58View commit details -
Configuration menu - View commit details
-
Copy full SHA for 36d3413 - Browse repository at this point
Copy the full SHA 36d3413View commit details -
Configuration menu - View commit details
-
Copy full SHA for cf5ebaf - Browse repository at this point
Copy the full SHA cf5ebafView commit details -
Configuration menu - View commit details
-
Copy full SHA for 68d86e8 - Browse repository at this point
Copy the full SHA 68d86e8View commit details -
Configuration menu - View commit details
-
Copy full SHA for b9d8d99 - Browse repository at this point
Copy the full SHA b9d8d99View commit details -
Configuration menu - View commit details
-
Copy full SHA for 76332db - Browse repository at this point
Copy the full SHA 76332dbView commit details -
Configuration menu - View commit details
-
Copy full SHA for a77baa8 - Browse repository at this point
Copy the full SHA a77baa8View commit details
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.