• last updated 17 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Use quicker idiom to check for existance

Whitespace cleanup

Whitespace changes

Prefer api to retrieve the approval state of a user

Complete coverage for the notification package

    • -0
    • +247
    ./test/notifications-test-procs.tcl
Brutally delete the notification requests before deleting the delivery method (it's fine because it will be rolled back)

Fix issue in the query logics: we actually want to check the owner of the request, there might be multiple requests associated to the same object

    • -1
    • +10
    ./test/notifications-test-procs.tcl
Extend coverage, this will expose an api bug

    • -0
    • +179
    ./test/notifications-test-procs.tcl
Extend coverage

    • -1
    • +27
    ./test/notifications-test-procs.tcl
Cover more api

    • -0
    • +42
    ./test/notifications-test-procs.tcl
Extend automated tests

    • -0
    • +124
    ./test/notifications-test-procs.tcl
Allow to specify a user that does not come from the connection

Expand tests

    • -2
    • +80
    ./test/notifications-test-procs.tcl
Improve test a bit

Update documentation to best practices

Fix proc signature

  1. … 6 more files in changeset.
Replace leftover occurrences

  1. … 1 more file in changeset.
Deprecate notification::get_delivery_method_id, same as notification::delivery::get_id and looking more established

  1. … 6 more files in changeset.
Deprecate notification::get_interval_id, duplicated by notification::interval::get_id_from_name which appears to be more established

    • -21
    • +38
    ./test/notifications-test-procs.tcl
  1. … 4 more files in changeset.
Prefer flushing the cache, this addresses the automated test, where multiple insert/deletion are performed in the same request

Extend test

    • -12
    • +36
    ./test/notifications-test-procs.tcl
Cache the new type_id immediately in the (rare) event that a type was created in a previous request with the same name and then deleted

Expand test

    • -1
    • +10
    ./test/notifications-test-procs.tcl
Fix typo in xql file

    • -1
    • +1
    ./notification-request-procs-postgresql.xql
Extend notifications tests

    • -0
    • +154
    ./test/notifications-test-procs.tcl
Prefer the non cached api when deleting, as the id is cached in the thread and could be stale

Some tests for the notifications api, more to come

    • -0
    • +110
    ./test/notifications-test-procs.tcl
file notifications-test-procs.tcl was initially added on branch oacs-5-10.

    • -0
    • +0
    ./test/notifications-test-procs.tcl
Added parameter for sweep interval for stale notification as stated in a comment already.

Many thanks to Franz Penz for pusing this.

  1. … 1 more file in changeset.
Fixes for Oracle 19c: make query portable to Oracle by replacing USING by explicit ON joins

This fixed the following problem, where the problem is not easy to spot on first sight:

[16/Feb/2022:13:26:09][12845.7efd2d3e1700][-sched:0:41:22-] Error: nsoracle.c:1367:OracleSelect: error in `OCIStmtExecute ()': ORA-00904: "NOTIFICATION_REQUESTS"."USER_ID": invalid identifier

: SQL:

: select notification_id,

: notif_subject,

: notif_text,

: notif_html,

: file_ids,

: user_id,

: request_id,

: type_id,

: delivery_method_id,

: response_id,

: notif_date,

: notif_user,

: acs_permission.permission_p(notification_requests.object_id, !>>>!notification_requests.user_id, 'read') as still_valid_p

: from notifications inner join notification_requests using (type_id, object_id)

: inner join acs_objects on (notification_requests.request_id = acs_objects.object_id)

: left outer join notification_user_map using (notification_id, user_id)

: where sent_date is null

: and creation_date <= notif_date

: and (notif_date is null or notif_date < current_timestamp)

: and interval_id = :interval_id