Marc Angermann pushed to branch upstream at Debian Med / gnumed-server


Commits:
ede7eee4 by Marc Angermann at 2026-09-07T21:07:10+02:00
New upstream version 22.35
- - - - -


5 changed files:

- 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:

=====================================
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 &lt;lang&gt;::text
- (2nd argument) for the current user or the input,
- created in public schema for easy access,
- will fallback to &quot;xx&quot; 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 &quot;xx&quot; if language &quot;xx_XX@YY&quot; 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, &#39;_.*$&#39;, &#39;&#39;) and orig = _orig;
-               if not found then
-                       return _orig;
-               end if;
---             if not found then
---                     -- check &quot;generic&quot; dummy translation used to 
work around accentuation problems
---                     select into trans_str trans from i18n.translations 
where lang = &#39;generic&#39; 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, 
&#39;_.*$&#39;, &#39;&#39;) 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/-/commit/ede7eee44288020a3d4d1753681d7bd488576154

-- 
View it on GitLab: 
https://salsa.debian.org/med-team/gnumed-server/-/commit/ede7eee44288020a3d4d1753681d7bd488576154
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

Reply via email to