Skip to content
Snippets Groups Projects

Update WorkerActivity.updated using a trigger

Merged Erwan Rouchet requested to merge workeractivity-trigger into master

Merge request reports

Checking pipeline status.

Approval is optional

Merged by Bastien AbadieBastien Abadie 2 years ago (Oct 26, 2022 10:27am UTC)

Merge details

  • Changes merged into with 862446fa.
  • Deleted the source branch.
  • Auto-merge enabled

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • changed milestone to %Arkindex 1.3.4

  • Erwan Rouchet requested review from @babadie

    requested review from @babadie

  • Erwan Rouchet assigned to @erwanrouchet

    assigned to @erwanrouchet

  • Bastien Abadie added 6 commits

    added 6 commits

    Compare with previous version

  • I was able to check it from the django shell, calling save after a state change fails with save()). You have to specify which fields are to be updated (which is OK). As there is no way to set a read-only model field, we'll live with it

    The exception is pretty straightforward

    >>> wa.save()
    Traceback (most recent call last):
      File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/backends/utils.py", line 89, in _execute
        return self.cursor.execute(sql, params)
    psycopg2.errors.RaiseException: pgtrigger: Cannot update rows from process_workeractivity table
    CONTEXT:  PL/pgSQL function pgtrigger_read_only_workeractivity_updated_a80ab() line 11 at RAISE
    
    
    The above exception was the direct cause of the following exception:
    
    Traceback (most recent call last):
      File "<console>", line 1, in <module>
      File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/models/base.py", line 806, in save
        self.save_base(
      File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/models/base.py", line 857, in save_base
        updated = self._save_table(
      File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/models/base.py", line 970, in _save_table
        updated = self._do_update(
      File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/models/base.py", line 1034, in _do_update
        return filtered._update(values) > 0
      File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/models/query.py", line 885, in _update
        return query.get_compiler(self.db).execute_sql(CURSOR)
      File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/models/sql/compiler.py", line 1783, in execute_sql
        cursor = super().execute_sql(result_type)
      File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/models/sql/compiler.py", line 1361, in execute_sql
        cursor.execute(sql, params)
      File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/backends/utils.py", line 103, in execute
        return super().execute(sql, params)
      File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/backends/utils.py", line 67, in execute
        return self._execute_with_wrappers(
      File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/backends/utils.py", line 80, in _execute_with_wrappers
        return executor(sql, params, many, context)
      File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/backends/utils.py", line 84, in _execute
        with self.db.wrap_database_errors:
      File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/utils.py", line 91, in __exit__
        raise dj_exc_value.with_traceback(traceback) from exc_value
      File "/home/bastien/Envs/ark/lib/python3.10/site-packages/django/db/backends/utils.py", line 89, in _execute
        return self.cursor.execute(sql, params)
    django.db.utils.InternalError: pgtrigger: Cannot update rows from process_workeractivity table
    CONTEXT:  PL/pgSQL function pgtrigger_read_only_workeractivity_updated_a80ab() line 11 at RAISE
Please register or sign in to reply
Loading