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

codewide: Decrease excessive visibility from pub - breaking changes #774

Merged
merged 5 commits into from
Aug 18, 2023

Conversation

wprzytula
Copy link
Collaborator

In spirit of the referenced issue, scylla crate is saved from the hazardous siege of pub qualifiers. This PR collects the changes that I believe to be API-breaking. These changes, however, seem to be relatively benign.

Refs: #660

Pre-review checklist

  • I have split my patch into logically separate commits.
  • All commit messages clearly explain what they change and why.
  • [ ] I added relevant tests for new features and bug fixes.
  • All commits compile, pass static checks and pass test.
  • PR description sums up the changes and reasons why they should be introduced.
  • [ ] I have provided docstrings for the public items that I want to introduce.
  • [ ] I have adjusted the documentation in ./docs/source/.
  • [ ] I added appropriate Fixes: annotations to PR description.

It's only intended to be used by the driver's code.
Disclaimer: nothing has prevented users from calling this function, so
this is a breaking change. It is, however, hardly probable that anybody
would be using it directly in their code, so the change shouldn't hurt.
Both `RunQueryResult` and `AllowedRunQueryResTType` are internal
abstractions of the driver and should not be exposed.
Disclaimer: this is a breaking change, as the types were exposed.
I can't think of a useful way of utilising them, though, so nobody
should be hurt.
`ReplicaLocator` is intended to be exclusively constructed by the
driver's code. It is hence no use `new()` being `pub`.
Disclaimer: this is a breaking change, as one could have called the
method. I can't think of any reason for doing that, though, so let's
hope nobody is hurt.
`Metadata` serves the mere purpose of keeping the metadata together
until it gets incorporated into `ClusterData`. It it at no point
visible to the user by any public interface, so we can unpub it.
Disclaimer: this is a breaking change, as the type was reachable from
outside. I can't think of a useful way of utilising it, though, so
nobody should be hurt.
@wprzytula wprzytula added the API-breaking This might introduce incompatible API changes label Jul 30, 2023
`ShardInfo` is a container for sharding data fetched from a node. It
does not provide any functionality that could be useful for the user
(it is `Sharder` who does), so it's no point in keeping it exposed.
Disclaimer: this is a breaking change.
@wprzytula wprzytula added the API-stability Part of the effort to stabilize the API label Jul 30, 2023
@wprzytula wprzytula merged commit 932c6b4 into scylladb:main Aug 18, 2023
@wprzytula wprzytula deleted the codewide-unpub branch August 18, 2023 15:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
API-breaking This might introduce incompatible API changes API-stability Part of the effort to stabilize the API
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants