Page MenuHomeSoftware Heritage

No OneTemporary

diff --git a/sql/upgrades/030.sql b/sql/upgrades/030.sql
new file mode 100644
index 00000000..72ec50cf
--- /dev/null
+++ b/sql/upgrades/030.sql
@@ -0,0 +1,67 @@
+-- SWH DB schema upgrade
+-- from_version: XXX TODO
+-- to_version: 30
+-- description: XXX TODO
+
+insert into dbversion(version, release, description)
+ values(30, now(), 'Work In Progress');
+
+create type entity_id as (
+ id bigint,
+ uuid uuid,
+ parent uuid,
+ name text,
+ type entity_type,
+ description text,
+ homepage text,
+ active boolean,
+ generated boolean,
+ lister uuid,
+ lister_metadata jsonb,
+ doap jsonb,
+ last_seen timestamptz,
+ last_id bigint
+);
+
+CREATE OR REPLACE FUNCTION swh_entity_from_tmp_entity_lister() RETURNS SETOF entity_id
+ LANGUAGE plpgsql
+ AS $$
+begin
+ return query
+ select t.id, e.*
+ from tmp_entity_lister t
+ left join entity e
+ on t.lister = e.lister AND e.lister_metadata @> t.lister_metadata;
+ return;
+end
+$$;
+
+CREATE OR REPLACE FUNCTION swh_entity_history_add() RETURNS void
+ LANGUAGE plpgsql
+ AS $$
+begin
+ insert into entity_history (
+ uuid, parent, name, type, description, homepage, active, generated,
+ lister, lister_metadata, doap, validity
+ ) select * from tmp_entity_history;
+ return;
+end
+$$;
+
+CREATE OR REPLACE FUNCTION swh_mktemp_entity_history() RETURNS void
+ LANGUAGE sql
+ AS $$
+ create temporary table tmp_entity_history (
+ like entity_history including defaults);
+ alter table tmp_entity_history drop column id;
+$$;
+
+CREATE OR REPLACE FUNCTION swh_mktemp_entity_lister() RETURNS void
+ LANGUAGE sql
+ AS $$
+ create temporary table tmp_entity_lister (
+ id bigint,
+ lister uuid,
+ lister_metadata jsonb
+ );
+$$;

File Metadata

Mime Type
text/x-diff
Expires
Thu, Jul 3, 10:31 AM (2 w, 4 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3214422

Event Timeline