• last updated 11 hours ago
Constraints: committers
Constraints: files
Constraints: dates
Prefer bind variables in sql idiom

Split statements into multiple database commands:

issuing multiple sql statements in the same command is a undocumented feature, probably exploited for performance reason, but not officially supported. The dml api will check if the first statement (supposed to be the only one) is actually a DML one. As the first statement in the chain is a select, the command fails.

Fixes xolp automated tests

Add tested procs to test cases

fix typo

avoid "tuple concurrently updated" errors from PostgreSQL

These errors are produced from PostgreSQL, when multiple


see e.g.:


Indroduce new indexes on xolp_activity_hierarchy_bridge and xolp_competency_set_bridge

Add 'package_id' for tests so it does not need to be guessed

Add 'package_id' for tests so it does not need to be guessed

Reuse computations

Add 'package_id' for tests so it does not need to be guessed

Rename 'random', 'randomInit' and 'randomRange' procs to something compliant to OpenACS naming convention, replace occurrences, create deprecated wrapper

Fix typo

Do not require uuid package anymore

Use ns_uuid Naviserver command instead of uuid::uuid generate from tcllib: apparently, this can interact badly with clock localized formatting, leading to the "GREGORIAN_CHANGE_DATE" issue

Do not depend on dt_systime

Apparently, this makes xolp tests more robust with respect to issue discussed in https://stackoverflow.com/questions/49031790/how-can-i-debug-a-tcl-8-6-error-in-clock-tcl#49033144

Fix 3 inconsistent log messages in the test

Prefer portable current_timestamp idiom to NOW()

Exploit existing acs::test::user::create api

Normalize indentation, add editor hints

    • -859
    • +866
Modernize XoTcl idioms

Use xotcl-core indentation convention

Whitespace cleanup, normalize indentation, add editor hints

Use xotcl db idioms

Rollback tests or they will interfere with the others

Reimplement query to obtain user competencies to fix xolp.user_get_competencies automated test

Personal perplexities:

- why do we specify the competency_set_id on the indicator facts? If one fact can be e.g. an exam, this might be related with multiple competency sets

- should we take into account also the validity of an activity?

Port downstream commit cab327aeda04f1f1f6b8f2310ddc88c7c081a84f from Günter Ernst:

Minor adjustments to ensure install- and uninstallability

Port of downstream commit 9cbc3f04aad075e902e64d0c67d53158160a933c from Felix Möedritscher:

feature / issue #10359: added message keys, extended the xolp API - get_competencies, get_activities_of_package, update_title

  1. … 3 more files in changeset.
Insert missing performance indicators for the user

Fix typo

As xolp_indicator_facts_check1 wants end_timestamp <= storage_timestamp, force end_timestamp some time in the past (api won't allow to specify storage_timestamp)