From 963d922b6edc1b9af9a024d93375225b9562ae0a Mon Sep 17 00:00:00 2001 From: Mike Rylander Date: Tue, 14 Jan 2014 16:58:33 -0500 Subject: [PATCH] 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 --- Open-ILS/src/sql/Pg/002.schema.config.sql | 1 + Open-ILS/src/sql/Pg/950.data.seed-values.sql | 16 ++++++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) 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 86af666514..103255e47d 100644 --- a/Open-ILS/src/sql/Pg/950.data.seed-values.sql +++ b/Open-ILS/src/sql/Pg/950.data.seed-values.sql @@ -5992,17 +5992,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'); @@ -6014,10 +6014,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? -- 2.11.0