Advertisement
cmptrwz

Populate Autosuggest?

Feb 21st, 2012
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 1.20 KB | None | 0 0
  1. -- Populate autosuggest info!
  2. DO $work$
  3. DECLARE
  4.     ind_data        metabib.field_entry_template%ROWTYPE;
  5.     mbe_row         metabib.browse_entry%ROWTYPE;
  6.     mbe_id          BIGINT;
  7.     bib_id          BIGINT;
  8. BEGIN
  9.     FOR bib_id IN SELECT id FROM biblio.record_entry WHERE NOT deleted ORDER BY id LOOP
  10.         RAISE NOTICE 'Loading Autosuggest Data for bib #%', bib_id;
  11.         FOR ind_data IN SELECT * FROM biblio.extract_metabib_field_entry( bib_id ) WHERE browse_field LOOP
  12.             IF ind_data.FIELD < 0 THEN
  13.                 ind_data.FIELD = -1 * ind_data.FIELD;
  14.             END IF;
  15.  
  16.             SELECT INTO mbe_row * FROM metabib.browse_entry WHERE VALUE = ind_data.VALUE;
  17.             IF FOUND THEN
  18.                 mbe_id := mbe_row.id;
  19.             ELSE
  20.                 INSERT INTO metabib.browse_entry (VALUE) VALUES
  21.                     (metabib.browse_normalize(ind_data.VALUE, ind_data.FIELD));
  22.                 mbe_id := CURRVAL('metabib.browse_entry_id_seq'::REGCLASS);
  23.             END IF;
  24.  
  25.  
  26.             INSERT INTO metabib.browse_entry_def_map (entry, def, SOURCE)
  27.                 VALUES (mbe_id, ind_data.FIELD, ind_data.SOURCE);
  28.  
  29.         END LOOP;
  30.     END LOOP;
  31. END;
  32. $work$;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement