fix(sql): correct MySQL unix socket error message

The error message when failing to connect to a MySQL database via unix
socket incorrectly said "failed to connect to postgresql" instead of
"failed to connect to mysql". This was a copy-paste error.

Fixes #26648

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Claude Bot
2026-02-01 00:34:55 +00:00
parent a14a89ca95
commit b0512ccbf4
2 changed files with 42 additions and 1 deletions

View File

@@ -464,7 +464,7 @@ pub fn createInstance(globalObject: *jsc.JSGlobalObject, callframe: *jsc.CallFra
ptr.#connection.setSocket(.{
.SocketTCP = uws.SocketTCP.connectUnixAnon(path, ctx, ptr, false) catch |err| {
ptr.deref();
return globalObject.throwError(err, "failed to connect to postgresql");
return globalObject.throwError(err, "failed to connect to mysql");
},
});
} else {

View File

@@ -0,0 +1,41 @@
import { expect, test } from "bun:test";
import { bunEnv, bunExe, tempDir } from "harness";
test("MySQL unix socket error message should not say 'postgresql'", async () => {
using dir = tempDir("mysql-socket-test", {
"test.ts": `
import { join } from "path";
// Create a regular file (not a socket) to trigger the connection error
const fakeSockPath = join(import.meta.dirname, "fake.sock");
await Bun.write(fakeSockPath, "");
const conn = new Bun.SQL({
adapter: 'mysql',
path: fakeSockPath,
username: 'root',
database: 'test'
});
try {
await conn\`select 1\`;
} catch(e) {
console.log(e.message);
}
`,
});
await using proc = Bun.spawn({
cmd: [bunExe(), "test.ts"],
env: bunEnv,
cwd: String(dir),
stdout: "pipe",
stderr: "pipe",
});
const [stdout, stderr, exitCode] = await Promise.all([proc.stdout.text(), proc.stderr.text(), proc.exited]);
const output = stdout + stderr;
expect(output).not.toContain("postgresql");
expect(output).toContain("mysql");
expect(exitCode).toBe(0);
});