class PostgreSQLDatabaseConfigurationHelper implements DatabaseConfigurationHelper (View source)

This is a helper class for the SS installer.

It does all the specific checking for PostgreSQLDatabase to ensure that the configuration is setup correctly.

Methods

protected
mixed|null
createConnection(array $databaseConfig, string $error)

Create a connection of the appropriate type

public
bool
requireDatabaseFunctions(array $databaseConfig)

Ensure that the database function for connectivity is available.

public
array
requireDatabaseServer(array $databaseConfig)

Ensure that the database server exists.

public
array
requireDatabaseConnection(array $databaseConfig)

Ensure a database connection is possible using credentials provided.

public
string
getDatabaseVersion(array $databaseConfig)

Determines the version of the database server

public
array
requireDatabaseVersion(array $databaseConfig)

Ensure that the PostgreSQL version is at least 8.3.

protected
array
query(mixed $conn, string $sql)

Helper function to execute a query

public
array
requireDatabaseOrCreatePermissions(array $databaseConfig)

Ensure that the database connection is able to use an existing database, or be able to create one if it doesn't exist.

public
array
requireDatabaseAlterPermissions(array $databaseConfig)

Ensure we have permissions to alter tables.

Details

protected mixed|null createConnection(array $databaseConfig, string $error)

Create a connection of the appropriate type

Parameters

array $databaseConfig
string $error

Error message passed by value

Return Value

mixed|null

Either the connection object, or null if error

bool requireDatabaseFunctions(array $databaseConfig)

Ensure that the database function for connectivity is available.

If it is, we assume the PHP module for this database has been setup correctly.

Parameters

array $databaseConfig

Associative array of db configuration, e.g. "server", "username" etc

Return Value

bool

array requireDatabaseServer(array $databaseConfig)

Ensure that the database server exists.

Parameters

array $databaseConfig

Associative array of db configuration, e.g. "server", "username" etc

Return Value

array

Result - e.g. array('okay' => true, 'error' => 'details of error')

array requireDatabaseConnection(array $databaseConfig)

Ensure a database connection is possible using credentials provided.

The established connection resource is returned with the results as well.

Parameters

array $databaseConfig

Associative array of db configuration, e.g. "server", "username" etc

Return Value

array

Result - e.g. array('okay' => true, 'connection' => mysql link, 'error' => 'details of error')

string getDatabaseVersion(array $databaseConfig)

Determines the version of the database server

Parameters

array $databaseConfig

Associative array of db configuration, e.g. "server", "username" etc

Return Value

string

Version of database server or false on failure

array requireDatabaseVersion(array $databaseConfig)

Ensure that the PostgreSQL version is at least 8.3.

Parameters

array $databaseConfig

Associative array of db configuration, e.g. "server", "username" etc

Return Value

array

Result - e.g. array('success' => true, 'error' => 'details of error')

protected array query(mixed $conn, string $sql)

Helper function to execute a query

Parameters

mixed $conn

Connection object/resource

string $sql

SQL string to execute

Return Value

array

List of first value from each resulting row

array requireDatabaseOrCreatePermissions(array $databaseConfig)

Ensure that the database connection is able to use an existing database, or be able to create one if it doesn't exist.

Parameters

array $databaseConfig

Associative array of db configuration, e.g. "server", "username" etc

Return Value

array

Result - e.g. array('okay' => true, 'existsAlready' => 'true')

array requireDatabaseAlterPermissions(array $databaseConfig)

Ensure we have permissions to alter tables.

Parameters

array $databaseConfig

Associative array of db configuration, e.g. "server", "username" etc

Return Value

array

Result - e.g. array('okay' => true, 'applies' => true), where applies is whether the test is relevant for the database