submit io.pilot.mysql v9.7.1 — native MySQL server+client (local RDBMS)#74
Merged
Conversation
MySQL 9.7.1 (mysqld + mysql/mysqladmin/mysqldump/mysqlshow) as a native CLI app: a full local client/server RDBMS with no cloud account and no provisioning — the transactional server-grade sibling of io.pilot.sqlite and io.pilot.postgres. - Rich submission.json: 13 methods — lifecycle (initialize/start/stop/ping), createdb, query (aligned table) / query_tsv, databases/tables, dump (mysqldump), exec (verbatim-argv passthrough +stdin), mysql_help, version, + auto help. - Per-OS/arch bundles (darwin+linux, arm64+amd64) from the conda-forge MySQL build on the Pilot R2 registry, each sha-pinned in the signed manifest; a mysqlctl dispatcher wires basedir/plugin-dir/error-messages to the staged location so the relocated server finds its plugins. - Proportional native-cli grants (proc.exec mysqlctl, fs.write $APP staging, net.dial R2, fs.read $APP config/install). - ab-commands.json + committed linux/amd64 adapter bundle for the A/B gate. Verified: pilot-app verify-submission (4 platforms) + verify each bundle; macOS socket-mode drives the whole lifecycle against the real R2-staged server — initialize, start, createdb, CREATE TABLE + INSERT + SELECT, query_tsv, SHOW DATABASES/TABLES, mysqldump, mysqlshow, stop. Co-Authored-By: Alex Godoroja <alex@vulturelabs.io>
A/B report —
|
| Command | Vanilla ms | Pilot ms | Δ | Exit match |
|---|---|---|---|---|
| version | 8 | 10 | +2 | ✓ |
| mysql_help | 6 | 10 | +4 | ✓ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
App submission —
io.pilot.mysql9.7.1MySQL 9.7.1 (the full server + client suite) as a native CLI app — a real, local client/server RDBMS with no cloud account and no provisioning. The transactional, server-grade sibling of
io.pilot.sqlite(embedded) andio.pilot.postgres.Methods (13 + auto
help):mysql.initialize,mysql.start,mysql.stop,mysql.ping,mysql.createdb,mysql.query(aligned table),mysql.query_tsv,mysql.databases,mysql.tables,mysql.dump(mysqldump),mysql.exec(verbatim argv + stdin),mysql.mysql_help,mysql.version.Delivery: the MySQL server (
mysqld) + client tools come from the conda-forge build, repackaged per-OS/arch (darwin+linux, arm64+amd64) and hosted on the Pilot R2 registry, each sha-pinned in the signed manifest. A tinymysqlctldispatcher injects--basedir/--plugin-dir/--lc-messages-dirresolved to wherever the bundle is staged, so the relocated server finds its plugins and error messages (verified by extracting to a fresh path). Grants are the proportional native-cli set (proc.exec mysqlctl,fs.write $APPstaging,net.dial <r2>,fs.read $APP/{config,install}.json). Publisher:ed25519:cTZr4unmAHK/r8fS+TVQ4QiCIORimYe+y+bIdiUUfAY=.Verified:
pilot-app verify-submission(4 platforms) +pilot-app verifyeach bundle; macOS socket-mode drives the whole lifecycle against the real R2-staged server — initialize → start → createdb →CREATE TABLE dogs+INSERT+SELECT(aligned + TSV) →SHOW DATABASES/TABLES→mysqldump→mysqlshow→ stop.