19declare(strict_types=1);
45 public function run(): void
60 }
catch (Exception
$e) {
61 $this->ilDBInstance->unlockTables();
64 $this->ilDBInstance->unlockTables();
75 foreach ($this->tables as $table) {
76 $full_name = $table->getTableName() . $table->getAlias();
77 if (in_array($full_name, $this->locked_table_full_names,
true)) {
80 $this->locked_table_full_names[] = $full_name;
82 if (!in_array($table->getTableName(), $this->locked_table_names,
true)) {
83 $locks[] = [
'name' => $table->getTableName(),
'type' => $table->getLockLevel() ];
84 $this->locked_table_names[] = $table->getTableName();
85 if ($table->isLockSequence() && $this->ilDBInstance->sequenceExists($table->getTableName())) {
86 $locks[] = [
'name' => $table->getTableName(),
'type' => $table->getLockLevel(),
'sequence' =>
true ];
89 if ($table->getAlias() !==
'') {
90 $locks[] = [
'name' => $table->getTableName(),
'type' => $table->getLockLevel(),
'alias' => $table->getAlias() ];
Class ilAtomQuery Use ilAtomQuery to fire Database-Actions which have to be done without beeing influ...
Class ilAtomQueryException.
const DB_ATOM_IDENTICAL_TABLES
array $locked_table_full_names
array $locked_table_names
Interface ilAtomQuery Use ilAtomQuery to fire Database-Actions which have to be done without beeing i...