Hacker News new | ask | show | jobs
by overcast 3823 days ago
Interesting, I wasn't aware PostgreSQL didn't have UPSERT until now. MySQL has INSERT on DUPLICATE functionality that is similar.
2 comments

Yep. Been a long requested feature. One of the reasons why the post states: "This feature also removes the last significant barrier to migrating legacy MySQL applications to PostgreSQL."
Roger that.
What do they mean by "legacy" in this context? INSERT ... ODKU is not a legacy feature of MySQL, it's a currently supported first-class feature of the database, nor is MySQL itself a "legacy" database.
If you are switching from MySQL to Postgres, then it's legacy by definition rather than intrinsic properties of MySQL.
Legacy applications, not legacy MySQL feature.
I think they're referring to mysql. The sentence would have worked just as well without the word "legacy". I say this as someone who prefers PostgreSQL.
No, they are referring to an application that is being moved from MySQL to PostgreSQL. The application is "legacy" in that it is an older version and the new version is "current".

Due to the English language however there can be some debate as to what they meant. In this case "legacy" is most likely meant to describe the "MySQL application" not "MySQL" itself.

You're wrong about which meaning is more likely.

A meaning that adds something to a sentence is a more likely meaning than one that adds nothing to a sentence. If you take "legacy" to mean "being migrated from" then the sentence becomes

This feature also removes the last significant barrier to migrating being-migrated-from MySQL applications to PostgreSQL.

It's more likely that if "being migrated from" was the intended meaning, they would have simply left the word out.

Your comment assumes the author of the release notes has perfect command of the English language and they thought through in detail what the word "legacy" would mean in this context.
From Google: "denoting software or hardware that has been superseded but is difficult to replace because of its wide use"

Maybe not a perfect word but very easy to understand in the context.

Replace MySQL with Django. Do you assume Django itself legacy, or the Django based application? I parse it correctly as "a legacy application that uses MySQL".
Ironically the first two google results for "UPSERT" is from wiki.postgresql.org.
Shows how long it's been in the works, and requested.