SilverStripe\PostgreSQL\PostgreSQLConnector
PostgreSQL connector class using the PostgreSQL specific api
The connector doesn't know anything about schema selection, so code related to
masking multiple databases as schemas should be handled in the database controller
and schema manager.
Synopsis
class PostgreSQLConnector
extends DBConnector
{
- // members
- protected $dbConn = NULL;
- protected $databaseName = NULL;
- protected $lastQuery = NULL;
- protected $lastParameters = NULL;
- protected integer $lastRows = 0;
- // methods
- protected string escapeParameter()
- public void connect()
- public void affectedRows()
- public void getGeneratedID()
- public void getLastError()
- public void getSelectedDatabase()
- public void getVersion()
- public void isActive()
- public boolean checkStringTogglesLiteral()
- public string replacePlaceholders()
- public void preparedQuery()
- public void query()
- public void quoteString()
- public void escapeString()
- public void selectDatabase()
- public void unloadDatabase()
Hierarchy
Extends
- SilverStripe\ORM\Connect\DBConnector
Tasks
Line | Task |
---|---|
161+ | Test this! |
181+ | Better consider question marks in string literals |
Members
protected
- $databaseName
—
string
Name of the currently selected database - $dbConn
—
resource
Connection to the PG Database database - $lastParameters
—
array
Last parameters used to connect - $lastQuery
—
resource
Reference to the last query result (for pg_affected_rows) - $lastRows
Methods
protected
- escapeParameter() — Escape a parameter to be used in the connection string
public
- affectedRows()
- checkStringTogglesLiteral() — Determines if the SQL fragment either breaks into or out of a string literal by counting single quotes
- connect()
- escapeString()
- getGeneratedID()
- getLastError()
- getSelectedDatabase()
- getVersion()
- isActive()
- preparedQuery()
- query()
- quoteString()
- replacePlaceholders() — Iteratively replaces all question marks with numerical placeholders E.g. "Title = ? AND Name = ?" becomes "Title = $1 AND Name = $2"
- selectDatabase()
- unloadDatabase()