| @@ 163-192 (lines=30) @@ | ||
| 160 | /** |
|
| 161 | * Resolves the canonical column types of the audit table columns. |
|
| 162 | */ |
|
| 163 | protected function resolveCanonicalAuditColumns() |
|
| 164 | { |
|
| 165 | if (empty($this->config['audit_columns'])) |
|
| 166 | { |
|
| 167 | $this->auditColumnsMetadata = new TableColumnsMetadata(); |
|
| 168 | } |
|
| 169 | else |
|
| 170 | { |
|
| 171 | $schema = $this->config['database']['audit_schema']; |
|
| 172 | $tableName = '_TMP_'.uniqid(); |
|
| 173 | AuditDataLayer::createTemporaryTable($schema, $tableName, $this->config['audit_columns']); |
|
| 174 | $columns = AuditDataLayer::getTableColumns($schema, $tableName); |
|
| 175 | AuditDataLayer::dropTemporaryTable($schema, $tableName); |
|
| 176 | ||
| 177 | foreach ($this->config['audit_columns'] as $audit_column) |
|
| 178 | { |
|
| 179 | $key = StaticDataLayer::searchInRowSet('column_name', $audit_column['column_name'], $columns); |
|
| 180 | if (isset($audit_column['value_type'])) |
|
| 181 | { |
|
| 182 | $columns[$key]['value_type'] = $audit_column['value_type']; |
|
| 183 | } |
|
| 184 | if (isset($audit_column['expression'])) |
|
| 185 | { |
|
| 186 | $columns[$key]['expression'] = $audit_column['expression']; |
|
| 187 | } |
|
| 188 | } |
|
| 189 | ||
| 190 | $this->auditColumnsMetadata = new TableColumnsMetadata($columns, 'AuditColumnMetadata'); |
|
| 191 | } |
|
| 192 | } |
|
| 193 | ||
| 194 | //-------------------------------------------------------------------------------------------------------------------- |
|
| 195 | /** |
|
| @@ 342-371 (lines=30) @@ | ||
| 339 | /** |
|
| 340 | * Resolves the canonical column types of the audit table columns. |
|
| 341 | */ |
|
| 342 | private function resolveCanonicalAuditColumns() |
|
| 343 | { |
|
| 344 | if (empty($this->config['audit_columns'])) |
|
| 345 | { |
|
| 346 | $this->auditColumnsMetadata = new TableColumnsMetadata(); |
|
| 347 | } |
|
| 348 | else |
|
| 349 | { |
|
| 350 | $schema = $this->config['database']['audit_schema']; |
|
| 351 | $tableName = '_TMP_'.uniqid(); |
|
| 352 | AuditDataLayer::createTemporaryTable($schema, $tableName, $this->config['audit_columns']); |
|
| 353 | $columns = AuditDataLayer::getTableColumns($schema, $tableName); |
|
| 354 | AuditDataLayer::dropTemporaryTable($schema, $tableName); |
|
| 355 | ||
| 356 | foreach ($this->config['audit_columns'] as $audit_column) |
|
| 357 | { |
|
| 358 | $key = StaticDataLayer::searchInRowSet('column_name', $audit_column['column_name'], $columns); |
|
| 359 | if (isset($audit_column['value_type'])) |
|
| 360 | { |
|
| 361 | $columns[$key]['value_type'] = $audit_column['value_type']; |
|
| 362 | } |
|
| 363 | if (isset($audit_column['expression'])) |
|
| 364 | { |
|
| 365 | $columns[$key]['expression'] = $audit_column['expression']; |
|
| 366 | } |
|
| 367 | } |
|
| 368 | ||
| 369 | $this->auditColumnsMetadata = new TableColumnsMetadata($columns, 'AuditColumnMetadata'); |
|
| 370 | } |
|
| 371 | } |
|
| 372 | ||
| 373 | //-------------------------------------------------------------------------------------------------------------------- |
|
| 374 | } |
|