This is an automated email from the git hooks/post-receive script. tille pushed a commit to branch master in repository gnumed-server.
commit 8c2ac71d576685edb5a56721fc1962c04a4bed24 Author: Andreas Tille <[email protected]> Date: Sun Jan 31 08:44:06 2016 +0100 Imported Upstream version 20.10 --- server/bootstrap/fixup_db-v20.conf | 3 + server/bootstrap/update_db-v19_v20.conf | 5 +- server/doc/schema/gnumed-entire_schema.html | 2 +- server/pycommon/gmNull.py | 4 +- .../sql/v18-v19/fixups/v19-dem-org-idx-fixup.sql | 6 +- .../sql/v18-v19/superuser/v19-install-pg_trgm.sql | 9 ++- .../v19-v20/dynamic/v20-release_notes-dynamic.sql | 17 +++-- .../fixups/v20-clin-substance_intake-fixup.sql | 79 ++++++++++++++++++++++ .../fixups/v20-dem-org-idx-fixup.sql} | 15 +--- .../superuser/v20-install-pg_trgm.sql} | 9 ++- 10 files changed, 115 insertions(+), 34 deletions(-) diff --git a/server/bootstrap/fixup_db-v20.conf b/server/bootstrap/fixup_db-v20.conf index 995ac9f..4092da3 100644 --- a/server/bootstrap/fixup_db-v20.conf +++ b/server/bootstrap/fixup_db-v20.conf @@ -28,6 +28,8 @@ minimum postgresql version = 9.1 schema base directory = ../sql/v19-v20/fixups/ schema = $schema$ ../dynamic/v20-release_notes-dynamic.sql +v20-clin-substance_intake-fixup.sql +v20-dem-org-idx-fixup.sql $schema$ #---------------------------------- @@ -50,6 +52,7 @@ schema = $schema$ $schema$ superuser schema = $superuser schema$ +superuser/v20-install-pg_trgm.sql $superuser schema$ upgrade plausibility checks = $upgrade plausibility checks$ diff --git a/server/bootstrap/update_db-v19_v20.conf b/server/bootstrap/update_db-v19_v20.conf index 9eefa69..5238746 100644 --- a/server/bootstrap/update_db-v19_v20.conf +++ b/server/bootstrap/update_db-v19_v20.conf @@ -28,6 +28,7 @@ bundles = $bundles$ v19_fixups-pre_v20 v19-v20-static v19-v20-dynamic +v20-fixups $bundles$ @@ -118,6 +119,8 @@ database alias = gnumed_v20 minimum postgresql version = 9.1 schema base directory = ../sql/v19-v20/fixups/ schema = $schema$ +v20-clin-substance_intake-fixup.sql +v20-dem-org-idx-fixup.sql $schema$ #---------------------------------- @@ -147,7 +150,7 @@ schema = $schema$ $schema$ superuser schema = $superuser schema$ -../v18-v19/superuser/v19-install-pg_trgm.sql +superuser/v20-install-pg_trgm.sql $superuser schema$ script base directory = ../sql/v19-v20/python/ diff --git a/server/doc/schema/gnumed-entire_schema.html b/server/doc/schema/gnumed-entire_schema.html index fd98f2c..713c711 100644 --- a/server/doc/schema/gnumed-entire_schema.html +++ b/server/doc/schema/gnumed-entire_schema.html @@ -112,7 +112,7 @@ <body> <!-- Primary Index --> - <p><br><br>Dumped on 2015-11-21</p> + <p><br><br>Dumped on 2016-01-27</p> <h1><a name="index">Index of database - gnumed_v20</a></h1> <ul> diff --git a/server/pycommon/gmNull.py b/server/pycommon/gmNull.py index 2bc48a3..8967d80 100644 --- a/server/pycommon/gmNull.py +++ b/server/pycommon/gmNull.py @@ -113,7 +113,7 @@ class cNull(object): def __str__(self): "Convert to a string and return it." - return 'cNull instance' + return '<cNull instance>' def __nonzero__(self): _log.debug(u'returns 0') @@ -162,7 +162,7 @@ def test(): # representation and conversion to a string tmp = '<cNull instance @ %s>' % id(n) assert repr(n) == tmp - assert str(n) == 'cNull instance' + assert str(n) == '<cNull instance>' # comparing if n == 1: diff --git a/server/sql/v18-v19/fixups/v19-dem-org-idx-fixup.sql b/server/sql/v18-v19/fixups/v19-dem-org-idx-fixup.sql index a64fb08..0a1ed5f 100644 --- a/server/sql/v18-v19/fixups/v19-dem-org-idx-fixup.sql +++ b/server/sql/v18-v19/fixups/v19-dem-org-idx-fixup.sql @@ -13,7 +13,7 @@ drop index if exists dem.idx_dem_org_fk_category cascade; create index idx_dem_org_fk_category on dem.org(fk_category); drop index if exists dem.idx_trgm_dem_org_desc cascade; -create index idx_trgm_dem_org_desc on dem.org using gin (description gin_trgm_ops); +create index idx_trgm_dem_org_desc on dem.org using gin (description pgtrgm.gin_trgm_ops); -- -------------------------------------------------------------- drop index if exists dem.idx_dem_org_unit_fk_category cascade; @@ -23,7 +23,7 @@ drop index if exists dem.idx_dem_org_unit_fk_address cascade; create index idx_dem_org_unit_fk_address on dem.org_unit(fk_address); drop index if exists dem.idx_trgm_dem_org_unit_desc cascade; -create index idx_trgm_dem_org_unit_desc on dem.org_unit using gin (description gin_trgm_ops); +create index idx_trgm_dem_org_unit_desc on dem.org_unit using gin (description pgtrgm.gin_trgm_ops); -- -------------------------------------------------------------- -select gm.log_script_insertion('v19-dem-org-idx-fixup.sql', '19.9'); +select gm.log_script_insertion('v19-dem-org-idx-fixup.sql', '19.12'); diff --git a/server/sql/v18-v19/superuser/v19-install-pg_trgm.sql b/server/sql/v18-v19/superuser/v19-install-pg_trgm.sql index 2a809fa..2c39e14 100644 --- a/server/sql/v18-v19/superuser/v19-install-pg_trgm.sql +++ b/server/sql/v18-v19/superuser/v19-install-pg_trgm.sql @@ -9,9 +9,12 @@ --set default_transaction_read_only to off; -- -------------------------------------------------------------- -create extension if not exists pg_trgm with schema pg_catalog; +drop schema if exists pgtrgm cascade; +create schema pgtrgm; +grant usage on schema pgtrgm to "gm-dbo"; -alter extension pg_trgm set schema pg_catalog; +drop extension if exists pg_trgm cascade; +create extension pg_trgm with schema pgtrgm; -- -------------------------------------------------------------- -select gm.log_script_insertion('v19-install-pg_trgm.sql', '19.10'); +select gm.log_script_insertion('v19-install-pg_trgm.sql', '19.12'); diff --git a/server/sql/v19-v20/dynamic/v20-release_notes-dynamic.sql b/server/sql/v19-v20/dynamic/v20-release_notes-dynamic.sql index 12b7d57..a5525b0 100644 --- a/server/sql/v19-v20/dynamic/v20-release_notes-dynamic.sql +++ b/server/sql/v19-v20/dynamic/v20-release_notes-dynamic.sql @@ -17,19 +17,18 @@ INSERT INTO dem.message_inbox ( ) VALUES ( (select pk from dem.staff where db_user = 'any-doc'), (select pk_type from dem.v_inbox_item_type where type = 'memo' and category = 'administrative'), - 'Release Notes for GNUmed 1.5.9 (database v20.9)', - 'GNUmed 1.5.9 Release Notes: + 'Release Notes for GNUmed 1.5.10 (database v20.10)', + 'GNUmed 1.5.10 Release Notes: - 1.5.9 + 1.5.10 -FIX: patient merging [thanks Marc] +FIX: patient merging, again [thanks Marc] -IMPROVED: update ES translations [thanks Uwe] + 20.10 - 20.9 - -no changes +FIX: pg_trgm placement and use +FIX: clin.substance_intake.fk_episode SET NOT NULL '); -- -------------------------------------------------------------- -select gm.log_script_insertion('v20-release_notes-dynamic.sql', '20.9'); +select gm.log_script_insertion('v20-release_notes-dynamic.sql', '20.10'); diff --git a/server/sql/v19-v20/fixups/v20-clin-substance_intake-fixup.sql b/server/sql/v19-v20/fixups/v20-clin-substance_intake-fixup.sql new file mode 100644 index 0000000..15baac5 --- /dev/null +++ b/server/sql/v19-v20/fixups/v20-clin-substance_intake-fixup.sql @@ -0,0 +1,79 @@ +-- ============================================================== +-- GNUmed database schema change script +-- +-- License: GPL v2 or later +-- Author: [email protected] +-- +-- ============================================================== +\set ON_ERROR_STOP 1 + +set check_function_bodies to 1; +--set default_transaction_read_only to off; + +-- -------------------------------------------------------------- +-- .fk_episode +create or replace function gm._add_substance_use_episodes() + returns boolean + language plpgsql + as ' +DECLARE + _curr_pat_id integer; + _curr_intake_id integer; + _substance_use_episode_id integer; +BEGIN + -- loop over intakes w/o episode + FOR + _curr_intake_id, _curr_pat_id + IN + select pk_substance_intake, pk_patient from clin.v_nonbrand_intakes where pk_episode is null + LOOP + + -- select substance use episode + select pk_episode INTO STRICT _substance_use_episode_id from clin.v_pat_episodes + where + summary ilike ''%[substance use]%'' + and + pk_patient = _curr_pat_id; + + --- create substance use episode + IF NOT FOUND THEN + insert into clin.episode + (description, is_open, fk_encounter, summary) + values ( + ''substance use'', + False, + -- most recent encounter + (select pk from clin.encounter where fk_patient = _curr_pat_id order by last_affirmed desc limit 1), + ''[substance use] (auto-added by v20.10 @ '' || clock_timestamp()::text || '')'' + ) + returning pk into strict _substance_use_episode_id; + END IF; + + -- update intake + update clin.substance_intake set + fk_episode = _substance_use_episode_id + where + pk = _curr_intake_id; + + END LOOP; + RETURN true; +END;'; + +select gm._add_substance_use_episodes(); + +drop function gm._add_substance_use_episodes() cascade; + + +alter table clin.substance_intake + alter column fk_episode + set not null; + + +alter table clin.substance_intake + drop constraint if exists sane_fk_episode cascade; + + +drop function if exists clin.trf_sanity_check_substance_episode() cascade; + +-- -------------------------------------------------------------- +select gm.log_script_insertion('v20-clin-substance_intake-fixup.sql', '20.10'); diff --git a/server/sql/v18-v19/fixups/v19-dem-org-idx-fixup.sql b/server/sql/v19-v20/fixups/v20-dem-org-idx-fixup.sql similarity index 59% copy from server/sql/v18-v19/fixups/v19-dem-org-idx-fixup.sql copy to server/sql/v19-v20/fixups/v20-dem-org-idx-fixup.sql index a64fb08..7d43451 100644 --- a/server/sql/v18-v19/fixups/v19-dem-org-idx-fixup.sql +++ b/server/sql/v19-v20/fixups/v20-dem-org-idx-fixup.sql @@ -9,21 +9,12 @@ --set default_transaction_read_only to off; -- -------------------------------------------------------------- -drop index if exists dem.idx_dem_org_fk_category cascade; -create index idx_dem_org_fk_category on dem.org(fk_category); - drop index if exists dem.idx_trgm_dem_org_desc cascade; -create index idx_trgm_dem_org_desc on dem.org using gin (description gin_trgm_ops); +create index idx_trgm_dem_org_desc on dem.org using gin (description pgtrgm.gin_trgm_ops); -- -------------------------------------------------------------- -drop index if exists dem.idx_dem_org_unit_fk_category cascade; -create index idx_dem_org_unit_fk_category on dem.org_unit(fk_category); - -drop index if exists dem.idx_dem_org_unit_fk_address cascade; -create index idx_dem_org_unit_fk_address on dem.org_unit(fk_address); - drop index if exists dem.idx_trgm_dem_org_unit_desc cascade; -create index idx_trgm_dem_org_unit_desc on dem.org_unit using gin (description gin_trgm_ops); +create index idx_trgm_dem_org_unit_desc on dem.org_unit using gin (description pgtrgm.gin_trgm_ops); -- -------------------------------------------------------------- -select gm.log_script_insertion('v19-dem-org-idx-fixup.sql', '19.9'); +select gm.log_script_insertion('v20-dem-org-idx-fixup.sql', '20.10'); diff --git a/server/sql/v18-v19/superuser/v19-install-pg_trgm.sql b/server/sql/v19-v20/superuser/v20-install-pg_trgm.sql similarity index 63% copy from server/sql/v18-v19/superuser/v19-install-pg_trgm.sql copy to server/sql/v19-v20/superuser/v20-install-pg_trgm.sql index 2a809fa..2c39e14 100644 --- a/server/sql/v18-v19/superuser/v19-install-pg_trgm.sql +++ b/server/sql/v19-v20/superuser/v20-install-pg_trgm.sql @@ -9,9 +9,12 @@ --set default_transaction_read_only to off; -- -------------------------------------------------------------- -create extension if not exists pg_trgm with schema pg_catalog; +drop schema if exists pgtrgm cascade; +create schema pgtrgm; +grant usage on schema pgtrgm to "gm-dbo"; -alter extension pg_trgm set schema pg_catalog; +drop extension if exists pg_trgm cascade; +create extension pg_trgm with schema pgtrgm; -- -------------------------------------------------------------- -select gm.log_script_insertion('v19-install-pg_trgm.sql', '19.10'); +select gm.log_script_insertion('v19-install-pg_trgm.sql', '19.12'); -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/gnumed-server.git _______________________________________________ debian-med-commit mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit
