Re: Upsert error "column reference is ambiguous"

2025-04-28 Thread Tim Starling
On 28/4/25 23:30, Peter Geoghegan wrote: You can use an alias for the target table name. Is it feasible to require callers to prefix all field names with a generic table name alias? No, primarily because MySQL does not support such an alias. -- Tim Starling

Re: Upsert error "column reference is ambiguous"

2025-04-28 Thread Tim Starling
ured than that, but that gives you the idea. MediaWiki has supported MySQL's ON DUPLICATE KEY UPDATE since 2013, and we've always had the conflict target parameter $key since then as a helper for emulation. So it's trivial to produce either MySQL and SQLite syntax. -- Tim Starling

Re: Upsert error "column reference is ambiguous"

2025-04-28 Thread Tim Starling
because the client knows everything about the excluded row. Recall my example: INSERT INTO t VALUES (1,1) ON CONFLICT (k) DO UPDATE SET v=v+1; If I meant SET v=EXCLUDED.v+1 I would have just written v=2. The default policy (in other DBMSes) follows by analogy from the single-row case. -- Tim Starling

Upsert error "column reference is ambiguous"

2025-04-27 Thread Tim Starling
someone here has an idea for a workaround, I think this field name resolution policy is a total blocker. We can implement upsert on MySQL and SQLite but on PostgreSQL it will remain emulated. -- Tim Starling