Changeset View
Changeset View
Standalone View
Standalone View
swh/indexer/sql/40-swh-func.sql
Show First 20 Lines • Show All 407 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 (id, origin_url, metadata, indexer_configuration_id, from_revision, metadata_tsvector, mappings) | insert into origin_intrinsic_metadata (id, metadata, indexer_configuration_id, from_revision, metadata_tsvector, mappings) | ||||
select id, origin_url, metadata, indexer_configuration_id, from_revision, | select id, metadata, indexer_configuration_id, from_revision, | ||||
metadata_tsvector, mappings | metadata_tsvector, mappings | ||||
from tmp_origin_intrinsic_metadata | from tmp_origin_intrinsic_metadata | ||||
on conflict(id, indexer_configuration_id) | on conflict(id, indexer_configuration_id) | ||||
do update set | do update set | ||||
metadata = excluded.metadata, | metadata = excluded.metadata, | ||||
metadata_tsvector = excluded.metadata_tsvector, | metadata_tsvector = excluded.metadata_tsvector, | ||||
mappings = excluded.mappings, | mappings = excluded.mappings, | ||||
origin_url = excluded.origin_url, | |||||
from_revision = excluded.from_revision; | from_revision = excluded.from_revision; | ||||
else | else | ||||
insert into origin_intrinsic_metadata (id, origin_url, metadata, indexer_configuration_id, from_revision, metadata_tsvector, mappings) | insert into origin_intrinsic_metadata (id, metadata, indexer_configuration_id, from_revision, metadata_tsvector, mappings) | ||||
select id, origin_url, metadata, indexer_configuration_id, from_revision, | select id, metadata, indexer_configuration_id, from_revision, | ||||
metadata_tsvector, mappings | metadata_tsvector, mappings | ||||
from tmp_origin_intrinsic_metadata | from tmp_origin_intrinsic_metadata | ||||
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 All 9 Lines | create or replace function swh_origin_intrinsic_metadata_compute_tsvector() | ||||
returns void | returns void | ||||
language plpgsql | language plpgsql | ||||
as $$ | as $$ | ||||
begin | begin | ||||
update tmp_origin_intrinsic_metadata | update tmp_origin_intrinsic_metadata | ||||
set metadata_tsvector = to_tsvector('pg_catalog.simple', metadata); | set metadata_tsvector = to_tsvector('pg_catalog.simple', metadata); | ||||
end | end | ||||
$$; | $$; | ||||