Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Populate autosuggest info!
- DO $work$
- DECLARE
- ind_data metabib.field_entry_template%ROWTYPE;
- mbe_row metabib.browse_entry%ROWTYPE;
- mbe_id BIGINT;
- bib_id BIGINT;
- BEGIN
- FOR bib_id IN SELECT id FROM biblio.record_entry WHERE NOT deleted ORDER BY id LOOP
- RAISE NOTICE 'Loading Autosuggest Data for bib #%', bib_id;
- FOR ind_data IN SELECT * FROM biblio.extract_metabib_field_entry( bib_id ) WHERE browse_field LOOP
- IF ind_data.FIELD < 0 THEN
- ind_data.FIELD = -1 * ind_data.FIELD;
- END IF;
- SELECT INTO mbe_row * FROM metabib.browse_entry WHERE VALUE = ind_data.VALUE;
- IF FOUND THEN
- mbe_id := mbe_row.id;
- ELSE
- INSERT INTO metabib.browse_entry (VALUE) VALUES
- (metabib.browse_normalize(ind_data.VALUE, ind_data.FIELD));
- mbe_id := CURRVAL('metabib.browse_entry_id_seq'::REGCLASS);
- END IF;
- INSERT INTO metabib.browse_entry_def_map (entry, def, SOURCE)
- VALUES (mbe_id, ind_data.FIELD, ind_data.SOURCE);
- END LOOP;
- END LOOP;
- END;
- $work$;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement