37 [
'name' =>
'tst_solutions',
'sequence' =>
true],
45 [
'name' =>
'tst_test_result',
'sequence' =>
true]
53 $this->atom_query = $this->db->buildAtomQuery();
54 foreach ($tables as $table) {
55 $this->atom_query->addTableLock($table[
'name'])->lockSequence((
bool) $table[
'sequence']);
61 $this->atom_query = $this->db->buildAtomQuery();
63 $this->atom_query->addTableLock($table[
'name'])->lockSequence((
bool) $table[
'sequence']);
69 $this->atom_query = $this->db->buildAtomQuery();
74 $this->atom_query->addTableLock($table[
'name'])->lockSequence((
bool) $table[
'sequence']);
80 $this->atom_query = $this->db->buildAtomQuery();
81 $this->atom_query->addTableLock(
'tst_result_cache');
82 $this->atom_query->addTableLock(
'tst_test_result')->lockSequence(
true);
83 $this->atom_query->addTableLock(
'tst_solutions')->lockSequence(
true);
88 if ($this->atom_query !== null) {
92 $this->atom_query->run();
97 $this->atom_query = null;
onBeforeExecutingUserSolutionAdoptOperation()
executeOperation(callable $operation)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
onBeforeExecutingUserQuestionResultUpdateOperation()
onBeforeExecutingUserTestResultUpdateOperation()
__construct(private ilDBInterface $db)
onBeforeExecutingUserSolutionUpdateOperation()
getTablesUsedDuringSolutionUpdate()
getTablesUsedDuringResultUpdate()