Index: openacs-4/packages/acs-lang/www/admin/message-list.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/message-list.xql,v diff -u -r1.1.2.3 -r1.1.2.4 --- openacs-4/packages/acs-lang/www/admin/message-list.xql 11 Apr 2019 18:36:41 -0000 1.1.2.3 +++ openacs-4/packages/acs-lang/www/admin/message-list.xql 15 Apr 2019 12:17:52 -0000 1.1.2.4 @@ -4,30 +4,57 @@ - select count(*) - from lang_messages lm1 left outer join - lang_messages lm2 on - (lm2.locale = :locale + select + count(*) as num_messages, + count(message_is_not_null + messages_not_deleted) as num_translated, + count(message_is_null + default_message_not_deleted + message_not_deleted) as num_untranslated, + count(any_message_deleted) as num_deleted + from ( + select + case when lm2.message is null then 1 end message_is_null, + case when lm2.message is not null then 1 end message_is_not_null, + case when lm1.deleted_p = 't' or lm2.deleted_p = 't' then 1 end any_message_deleted, + case when lm1.deleted_p = 'f' and lm2.deleted_p = 'f' then 1 end messages_not_deleted, + case when lm1.deleted_p = 'f' then 1 end default_message_not_deleted, + case when lm2.deleted_p = 'f' or lm2.deleted_p is null then 1 end message_not_deleted + from + lang_messages lm1 left outer join + lang_messages lm2 on ( + lm2.locale = :current_locale + and lm1.package_key = :package_key and lm2.message_key = lm1.message_key - and lm2.package_key = lm1.package_key), - lang_message_keys lmk - where lm1.locale = :default_locale - and lm1.package_key = :package_key - and lm1.message_key = lmk.message_key - and lm1.package_key = lmk.package_key - $where_clause + and lm2.package_key = lm1.package_key + ) + where + lm1.locale = :default_locale + and + lm1.package_key = :package_key + ) lang_messages; - select count(*) - from lang_messages lm - where package_key = :package_key - and locale = :default_locale - $where_clause + select + count(*) as num_messages, + count(message_is_not_null + message_not_deleted) as num_translated, + count(message_is_null + message_not_deleted) as num_untranslated, + count(message_deleted) as num_deleted + from ( + select + case when message is null then 1 end message_is_null, + case when message is not null then 1 end message_is_not_null, + case when deleted_p = 't' then 1 end message_deleted, + case when deleted_p = 'f' then 1 end message_not_deleted + from + lang_messages + where + locale = :default_locale + and + package_key = :package_key + ) lang_messages;