You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
expectation: 'DROP DATABASE IF EXISTS "myDatabase";'
51
52
}
52
53
],
54
+
53
55
arithmeticQuery: [
54
56
{
55
57
title: 'Should use the plus operator',
@@ -87,6 +89,7 @@ if (dialect.startsWith('postgres')) {
87
89
expectation: 'UPDATE "myTable" SET "foo"="foo"- \'bar\''
88
90
}
89
91
],
92
+
90
93
attributesToSQL: [
91
94
{
92
95
arguments: [{id: 'INTEGER'}],
@@ -1091,6 +1094,53 @@ if (dialect.startsWith('postgres')) {
1091
1094
}
1092
1095
],
1093
1096
1097
+
upsertQuery: [
1098
+
{
1099
+
arguments: [
1100
+
'myTable',
1101
+
{name: 'foo'},
1102
+
{name: 'foo'},
1103
+
{id: 2},
1104
+
{primaryKeyField: 'id'},
1105
+
{returning: false}
1106
+
],
1107
+
expectation: 'CREATE OR REPLACE FUNCTION pg_temp.sequelize_upsert(OUT created boolean, OUT primary_key text) AS $func$ BEGIN INSERT INTO "myTable" ("name") VALUES (\'foo\'); created := true; EXCEPTION WHEN unique_violation THEN UPDATE "myTable" SET "name"=\'foo\' WHERE "id" = 2; created := false; END; $func$ LANGUAGE plpgsql; SELECT * FROM pg_temp.sequelize_upsert();'
expectation: 'CREATE OR REPLACE FUNCTION pg_temp.sequelize_upsert(OUT created boolean, OUT primary_key text) AS $func$ BEGIN INSERT INTO "myTable" ("name","json") VALUES (\'RETURNING *\',\'{"foo":"RETURNING *"}\'); created := true; EXCEPTION WHEN unique_violation THEN UPDATE "myTable" SET "name"=\'RETURNING *\',"json"=\'{"foo":"RETURNING *"}\' WHERE "id" = 2; created := false; END; $func$ LANGUAGE plpgsql; SELECT * FROM pg_temp.sequelize_upsert();'
1119
+
},
1120
+
{
1121
+
arguments: [
1122
+
'myTable',
1123
+
{name: 'foo'},
1124
+
{name: 'foo'},
1125
+
{id: 2},
1126
+
{primaryKeyField: 'id'},
1127
+
{returning: true}
1128
+
],
1129
+
expectation: 'CREATE OR REPLACE FUNCTION pg_temp.sequelize_upsert(OUT created boolean, OUT primary_key text) AS $func$ BEGIN INSERT INTO "myTable" ("name") VALUES (\'foo\') RETURNING "id" INTO primary_key; created := true; EXCEPTION WHEN unique_violation THEN UPDATE "myTable" SET "name"=\'foo\' WHERE "id" = 2 RETURNING "id" INTO primary_key; created := false; END; $func$ LANGUAGE plpgsql; SELECT * FROM pg_temp.sequelize_upsert();'
expectation: 'CREATE OR REPLACE FUNCTION pg_temp.sequelize_upsert(OUT created boolean, OUT primary_key text) AS $func$ BEGIN INSERT INTO "myTable" ("name","json") VALUES (\'RETURNING *\',\'{"foo":"RETURNING *"}\') RETURNING "id" INTO primary_key; created := true; EXCEPTION WHEN unique_violation THEN UPDATE "myTable" SET "name"=\'RETURNING *\',"json"=\'{"foo":"RETURNING *"}\' WHERE "id" = 2 RETURNING "id" INTO primary_key; created := false; END; $func$ LANGUAGE plpgsql; SELECT * FROM pg_temp.sequelize_upsert();'
0 commit comments