From: Mike Rylander Date: Tue, 14 Jan 2014 21:58:33 +0000 (-0500) Subject: Add a multi flag for record attrs X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=38a61fa18439e9d9043841d91ccb924950b70345;p=working%2FEvergreen.git Add a multi flag for record attrs We pre-coordinate which record attrs are allowed to be multi-valued with this new bool. Most can be, we set the default to true and adjust the seed data for those that should be false (sorters and fields in the leader). Signed-off-by: Mike Rylander --- diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql index d9950b4e88..ce5e56fc80 100644 --- a/Open-ILS/src/sql/Pg/002.schema.config.sql +++ b/Open-ILS/src/sql/Pg/002.schema.config.sql @@ -770,6 +770,7 @@ CREATE TABLE config.record_attr_definition ( name TEXT PRIMARY KEY, label TEXT NOT NULL, -- I18N description TEXT, + multi BOOL NOT NULL DEFAULT TRUE, -- will store all values from a record filter BOOL NOT NULL DEFAULT TRUE, -- becomes QP filter if true sorter BOOL NOT NULL DEFAULT FALSE, -- becomes QP sort() axis if true diff --git a/Open-ILS/src/sql/Pg/950.data.seed-values.sql b/Open-ILS/src/sql/Pg/950.data.seed-values.sql index 62f6da8c7f..d97c0098fa 100644 --- a/Open-ILS/src/sql/Pg/950.data.seed-values.sql +++ b/Open-ILS/src/sql/Pg/950.data.seed-values.sql @@ -6014,17 +6014,17 @@ INSERT INTO config.marc21_ff_pos_map (fixed_field, tag, rec_type,start_pos, leng -- record attributes INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('alph','Alph','Alph'); INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('audience','Audn','Audn'); -INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('bib_level','BLvl','BLvl'); +INSERT INTO config.record_attr_definition (name,label,fixed_field,multi) values ('bib_level','BLvl','BLvl',FALSE); INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('biog','Biog','Biog'); INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('conf','Conf','Conf'); -INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('control_type','Ctrl','Ctrl'); +INSERT INTO config.record_attr_definition (name,label,fixed_field,multi) values ('control_type','Ctrl','Ctrl',FALSE); INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('ctry','Ctry','Ctry'); INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('date1','Date1','Date1'); -INSERT INTO config.record_attr_definition (name,label,fixed_field,sorter,filter) values ('pubdate','Pub Date','Date1',TRUE,FALSE); +INSERT INTO config.record_attr_definition (name,label,fixed_field,sorter,filter,multi) values ('pubdate','Pub Date','Date1',TRUE,FALSE,FALSE); INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('date2','Date2','Date2'); -INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('cat_form','Desc','Desc'); +INSERT INTO config.record_attr_definition (name,label,fixed_field,multi) values ('cat_form','Desc','Desc',FALSE); INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('pub_status','DtSt','DtSt'); -INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('enc_level','ELvl','ELvl'); +INSERT INTO config.record_attr_definition (name,label,fixed_field,multi) values ('enc_level','ELvl','ELvl',FALSE); INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('fest','Fest','Fest'); INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('item_form','Form','Form'); INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('gpub','GPub','GPub'); @@ -6036,10 +6036,10 @@ INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('lit_ INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('mrec','MRec','MRec'); INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('ff_sl','S/L','S/L'); INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('type_mat','TMat','TMat'); -INSERT INTO config.record_attr_definition (name,label,fixed_field) values ('item_type','Type','Type'); +INSERT INTO config.record_attr_definition (name,label,fixed_field,multi) values ('item_type','Type','Type',FALSE); INSERT INTO config.record_attr_definition (name,label,phys_char_sf) values ('vr_format','Videorecording format',72); -INSERT INTO config.record_attr_definition (name,label,sorter,filter,tag) values ('titlesort','Title',TRUE,FALSE,'tnf'); -INSERT INTO config.record_attr_definition (name,label,sorter,filter,tag,sf_list) values ('authorsort','Author',TRUE,FALSE,'1%','abcdefgklmnopqrstvxyz'); +INSERT INTO config.record_attr_definition (name,label,sorter,filter,tag,multi) values ('titlesort','Title',TRUE,FALSE,'tnf',FALSE); +INSERT INTO config.record_attr_definition (name,label,sorter,filter,tag,sf_list,multi) values ('authorsort','Author',TRUE,FALSE,'1%','abcdefgklmnopqrstvxyz',FALSE); -- TO-DO: Auto-generate these values from CLDR -- XXX These are the values used in MARC records ... does that match CLDR, including deprecated languages?