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

Redesign Prepared (Fixes #95, #97) #157

Merged
merged 48 commits into from
Feb 4, 2018

Conversation

Abscissa
Copy link

@Abscissa Abscissa commented Feb 3, 2018

This intends to fix #95. It should also improve reliability as it also fixes #97.

Full description, including motivation, is in the included file ABOUT_PREPARED_V2.md

Tasks:

  • Eliminate PreparedImpl.
  • Eliminate Prepared.exec/Prepared.query. (Make them overloads of the regular exec/query functions.)
  • Eliminate Prepared.release/Prepared.register.
  • Eliminate Prepared's reference to a Connection.
  • Eliminate mysql.prepared's dependency on mysql.connection (except when compiling unittests).
  • Connection manages a list of the prepared statements registered on it.
  • Implement internal Connection.release/Connection.register functionality.
  • Create public Connection.release/Connection.register.
  • Create public ConnectionPool.release/ConnectionPool.register (delayed for follow-up release).
  • Automatically register Prepared the first time it's used on a Connection (if not already manually registered).
  • Ensure a prepared statement cannot accidentally remain in the release queue after it's re-registered. (This shouldn't be possible anyway, but need to be sure)
  • Temporary compatibility layer: prepareBackwardCompat.
  • Test calling release during GC cycle. (blocked by Solve the prepared statement automatic-release difficulty #159)
  • Implement Convenience exec/query overloads that do parameterized SQL #118 (delayed for follow-up release).
  • Prune dead imports.
  • Write "Migrating to v2.0.0" documentation.
  • Double-check for sufficient unittesting.
  • Double-check all relevant documentation.

…ing, and to operate on sql strings, not ids.
@Abscissa Abscissa added this to the v2.0.0 milestone Feb 3, 2018
@Abscissa Abscissa changed the title [WIP] Redesign Prepared [WIP] Redesign Prepared (Fixes #95) Feb 3, 2018
@Abscissa Abscissa changed the title [WIP] Redesign Prepared (Fixes #95) [WIP] Redesign Prepared (Fixes #95, #97) Feb 3, 2018
@Abscissa Abscissa changed the title [WIP] Redesign Prepared (Fixes #95, #97) Redesign Prepared (Fixes #95, #97) Feb 4, 2018
@Abscissa
Copy link
Author

Abscissa commented Feb 4, 2018

Just waiting for travis-ci approval now...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant