◆ getDefaultEngine()
| ilDatabasePopulatedObjective::getDefaultEngine |
( |
ilDBInterface |
$db | ) |
|
|
private |
Definition at line 178 of file class.ilDatabasePopulatedObjective.php.
178 : string
179 {
180 try {
181 $r = $db->
query(
'SHOW ENGINES ');
182
183 $default = '';
185 if (strtoupper(
$d->Support) ===
'DEFAULT') {
186 $default =
$d->Engine;
187 break;
188 }
189 }
190 return strtolower($default);
191 }
catch (Throwable
$e) {
192 return 'unknown';
193 }
194 }
for( $i=6;$i< 13;$i++) for($i=1; $i< 13; $i++) $d
fetchObject(ilDBStatement $query_result)
query(string $query)
Run a (read-only) Query on the database.
References $d, Vendor\Package\$e, ilDBInterface\fetchObject(), and ilDBInterface\query().
◆ getHash()
| ilDatabasePopulatedObjective::getHash |
( |
| ) |
|
Definition at line 27 of file class.ilDatabasePopulatedObjective.php.
27 : string
28 {
29 return hash("sha256", implode("-", [
30 self::class,
31 $this->config->getHost(),
32 $this->config->getPort(),
33 $this->config->getDatabase()
34 ]));
35 }
◆ getLabel()
| ilDatabasePopulatedObjective::getLabel |
( |
| ) |
|
◆ getPreconditions()
| ilDatabasePopulatedObjective::getPreconditions |
( |
Setup\Environment |
$environment | ) |
|
- Returns
- \ilDatabaseExistsObjective[]
Definition at line 50 of file class.ilDatabasePopulatedObjective.php.
50 : array
51 {
52 if ($environment->getResource(Setup\Environment::RESOURCE_DATABASE)) {
53 return [];
54 }
55 return [
56 new \ilDatabaseExistsObjective($this->config)
57 ];
58 }
◆ isApplicable()
| ilDatabasePopulatedObjective::isApplicable |
( |
Setup\Environment |
$environment | ) |
|
◆ isDatabasePopulated()
| ilDatabasePopulatedObjective::isDatabasePopulated |
( |
ilDBInterface |
$db | ) |
|
|
protected |
Definition at line 100 of file class.ilDatabasePopulatedObjective.php.
100 : bool
101 {
102 $probe_tables = ['usr_data', 'object_data', 'object_reference'];
103 $number_of_probe_tables = count($probe_tables);
105 $number_of_tables = count($tables);
106
107 return
108 $number_of_tables > self::MIN_NUMBER_OF_ILIAS_TABLES
109 && count(array_intersect($tables, $probe_tables)) === $number_of_probe_tables;
110 }
References ilDBInterface\listTables().
Referenced by isApplicable().
◆ isNotable()
| ilDatabasePopulatedObjective::isNotable |
( |
| ) |
|
◆ queryReader()
| ilDatabasePopulatedObjective::queryReader |
( |
string |
$path_to_db_dump | ) |
|
|
private |
Definition at line 137 of file class.ilDatabasePopulatedObjective.php.
137 : Generator
138 {
139 $stack = '';
140 $handle = fopen($path_to_db_dump, "r");
141 while (($line = fgets($handle)) !== false) {
142 if (preg_match('/^--/', $line)) {
143 continue;
144 }
145 if (preg_match('/^\/\*/', $line)) {
146 yield $line;
147 $stack = '';
148 continue;
149 }
150 if (!preg_match('/;$/', trim($line))) {
151 $stack .= $line;
152 } else {
153 $stack .= $line;
154 yield $stack;
155 $stack = '';
156 }
157 }
158
159 fclose($handle);
160 }
Referenced by readDumpFile().
◆ readDumpFile()
- Exceptions
-
Definition at line 115 of file class.ilDatabasePopulatedObjective.php.
115 : void
116 {
117 $path_to_db_dump = $this->config->getPathToDBDump();
118 if (!is_file(realpath($path_to_db_dump)) ||
119 !is_readable(realpath($path_to_db_dump))) {
120 throw new Setup\UnachievableException(
121 "Cannot read database dump file: $path_to_db_dump"
122 );
123 }
125 try {
128 }
catch (Throwable
$e) {
129 throw new Setup\UnachievableException(
130 "Cannot populate database with dump file: $path_to_db_dump. Query failed: $query wih message " .
$e->getMessage(
131 )
132 );
133 }
134 }
135 }
queryReader(string $path_to_db_dump)
prepareManip(string $a_query, ?array $a_types=null)
execute(ilDBStatement $stmt, array $data=[])
References Vendor\Package\$e, $query, ilDBInterface\execute(), ilDBInterface\prepareManip(), and queryReader().
◆ setDefaultEngine()
| ilDatabasePopulatedObjective::setDefaultEngine |
( |
ilDBInterface |
$db | ) |
|
|
private |
◆ MIN_NUMBER_OF_ILIAS_TABLES
| const ilDatabasePopulatedObjective::MIN_NUMBER_OF_ILIAS_TABLES = 200 |
The documentation for this class was generated from the following file: