1: <?php
2:
3: declare(strict_types=1);
4:
5: namespace Atk4\Data\Persistence\Sql\Oracle;
6:
7: use Doctrine\DBAL\Result as DbalResult;
8:
9: trait SchemaManagerTrait
10: {
11: #[\Override]
12: protected function selectTableNames(string $databaseName): DbalResult
13: {
14: // ignore Oracle maintained tables, improve tests performance
15: // self::selectTableColumns() impl. once needed or wait for https://github.com/doctrine/dbal/issues/5764
16: $sql = <<<'EOF'
17: SELECT all_tables.table_name
18: FROM sys.all_tables
19: INNER JOIN sys.user_objects ON user_objects.object_type = 'TABLE'
20: AND user_objects.object_name = all_tables.table_name
21: WHERE owner = :OWNER AND oracle_maintained = 'N'
22: ORDER BY all_tables.table_name
23: EOF;
24:
25: return $this->_conn->executeQuery($sql, ['OWNER' => $databaseName]);
26: }
27: }
28: