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

[feature] Extract public API into API package #251

Closed
mirromutth opened this issue Feb 28, 2024 · 0 comments · Fixed by #253
Closed

[feature] Extract public API into API package #251

mirromutth opened this issue Feb 28, 2024 · 0 comments · Fixed by #253
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@mirromutth
Copy link
Contributor

mirromutth commented Feb 28, 2024

Is your feature request related to a problem? Please describe.

Now we are exposing custom API extensions such as MySqlBatch, MySqlStatement, etc. So I think we can expose that API using a stable design.

Extract API will help us:

  1. Standardize our interface
  2. Let us clearly know which implementations are not consistent with r2dbc spec, like [bug]align withRowMetaData#getColumnMetadata(String) specification #244
  3. Issue [feature] Support for Stored Procedure Execution #245 can be resolved in an easier way
  4. Java 9 Modules support can be added in an easier way
  5. Make it easier for users or new contributors to understand the source code

Describe the solution you'd like

Extract these public interfaces to api package:

  • MySqlBatch
  • MySqlConnection
  • MySqlConnectionMetadata
  • MySqlTransactionDefinition
  • MySqlTypeMetadata
  • MySqlStatement
  • MySqlReadable
  • MySqlOutParameters
  • MySqlRow
  • MySqlRowMetadata
  • MySqlOutParametersMetadata
  • MySqlReadableMetadata
  • MySqlColumnMetadata
  • MySqlOutParameterMetadata
  • MySqlResult
    • MySqlResult.MySqlSegment or just MySqlResult.Segment
    • MySqlResult.MySqlRowSegment or just MySqlResult.RowSegment
    • MySqlResult.MySqlOutSegment or just MySqlResult.OutSegment
    • MySqlResult.MySqlUpdateCount or just MySqlResult.UpdateCount
    • MySqlResult.MySqlMessage or just MySqlResult.Message

Additional context

The extension.Extension and extension.CodecRegistrar are our extension SPI instead of an API, so keep as is.

See also r2dbc-mariadb and r2dbc-postgres does.

@mirromutth mirromutth self-assigned this Feb 28, 2024
@mirromutth mirromutth added the enhancement New feature or request label Feb 28, 2024
@mirromutth mirromutth added this to the 1.1.3 milestone Feb 28, 2024
@mirromutth mirromutth linked a pull request Feb 29, 2024 that will close this issue
@mirromutth mirromutth modified the milestone: 1.1.3 Feb 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant