[
https://issues.apache.org/jira/browse/AIRFLOW-4734?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17096359#comment-17096359
]
ASF subversion and git services commented on AIRFLOW-4734:
----------------------------------------------------------
Commit a28c66f23d373cd0f8bfc765a515f21d4b66a0e9 in airflow's branch
refs/heads/master from William Tran
[ https://gitbox.apache.org/repos/asf?p=airflow.git;h=a28c66f ]
[AIRFLOW-4734] Upsert functionality for PostgresHook.insert_rows() (#8625)
PostgresHook's parent class, DbApiHook, implements upsert in its insert_rows()
method
with the replace=True flag. However, the underlying generated SQL is specific
to MySQL's
"REPLACE INTO" syntax and is not applicable to PostgreSQL.
This pulls out the sql generation code for insert/upsert out in to a method
that is then
overridden in the PostgreSQL subclass to generate the "INSERT ... ON CONFLICT DO
UPDATE" syntax ("new" since Postgres 9.5)
> Upsert functionality for PostgresHook.insert_rows()
> ---------------------------------------------------
>
> Key: AIRFLOW-4734
> URL: https://issues.apache.org/jira/browse/AIRFLOW-4734
> Project: Apache Airflow
> Issue Type: Improvement
> Components: hooks
> Affects Versions: 1.10.3
> Reporter: William Tran
> Assignee: William Tran
> Priority: Minor
> Labels: features
> Fix For: 2.0.0
>
> Original Estimate: 48h
> Remaining Estimate: 48h
>
> PostgresHook's parent class, DbApiHook, implements upsert in its
> insert_rows() method with the replace=True flag. However, the underlying
> generated SQL is specific to MySQL's "REPLACE INTO" syntax and is not
> applicable to Postgres.
> I'd like to override this method in PostgresHook to implement the "INSERT ...
> ON CONFLICT DO UPDATE" syntax (new since Postgres 9.5)
--
This message was sent by Atlassian Jira
(v8.3.4#803005)