deno-postgres panics on `name_too_long` error
uki00a opened this issue · 0 comments
uki00a commented
Summary
I noticed that deno-postgres panics when PostgreSQL returns name_too_long
error. I think deno-postgres should handle this error like node-postgres does. (See Additional information
)
Steps to reproduce
Run the following code with deno run
command:
import { Client } from "https://deno.land/x/postgres@v0.7.1/mod.ts"
const client = new Client({
"applicationName": "deno-postgres",
"database": "deno-postgres",
"hostname": "127.0.0.1",
"password": "test",
"port": 5432,
"user": "test"
});
await client.connect();
const result = await client.queryArray(`
SELECT 1 AS "very_very_very_very_very_very_very_very_very_very_very_long_name"
`);
Error message in the console:
NOTICE: identifier "very_very_very_very_very_very_very_very_very_very_very_long_name" will be truncated to "very_very_very_very_very_very_very_very_very_very_very_long_nam"
error: Uncaught (in promise) Error: Unexpected frame: T
throw new Error(`Unexpected frame: ${msg.type}`);
Environment
- deno-postgres@v0.7.1
- deno@v1.7.2
Additional information
When running the same query with node-postgres, it works as follows:
const { Client } = require('pg');
const client = new Client({
database: "deno-postgres",
host: "127.0.0.1",
password: "test",
port: 5432,
user: "test"
});
client.connect();
client.query(`SELECT 1 AS "very_very_very_very_very_very_very_very_very_very_very_long_name"`, (err, res) => {
if (err) {
console.error(err);
} else {
console.log(res.rows);
}
client.end();
});
Output:
[
{
very_very_very_very_very_very_very_very_very_very_very_long_nam: 1
}
]