‪TYPO3CMS  ‪main
TYPO3\CMS\Core\Database\Schema\SchemaInformation Class Reference

Public Member Functions

 __construct (private readonly Connection $connection, private readonly FrontendInterface $cache)
 
string[] listTableNames ()
 
 introspectSchema ()
 
 introspectTable (string $tableName)
 

Private Attributes

string $connectionIdentifier
 

Detailed Description

This wrapper of SchemaManager contains some internal caches to avoid performance issues for recurring calls to specific schema related information. This should only be used in context where no changes are expected to happen.

This class is only for internal core usage and is not part of the public core API.

Definition at line 31 of file SchemaInformation.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Core\Database\Schema\SchemaInformation::__construct ( private readonly Connection  $connection,
private readonly FrontendInterface  $cache 
)

Definition at line 35 of file SchemaInformation.php.

Member Function Documentation

◆ introspectSchema()

TYPO3\CMS\Core\Database\Schema\SchemaInformation::introspectSchema ( )

Similar to doctrine DBAL/AbstractSchemaManager, but with a cache-layer. This is used core internally to auto-add types, for instance in Connection::insert().

Creates one cache entry in core cache per configured connection.

Definition at line 74 of file SchemaInformation.php.

References TYPO3\CMS\Webhooks\Message\$identifier.

Referenced by TYPO3\CMS\Core\Database\Schema\SchemaInformation\listTableNames().

◆ introspectTable()

TYPO3\CMS\Core\Database\Schema\SchemaInformation::introspectTable ( string  $tableName)

Similar to doctrine DBAL/AbstractSchemaManager, but with a cache-layer. This is used core internally to auto-add types, for instance in Connection::insert().

Creates one cache entry in core cache per table.

Definition at line 92 of file SchemaInformation.php.

References TYPO3\CMS\Webhooks\Message\$identifier.

◆ listTableNames()

string [] TYPO3\CMS\Core\Database\Schema\SchemaInformation::listTableNames ( )

Similar to doctrine DBAL/AbstractSchemaManager, but with a cache-layer. This is used core internally to auto-add types, for instance in Connection::insert().

Returns
‪string[]

Definition at line 58 of file SchemaInformation.php.

References TYPO3\CMS\Core\Database\Schema\SchemaInformation\introspectSchema().

Member Data Documentation

◆ $connectionIdentifier

string TYPO3\CMS\Core\Database\Schema\SchemaInformation::$connectionIdentifier
private

Definition at line 33 of file SchemaInformation.php.