From 6936850e174dcb90faa34c2e5096c13247512cdf Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Thu, 23 Feb 2012 17:00:56 -0500 Subject: [PATCH] search filter group : DB / IDL Signed-off-by: Bill Erickson --- Open-ILS/examples/fm_IDL.xml | 5 +++-- Open-ILS/src/sql/Pg/005.schema.actors.sql | 1 + .../src/sql/Pg/upgrade/XXXX.schema.search_query_groups.sql | 12 +++++++++--- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/Open-ILS/examples/fm_IDL.xml b/Open-ILS/examples/fm_IDL.xml index 2887ceaa1e..96a80f13b7 100644 --- a/Open-ILS/examples/fm_IDL.xml +++ b/Open-ILS/examples/fm_IDL.xml @@ -4766,7 +4766,7 @@ SELECT usr, - + @@ -4788,11 +4788,12 @@ SELECT usr, - + + diff --git a/Open-ILS/src/sql/Pg/005.schema.actors.sql b/Open-ILS/src/sql/Pg/005.schema.actors.sql index 5d1bd9239e..f0fa3014d6 100644 --- a/Open-ILS/src/sql/Pg/005.schema.actors.sql +++ b/Open-ILS/src/sql/Pg/005.schema.actors.sql @@ -693,6 +693,7 @@ CREATE TABLE actor.search_filter_group_entry ( id SERIAL PRIMARY KEY, grp INT NOT NULL REFERENCES actor.search_filter_group(id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, label TEXT NOT NULL, -- i18n + pos INT NOT NULL DEFAULT 0, query_text TEXT NOT NULL, -- QP text CONSTRAINT query_once_per_group UNIQUE (grp, query_text) ); diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.search_query_groups.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.search_query_groups.sql index 89b23a36e2..493edc22eb 100644 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.search_query_groups.sql +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.search_query_groups.sql @@ -7,7 +7,8 @@ CREATE TABLE actor.search_filter_group ( code TEXT NOT NULL, -- use in templates / CGI params label TEXT NOT NULL, -- i18n create_date TIMESTAMPTZ NOT NULL DEFAULT now(), - CONSTRAINT code_once_per_org UNIQUE (owner, code) + CONSTRAINT code_once_per_org UNIQUE (owner, code), + CONSTRAINT label_once_per_org UNIQUE (owner, label) ); @@ -15,6 +16,7 @@ CREATE TABLE actor.search_filter_group_entry ( id SERIAL PRIMARY KEY, grp INT NOT NULL REFERENCES actor.search_filter_group(id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED, label TEXT NOT NULL, -- i18n + pos INT NOT NULL DEFAULT 0, query_text TEXT NOT NULL, -- QP text CONSTRAINT query_once_per_group UNIQUE (grp, query_text) ); @@ -23,13 +25,17 @@ COMMIT; /* -- Fictional Example +BEGIN; INSERT INTO actor.search_filter_group (owner, code, label) VALUES (4, 'reading_level', 'Reading Level'); -INSERT INTO actor.search_filter_group_entry (grp, label, query_text) VALUES (1, 'Children', 'audience(a,b,c) || locations(3,4,5,6)'); -INSERT INTO actor.search_filter_group_entry (grp, label, query_text) VALUES (1, 'Juvenile', '(audience(j,d) && locations(1,2,7,8)) || locations(10, 11, 12, 13)'); +INSERT INTO actor.search_filter_group_entry (grp, label, query_text) VALUES (1, 'Children', 'audience(a,b,c) locations(3,4,5,6)'); +INSERT INTO actor.search_filter_group_entry (grp, label, query_text) VALUES (1, 'Juvenile', 'audience(j,d) locations(1,2,7,8)'); INSERT INTO actor.search_filter_group_entry (grp, label, query_text) VALUES (1, 'General', 'audience(e,f,g)'); +COMMIT; */ /* UNDO +BEGIN; DROP TABLE actor.search_filter_group_entry; DROP TABLE actor.search_filter_group; +COMMIT; */ -- 2.11.0