Marc Angermann pushed to branch master at Debian Med / gnumed-server
Commits: ede7eee4 by Marc Angermann at 2026-09-07T21:07:10+02:00 New upstream version 22.35 - - - - - 51e59028 by Marc Angermann at 2026-09-07T21:07:44+02:00 Update upstream source from tag 'upstream/22.35' Update to upstream version '22.35' with Debian dir df0f0e7212ae18188500a56c603f9d86f27b4d84 - - - - - b76ae301 by Marc Angermann at 2026-09-07T21:07:50+02:00 New upstream version 22.35 - - - - - 6 changed files: - debian/changelog - server/bootstrap/fixup_db-v22.conf - server/bootstrap/update_db-v21_v22.conf - server/doc/schema/gnumed-entire_schema.html - + server/sql/v21-v22/fixups/v22-i18n-fixup.sql - server/sql/v21-v22/fixups/v22-release_notes-fixup.sql Changes: ===================================== debian/changelog ===================================== @@ -1,3 +1,11 @@ +gnumed-server (22.35-1) unstable; urgency=medium + + * New upstream version + * Assorted database access performance improvements contributed by + Marc. + + -- Marc Angermann <[email protected]> Mon, 07 Sep 2026 21:07:48 +0200 + gnumed-server (22.34-2) unstable; urgency=medium * Team Upload ===================================== server/bootstrap/fixup_db-v22.conf ===================================== @@ -30,6 +30,7 @@ schema = $schema$ v22-gm-concat_table_structure_v19_and_up-fixup.sql v22-ref-paperwork_templates-fixups.sql v22-invoice_id_grants-fixup.sql +v22-i18n-fixup.sql v22-i18n-lang_funcs-fixup.sql v22-clin-v_candidate_diagnoses-fixup.sql v22-dem-v_message_inbox-fixup.sql ===================================== server/bootstrap/update_db-v21_v22.conf ===================================== @@ -162,6 +162,7 @@ schema = $schema$ v22-gm-concat_table_structure_v19_and_up-fixup.sql v22-ref-paperwork_templates-fixups.sql v22-invoice_id_grants-fixup.sql +v22-i18n-fixup.sql v22-i18n-lang_funcs-fixup.sql v22-clin-v_candidate_diagnoses-fixup.sql v22-dem-v_message_inbox-fixup.sql ===================================== server/doc/schema/gnumed-entire_schema.html ===================================== @@ -112,7 +112,7 @@ <body> <!-- Primary Index --> -<p><br><br>Dumped on 2026-04-16</p> +<p><br><br>Dumped on 2026-09-06</p> <h1><a name="index">Index of database - gnumed_v22</a></h1> <ul> @@ -130735,36 +130735,20 @@ WHERE (NOT <a href="gnumed-entire_schema.html#i18n.schema">i18n</a>.<a name="i18n.function.-text-text">_(text, text)</a> </h2> <h3>Returns: text</h3> -<h3>Language: PLPGSQL</h3> -<p>will return either the translation into <lang>::text - (2nd argument) for the current user or the input, - created in public schema for easy access, - will fallback to "xx" if xx_XX does not exist</p> +<h3>Language: SQL</h3> +<p>Returns either the translation of 1st argument into language +in 2nd argument, or the input if no translation is found. +. +Falls back to "xx" if language "xx_XX@YY" does not translate. +</p> <pre> -DECLARE - _orig alias for $1; - _lang alias for $2; - trans_str text; -BEGIN - select into trans_str trans from i18n.translations where lang = _lang and orig = _orig; - if not found then - -- reduce xx_XX@YY to xx - select into trans_str trans from i18n.translations where lang = regexp_replace(_lang, '_.*$', '') and orig = _orig; - if not found then - return _orig; - end if; --- if not found then --- -- check "generic" dummy translation used to work around accentuation problems --- select into trans_str trans from i18n.translations where lang = 'generic' and orig = _orig; --- --- if not found then --- return _orig; --- end if; --- end if; - end if; - return trans_str; -END; -</pre> +SELECT COALESCE ( + (SELECT trans FROM i18n.translations WHERE lang = $2 AND orig = $1), + -- reduce xx_XX@YY to xx + (SELECT trans FROM i18n.translations WHERE lang = regexp_replace($2, '_.*$', '') AND orig = $1), + -- return untranslated string + $1 +)</pre> <hr> <h2>Function: ===================================== server/sql/v21-v22/fixups/v22-i18n-fixup.sql ===================================== @@ -0,0 +1,34 @@ +-- ============================================================== +-- GNUmed database schema change script +-- +-- License: GPL v2 or later +-- Author: [email protected] +-- +-- ============================================================== +set default_transaction_read_only to off; +\set ON_ERROR_STOP 1 +\set check_function_bodies 1 + +-- -------------------------------------------------------------- +CREATE OR REPLACE FUNCTION i18n._(text, text) + RETURNS text + LANGUAGE sql + STABLE + AS ' +SELECT COALESCE ( + (SELECT trans FROM i18n.translations WHERE lang = $2 AND orig = $1), + -- reduce xx_XX@YY to xx + (SELECT trans FROM i18n.translations WHERE lang = regexp_replace($2, ''_.*$'', '''') AND orig = $1), + -- return untranslated string + $1 +)'; + +comment on function i18n._(text, text) is +'Returns either the translation of 1st argument into language +in 2nd argument, or the input if no translation is found. +. +Falls back to "xx" if language "xx_XX@YY" does not translate. +'; + +-- -------------------------------------------------------------- +select gm.log_script_insertion('v22-i18n-fixup.sql', '22.35'); ===================================== server/sql/v21-v22/fixups/v22-release_notes-fixup.sql ===================================== @@ -17,23 +17,17 @@ 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.8.24 (database v22.34)', - 'GNUmed 1.8.24 Release Notes: + 'Release Notes for GNUmed 1.8.25 (database v22.35)', + 'GNUmed 1.8.25 Release Notes: - 1.8.24 + 1.8.25 -FIX: more robust UI update when quickly scrolling document tree -FIX: more robust handling of DICOM instance download issues -FIX: more robust Orthanc DICOM instance parsing +IMPROVED: speed of document part access [thanks Marc] - 22.34 + 22.35 -FIX: bootstrapping: chicken-egg-problem with gm-dbo vs groups creation -FIX: bootstrapping: use pg_roles rather than pg_user b/c of collation dependance -FIX: gm.transfer_users(): switch from pg_user to pg_roles -FIX: bootstrapping: properly set ADMIN on groups when running several upgrades in a row -FIX: bootstrapping: using CREATE ROLE for users requires explicit LOGIN +IMPROVED: speed of i18n._() [thanks Marc] '); -- -------------------------------------------------------------- -select gm.log_script_insertion('v22-release_notes-fixup.sql', '[email protected]'); +select gm.log_script_insertion('v22-release_notes-fixup.sql', '[email protected]'); View it on GitLab: https://salsa.debian.org/med-team/gnumed-server/-/compare/f37bb0a8f6b4a3c64e5c8785cc16087fb2417dc0...b76ae30121134c1933ca8f924d445c2909736660 -- View it on GitLab: https://salsa.debian.org/med-team/gnumed-server/-/compare/f37bb0a8f6b4a3c64e5c8785cc16087fb2417dc0...b76ae30121134c1933ca8f924d445c2909736660 You're receiving this email because of your account on salsa.debian.org. Manage all notifications: https://salsa.debian.org/-/profile/notifications | Help: https://salsa.debian.org/help
_______________________________________________ debian-med-commit mailing list [email protected] https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-med-commit
