Changeset View
Changeset View
Standalone View
Standalone View
swh/indexer/sql/40-swh-func.sql
Show First 20 Lines • Show All 309 Lines • ▼ Show 20 Lines | |||||
-- operates in bulk: 0. swh_mktemp(content_language), 1. COPY to | -- operates in bulk: 0. swh_mktemp(content_language), 1. COPY to | ||||
-- tmp_revision_metadata, 2. call this function | -- tmp_revision_metadata, 2. call this function | ||||
create or replace function swh_revision_metadata_add(conflict_update boolean) | create or replace function swh_revision_metadata_add(conflict_update boolean) | ||||
returns void | returns void | ||||
language plpgsql | language plpgsql | ||||
as $$ | as $$ | ||||
begin | begin | ||||
if conflict_update then | if conflict_update then | ||||
insert into revision_metadata (id, translated_metadata, indexer_configuration_id) | insert into revision_metadata (id, translated_metadata, mappings, indexer_configuration_id) | ||||
select id, translated_metadata, indexer_configuration_id | select id, translated_metadata, mappings, indexer_configuration_id | ||||
from tmp_revision_metadata tcm | from tmp_revision_metadata tcm | ||||
on conflict(id, indexer_configuration_id) | on conflict(id, indexer_configuration_id) | ||||
do update set translated_metadata = excluded.translated_metadata; | do update set translated_metadata = excluded.translated_metadata; | ||||
else | else | ||||
insert into revision_metadata (id, translated_metadata, indexer_configuration_id) | insert into revision_metadata (id, translated_metadata, mappings, indexer_configuration_id) | ||||
select id, translated_metadata, indexer_configuration_id | select id, translated_metadata, mappings, indexer_configuration_id | ||||
from tmp_revision_metadata tcm | from tmp_revision_metadata tcm | ||||
on conflict(id, indexer_configuration_id) | on conflict(id, indexer_configuration_id) | ||||
do nothing; | do nothing; | ||||
end if; | end if; | ||||
return; | return; | ||||
end | end | ||||
$$; | $$; | ||||
▲ Show 20 Lines • Show All 70 Lines • ▼ Show 20 Lines | |||||
create or replace function swh_origin_intrinsic_metadata_add( | create or replace function swh_origin_intrinsic_metadata_add( | ||||
conflict_update boolean) | conflict_update boolean) | ||||
returns void | returns void | ||||
language plpgsql | language plpgsql | ||||
as $$ | as $$ | ||||
begin | begin | ||||
perform swh_origin_intrinsic_metadata_compute_tsvector(); | perform swh_origin_intrinsic_metadata_compute_tsvector(); | ||||
if conflict_update then | if conflict_update then | ||||
insert into origin_intrinsic_metadata (origin_id, metadata, indexer_configuration_id, from_revision, metadata_tsvector) | insert into origin_intrinsic_metadata (origin_id, metadata, indexer_configuration_id, from_revision, metadata_tsvector, mappings) | ||||
select origin_id, metadata, indexer_configuration_id, from_revision, | select origin_id, metadata, indexer_configuration_id, from_revision, | ||||
metadata_tsvector | metadata_tsvector, mappings | ||||
from tmp_origin_intrinsic_metadata | from tmp_origin_intrinsic_metadata | ||||
on conflict(origin_id, indexer_configuration_id) | on conflict(origin_id, indexer_configuration_id) | ||||
do update set metadata = excluded.metadata; | do update set metadata = excluded.metadata; | ||||
else | else | ||||
insert into origin_intrinsic_metadata (origin_id, metadata, indexer_configuration_id, from_revision, metadata_tsvector) | insert into origin_intrinsic_metadata (origin_id, metadata, indexer_configuration_id, from_revision, metadata_tsvector, mappings) | ||||
select origin_id, metadata, indexer_configuration_id, from_revision, | select origin_id, metadata, indexer_configuration_id, from_revision, | ||||
metadata_tsvector | metadata_tsvector, mappings | ||||
from tmp_origin_intrinsic_metadata | from tmp_origin_intrinsic_metadata | ||||
on conflict(origin_id, indexer_configuration_id) | on conflict(origin_id, indexer_configuration_id) | ||||
do nothing; | do nothing; | ||||
end if; | end if; | ||||
return; | return; | ||||
end | end | ||||
$$; | $$; | ||||
Show All 16 Lines |