BEGIN; SELECT plan(4); INSERT INTO biblio.record_entry (id, last_xact_id, marc) VALUES (999999998, 'pgtap', ' 00531nam a2200157 a 4500 20080729170300.0 t19981999enka 0 eng test-value subject 1 subject 2 subject 3 subject 4 subject 5 subject 6 subject 7 subject 8 subject 9 subject 10 '); -- These tests assume that one subject facet field is defined SELECT is( ( SELECT COUNT(*) FROM search.facets_for_record_set('{}', '{999999998}') ), 10::BIGINT, '10 subject facets retrieved' ); UPDATE config.global_flag SET value = '5' WHERE name = 'search.max_facets_per_field'; SELECT is( ( SELECT COUNT(*) FROM search.facets_for_record_set('{}', '{999999998}') ), 5::BIGINT, '5 subject facets retrieved after setting limit' ); SELECT is( ( SELECT COUNT(*) FROM ( SELECT search.facets_for_metarecord_set('{}', array_accum(metarecord)) FROM metabib.metarecord_source_map WHERE source = 999999998 ) x ), 5::BIGINT, 'Works for metarecord sets too' ); SELECT is( ( SELECT COUNT(*) FROM search.facets_for_record_set('{subject}', '{999999998}') ), 0::BIGINT, 'Zero subject facets retrieved after excluding subject facets' ); SELECT * FROM finish(); ROLLBACK;