pglite icon indicating copy to clipboard operation
pglite copied to clipboard

"Error: column specified more than once in SELECT queries with joined tables" with livequeries

Open LeonAlvarez opened this issue 1 year ago • 3 comments

Issue Description

When using live queries, joins between tables that have columns with the same names fail. This issue occurs despite the query working correctly in PGLite itself, suggesting the problem may lie in the view creation process of the live plugin.

Example Query

The following query fails when used as a live query:

select "expense_shares"."id", "expense_shares"."expense_id", "expense_shares"."user_id", "expense_shares"."group_id", "expense_shares"."share_amount", "expense_shares"."created_at", "expense_shares"."updated_at", "expenses"."id", "expenses"."description", "expenses"."type", "expenses"."amount", "expenses"."payer_id", "expenses"."group_id", "expenses"."created_at", "expenses"."updated_at" from "expense_shares" inner join "expenses" on "expense_shares"."expense_id" = "expenses"."id" where "expense_shares"."user_id" = $1

Errors

error: column "id" specified more than once
error: column "group_d" specified more than once
error: column "created_at" specified more than once
error: column "updated_at" specified more than once

LeonAlvarez avatar Oct 12 '24 21:10 LeonAlvarez

The workaround is to alias the columns with the clashing name, so that the columns names are unique

LeonAlvarez avatar Oct 12 '24 21:10 LeonAlvarez

Been running into this alot lately. Very inconvenient when trying to integrate with drizzle

ghardin1314 avatar Nov 08 '24 19:11 ghardin1314

Just ran into this so can confirm the issue is still happening on these versions:

@electric-sql/client 1.0.10
@electric-sql/pglite-vue 0.2.26
@electric-sql/pglite 0.3.8

marpe avatar Sep 27 '25 10:09 marpe