Page Menu
Home
Software Heritage
Search
Configure Global Search
Log In
Files
F8392376
public.swh_occurrence_history_add.sql
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
1 KB
Subscribers
None
public.swh_occurrence_history_add.sql
View Options
--
-- PostgreSQL database dump
--
-- Dumped from database version 10.1
-- Dumped by pg_dump version 10.2 (Debian 10.2-1.pgdg+1)
SET
statement_timeout
=
0
;
SET
lock_timeout
=
0
;
SET
idle_in_transaction_session_timeout
=
0
;
SET
client_encoding
=
'UTF8'
;
SET
standard_conforming_strings
=
on
;
SET
check_function_bodies
=
false
;
SET
client_min_messages
=
warning
;
SET
row_security
=
off
;
SET
search_path
=
public
,
pg_catalog
;
--
-- Name: swh_occurrence_history_add(); Type: FUNCTION; Schema: public; Owner: -
--
CREATE
FUNCTION
swh_occurrence_history_add
()
RETURNS
void
LANGUAGE
plpgsql
AS
$$
declare
origin_id
origin
.
id
%
type
;
begin
-- Create or update occurrence_history
with
occurrence_history_id_visit
as
(
select
tmp_occurrence_history
.
*
,
object_id
,
visits
from
tmp_occurrence_history
left
join
occurrence_history
using
(
origin
,
branch
,
target
,
target_type
)
),
occurrences_to_update
as
(
select
object_id
,
visit
from
occurrence_history_id_visit
where
object_id
is
not
null
),
update_occurrences
as
(
update
occurrence_history
set
visits
=
array
(
select
unnest
(
occurrence_history
.
visits
)
as
e
union
select
occurrences_to_update
.
visit
as
e
order
by
e
)
from
occurrences_to_update
where
occurrence_history
.
object_id
=
occurrences_to_update
.
object_id
)
insert
into
occurrence_history
(
origin
,
branch
,
target
,
target_type
,
visits
)
select
origin
,
branch
,
target
,
target_type
,
ARRAY
[
visit
]
from
occurrence_history_id_visit
where
object_id
is
null
;
-- update occurrence
for
origin_id
in
select
distinct
origin
from
tmp_occurrence_history
loop
perform
swh_occurrence_update_for_origin
(
origin_id
);
end
loop
;
return
;
end
$$
;
--
-- PostgreSQL database dump complete
--
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Jun 4 2025, 6:58 PM (10 w, 5 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3383167
Attached To
rDDBA Live Database Audit
Event Timeline
Log In to Comment