| @@ 172-201 (lines=30) @@ | ||
| 169 | /** |
|
| 170 | * Resolves the canonical column types of the audit table columns. |
|
| 171 | */ |
|
| 172 | protected function resolveCanonicalAuditColumns() |
|
| 173 | { |
|
| 174 | if (empty($this->config['audit_columns'])) |
|
| 175 | { |
|
| 176 | $this->auditColumnsMetadata = new TableColumnsMetadata(); |
|
| 177 | } |
|
| 178 | else |
|
| 179 | { |
|
| 180 | $schema = $this->config['database']['audit_schema']; |
|
| 181 | $tableName = '_TMP_'.uniqid(); |
|
| 182 | AuditDataLayer::createTemporaryTable($schema, $tableName, $this->config['audit_columns']); |
|
| 183 | $columns = AuditDataLayer::getTableColumns($schema, $tableName); |
|
| 184 | AuditDataLayer::dropTemporaryTable($schema, $tableName); |
|
| 185 | ||
| 186 | foreach ($this->config['audit_columns'] as $audit_column) |
|
| 187 | { |
|
| 188 | $key = StaticDataLayer::searchInRowSet('column_name', $audit_column['column_name'], $columns); |
|
| 189 | if (isset($audit_column['value_type'])) |
|
| 190 | { |
|
| 191 | $columns[$key]['value_type'] = $audit_column['value_type']; |
|
| 192 | } |
|
| 193 | if (isset($audit_column['expression'])) |
|
| 194 | { |
|
| 195 | $columns[$key]['expression'] = $audit_column['expression']; |
|
| 196 | } |
|
| 197 | } |
|
| 198 | ||
| 199 | $this->auditColumnsMetadata = new TableColumnsMetadata($columns, 'AuditColumnMetadata'); |
|
| 200 | } |
|
| 201 | } |
|
| 202 | ||
| 203 | //-------------------------------------------------------------------------------------------------------------------- |
|
| 204 | /** |
|
| @@ 300-329 (lines=30) @@ | ||
| 297 | /** |
|
| 298 | * Resolves the canonical column types of the audit table columns. |
|
| 299 | */ |
|
| 300 | private function resolveCanonicalAuditColumns() |
|
| 301 | { |
|
| 302 | if (empty($this->config['audit_columns'])) |
|
| 303 | { |
|
| 304 | $this->auditColumnsMetadata = new TableColumnsMetadata(); |
|
| 305 | } |
|
| 306 | else |
|
| 307 | { |
|
| 308 | $schema = $this->config['database']['audit_schema']; |
|
| 309 | $tableName = '_TMP_'.uniqid(); |
|
| 310 | AuditDataLayer::createTemporaryTable($schema, $tableName, $this->config['audit_columns']); |
|
| 311 | $columns = AuditDataLayer::getTableColumns($schema, $tableName); |
|
| 312 | AuditDataLayer::dropTemporaryTable($schema, $tableName); |
|
| 313 | ||
| 314 | foreach ($this->config['audit_columns'] as $audit_column) |
|
| 315 | { |
|
| 316 | $key = StaticDataLayer::searchInRowSet('column_name', $audit_column['column_name'], $columns); |
|
| 317 | if (isset($audit_column['value_type'])) |
|
| 318 | { |
|
| 319 | $columns[$key]['value_type'] = $audit_column['value_type']; |
|
| 320 | } |
|
| 321 | if (isset($audit_column['expression'])) |
|
| 322 | { |
|
| 323 | $columns[$key]['expression'] = $audit_column['expression']; |
|
| 324 | } |
|
| 325 | } |
|
| 326 | ||
| 327 | $this->auditColumnsMetadata = new TableColumnsMetadata($columns, 'AuditColumnMetadata'); |
|
| 328 | } |
|
| 329 | } |
|
| 330 | ||
| 331 | //-------------------------------------------------------------------------------------------------------------------- |
|
| 332 | } |
|