fix(Postgres Node): Allow using composite key in upsert queries (#12639)

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <netroy@users.noreply.github.com>
This commit is contained in:
Shireen Missi
2025-01-17 08:42:46 +00:00
committed by GitHub
parent 982131a75a
commit 83ce3a9096
2 changed files with 185 additions and 2 deletions

View File

@@ -285,7 +285,7 @@ export async function execute(
valuesLength = valuesLength + 1;
values.push(column);
});
const onConflict = ` ON CONFLICT (${conflictColumns.join(',')}) DO UPDATE `;
const onConflict = ` ON CONFLICT (${conflictColumns.join(',')})`;
const insertQuery = `INSERT INTO $1:name.$2:name($${valuesLength}:name) VALUES($${valuesLength}:csv)${onConflict}`;
valuesLength = valuesLength + 1;
@@ -300,7 +300,9 @@ export async function execute(
values.push(column, item[column] as string);
}
let query = `${insertQuery} SET ${updates.join(', ')}`;
const updateQuery =
updates?.length > 0 ? ` DO UPDATE SET ${updates.join(', ')}` : ' DO NOTHING ';
let query = `${insertQuery}${updateQuery}`;
const outputColumns = this.getNodeParameter('options.outputColumns', i, ['*']) as string[];