* * @throws Exception */ public function getAllDatabaseNames(): array; /** * Returns names of all available schemas. * * @return list * * @throws Exception */ public function getAllSchemaNames(): array; /** * Returns names of all tables. * * @return list * * @throws Exception */ public function getAllTableNames(): array; /** * Returns all tables. * * @return list * * @throws Exception */ public function getAllTables(): array; /** * Returns columns for the given table. * * If the current database platform supports schemas, the schema name must be specified. Otherwise, null must be * passed as the schema name. * * Returns an empty value if the table doesn't exist or is not accessible to the connection. * * @param ?non-empty-string $schemaName * @param non-empty-string $tableName * * @return list * * @throws Exception */ public function getColumnsForTable(?string $schemaName, string $tableName): array; /** * Returns indexes for the given table. * * If the current database platform supports schemas, the schema name must be specified. Otherwise, null must be * passed as the schema name. * * Returns an empty value if the table doesn't exist or is not accessible to the connection. * * @param ?non-empty-string $schemaName * @param non-empty-string $tableName * * @return list * * @throws Exception */ public function getIndexesForTable(?string $schemaName, string $tableName): array; /** * Returns the primary key constraint for the given table. * * If the current database platform supports schemas, the schema name must be specified. Otherwise, null must be * passed as the schema name. * * Returns null if the table doesn't exist, doesn't have a primary key constraint or is not accessible * to the connection. * * @param ?non-empty-string $schemaName * @param non-empty-string $tableName * * @throws Exception */ public function getPrimaryKeyConstraintForTable(?string $schemaName, string $tableName): ?PrimaryKeyConstraint; /** * Returns the foreign key constraints in the given table. * * If the current database platform supports schemas, the schema name must be specified. Otherwise, null must be * passed as the schema name. * * Returns an empty value if the table doesn't exist or is not accessible to the connection. * * @param ?non-empty-string $schemaName * @param non-empty-string $tableName * * @return list * * @throws Exception */ public function getForeignKeyConstraintsForTable(?string $schemaName, string $tableName): array; /** * Returns options of the given table. * * If the current database platform supports schemas, the schema name must be specified. Otherwise, null must be * passed as the schema name. * * Returns null if the table doesn't exist or is not accessible to the connection. * * @param ?non-empty-string $schemaName * @param non-empty-string $tableName * * @return array|null * * @throws Exception */ public function getOptionsForTable(?string $schemaName, string $tableName): ?array; /** * @return list * * @throws Exception */ public function getAllViews(): array; /** * @return list * * @throws Exception */ public function getAllSequences(): array; }