1{
2 fetchFromGitHub,
3 lib,
4 postgresql,
5 postgresqlBuildExtension,
6}:
7
8with {
9 "13" = {
10 version = "1.4";
11 hash = "sha256-1cyvVEC9MQGMr7Tg6EUbsVBrMc8ahdFS3+CmDkmAq4Y=";
12 };
13 "14" = {
14 version = "1.5";
15 hash = "sha256-RRSpkWLFuif+6RCncnsb1NnjKnIIRY9KgebKkjCN5cs=";
16 };
17 "15" = {
18 version = "1.5";
19 hash = "sha256-RRSpkWLFuif+6RCncnsb1NnjKnIIRY9KgebKkjCN5cs=";
20 };
21 "16" = {
22 version = "1.5";
23 hash = "sha256-RRSpkWLFuif+6RCncnsb1NnjKnIIRY9KgebKkjCN5cs=";
24 };
25 "17" = {
26 version = "1.5";
27 hash = "sha256-RRSpkWLFuif+6RCncnsb1NnjKnIIRY9KgebKkjCN5cs=";
28 };
29}
30."${lib.versions.major postgresql.version}"
31 or (throw "pg_safeupdate: version specification for pg ${postgresql.version} missing.");
32
33postgresqlBuildExtension rec {
34 pname = "pg-safeupdate";
35 inherit version;
36
37 src = fetchFromGitHub {
38 owner = "eradman";
39 repo = "pg-safeupdate";
40 tag = version;
41 inherit hash;
42 };
43
44 meta = {
45 description = "Simple extension to PostgreSQL that requires criteria for UPDATE and DELETE";
46 homepage = "https://github.com/eradman/pg-safeupdate";
47 changelog = "https://github.com/eradman/pg-safeupdate/raw/${src.rev}/NEWS";
48 platforms = postgresql.meta.platforms;
49 maintainers = with lib.maintainers; [ wolfgangwalther ];
50 license = lib.licenses.postgresql;
51 };
52}