MCPcopy Index your code
hub / github.com/perkeep/perkeep / SQLDefineReplace

Function SQLDefineReplace

pkg/sorted/postgres/dbschema.go:43–108  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

41}
42
43func SQLDefineReplace() []string {
44 return []string{
45 // The first 3 statements here are a work around that allows us to issue
46 // the "CREATE LANGUAGE plpsql;" statement only if the language doesn't
47 // already exist.
48 `CREATE OR REPLACE FUNCTION create_language_plpgsql() RETURNS INTEGER AS
49$$
50CREATE LANGUAGE plpgsql;
51SELECT 1;
52$$
53LANGUAGE SQL;`,
54
55 `SELECT CASE WHEN NOT
56(
57 SELECT TRUE AS exists
58 FROM pg_language
59 WHERE lanname = 'plpgsql'
60 UNION
61 SELECT FALSE AS exists
62 ORDER BY exists DESC
63 LIMIT 1
64)
65THEN
66 create_language_plpgsql()
67ELSE
68 0
69END AS plpgsql_created;`,
70
71 `DROP FUNCTION create_language_plpgsql();`,
72
73 `CREATE OR REPLACE FUNCTION replaceinto(key TEXT, value TEXT) RETURNS VOID AS
74$$
75BEGIN
76 LOOP
77 UPDATE rows SET v = value WHERE k = key;
78 IF found THEN
79 RETURN;
80 END IF;
81 BEGIN
82 INSERT INTO rows(k,v) VALUES (key, value);
83 RETURN;
84 EXCEPTION WHEN unique_violation THEN
85 END;
86 END LOOP;
87END;
88$$
89LANGUAGE plpgsql;`,
90 `CREATE OR REPLACE FUNCTION replaceintometa(key TEXT, val TEXT) RETURNS VOID AS
91$$
92BEGIN
93 LOOP
94 UPDATE meta SET value = val WHERE metakey = key;
95 IF found THEN
96 RETURN;
97 END IF;
98 BEGIN
99 INSERT INTO meta(metakey,value) VALUES (key, val);
100 RETURN;

Callers 2

RunCommandMethod · 0.92

Calls

no outgoing calls

Tested by

no test coverage detected