• last updated 4 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Fixes for Oracle 19c: (temporary?) fix for message catalogs

This change fixes the problem that after a fresh installation, all (!)

messages keys are empty. I am not sure what the source of the problem

is, why this has supposedly worked some years before, and whether

there are undesired side-effects of this change. Without this change,

the openacs installation leads to fully broken state.

improved error message

Fixes for Oracle 19c boolean types in query

This fixes the following bug for Oracle:

: SQL:

: select locale

: from ad_locales l

: where language = :language

: and enabled_p

: !>>>!and (default_p or not exists (select 1 from ad_locales

: where language = :language

: and locale <> l.locale))

:

Reduce need for xql

Cleanup hacks addressing #2011927 bug in Oracle: this has been supposedly addressed in version 9i, already EOL

See http://oracle-docs.dartmouth.edu/dba-docs/patchset_9.2.0.4.htm

Fix acs-lang.test_message_register automated test:

when checking if a message should be created or updated, do not trust the nsv, which won't be there for messages that have been soft-deleted and go to the db instead. When a message is soft deleted, cleanup the nsv cache.

Expose a bug in the message key registration:

when a message key is soft-deleted and the server is restarted, upon re-registration the nsv that signals its presence won't be found and an insertion will be attempted. However, as the db entry is there, a primary key constraint will be triggered.

Stick to packages that are enabled

  1. … 1 more file in changeset.
Use the intended table to get packages that are known to the system

  1. … 1 more file in changeset.
Add comment

Make api to retrieve the dependencies of a package public, as we use it in a test in another package, swith to the api that will retrieve the cached value instead of re-computing the result

  1. … 1 more file in changeset.
New test to check that message keys are used consistently with package dependencies

this can only be enforced as a warning because it is possible to have constructs such as "if installed, then use message key" that would be tricky to detect

Reuse computation of lang::conn::locale when invoked again in the same request

This reduces stress on the util_memoize cache for those installation that invoke this api often.

Reduce divergency between oracle and postgres codebase

  1. … 6 more files in changeset.
list called api procs

Mark 'lang::message::cache' as public, as it is used in 'acs-admin'

Mark 'lang::catalog::package_catalog_dir' as public, as it is used in 'acs-admin'

Mark 'lang::util::get_hash_indices' as public, as it is used in 'acs-admin'

complete listing of covered procs in test cases

  1. … 14 more files in changeset.
Make api public, complies with acs-api-browser.graph__bad_calls automated test

  1. … 4 more files in changeset.
remove protection "private", since function has to be called from other packages

  1. … 6 more files in changeset.
bring test coverage to >50% by adding test cases and marking only locally called functions as private

    • -0
    • +29
    ./test/acs-lang-localization-procs.tcl
mark unused function "_mr" as deprecated

improve listing of test coverage

  1. … 17 more files in changeset.
use per_thread_cache for flusing rather than raw variables

make listing of tested procs more complete

    • -2
    • +5
    ./test/acs-lang-localization-procs.tcl
  1. … 5 more files in changeset.
make comment more precise

New test to enforce that catalog files are valid XML

Define arguments so that documentation__check_parameters automated test does find -varname flag correctly

Pass missing object_id flag