PostgresConnection
class PostgresConnection extends Connection (View source)
Traits
Properties
protected PDO|Closure | $pdo | The active PDO connection. |
from Connection |
protected PDO|Closure | $readPdo | The active PDO connection used for reads. |
from Connection |
protected string | $database | The name of the connected database. |
from Connection |
protected string|null | $readWriteType | The type of the connection. |
from Connection |
protected string | $tablePrefix | The table prefix for the connection. |
from Connection |
protected array | $config | The database connection configuration options. |
from Connection |
protected callable | $reconnector | The reconnector instance for the connection. |
from Connection |
protected Grammar | $queryGrammar | The query grammar implementation. |
from Connection |
protected Grammar | $schemaGrammar | The schema grammar implementation. |
from Connection |
protected Processor | $postProcessor | The query post processor implementation. |
from Connection |
protected Dispatcher | $events | The event dispatcher instance. |
from Connection |
protected int | $fetchMode | The default fetch mode of the connection. |
from Connection |
protected int | $transactions | The number of active transactions. |
from Connection |
protected DatabaseTransactionsManager | $transactionsManager | The transaction manager instance. |
from Connection |
protected bool | $recordsModified | Indicates if changes have been made to the database. |
from Connection |
protected bool | $readOnWriteConnection | Indicates if the connection should use the "write" PDO connection. |
from Connection |
protected array | $queryLog | All of the queries run against the connection. |
from Connection |
protected bool | $loggingQueries | Indicates whether queries are being logged. |
from Connection |
protected bool | $pretending | Indicates if the connection is in a "dry run". |
from Connection |
protected array | $beforeExecutingCallbacks | All of the callbacks that should be invoked before a query is executed. |
from Connection |
protected Connection | $doctrineConnection | The instance of Doctrine connection. |
from Connection |
protected array | $doctrineTypeMappings | Type mappings that should be registered with new Doctrine connections. |
from Connection |
static protected array | $resolvers | The connection resolvers. |
from Connection |
Methods
Determine if the given exception was caused by a concurrency error such as a deadlock or serialization failure.
Determine if the given exception was caused by a lost connection.
Handle an exception encountered when running a transacted statement.
Handle an exception encountered when committing a transaction.
Rollback the active database transaction.
Execute the callback after a transaction commits.
Create a new database connection instance.
Get the default query grammar instance.
Set the schema grammar to the default implementation.
Get the default schema grammar instance.
Set the query post processor to the default implementation.
Get the default post processor instance.
Get a schema builder instance for the connection.
Begin a fluent query against a database table.
Run a select statement and return a single result.
Run a select statement against the database.
Run a select statement against the database.
Run a select statement against the database and returns a generator.
Get the PDO connection to use for a select query.
Run an insert statement against the database.
Run an update statement against the database.
Run a delete statement against the database.
Execute an SQL statement and return the boolean result.
Run an SQL statement and get the number of rows affected.
Run a raw, unprepared query against the PDO connection.
Bind values to their parameters in the given statement.
Run a SQL statement and log its execution context.
Log a query in the connection's query log.
Handle a query exception.
Handle a query exception that occurred during query execution.
Reconnect to the database if a PDO connection is missing.
Register a hook to be run just before a database query is executed.
Determine if the database connection has modified any database records.
Indicate if any records have been modified.
Indicate that the connection should use the write PDO connection for reads.
Get a Doctrine Schema Column instance.
Get the Doctrine DBAL schema manager for the connection.
Get the Doctrine DBAL database connection instance.
Register a custom Doctrine mapping type.
Get the current PDO connection parameter without executing any reconnect logic.
Get the current read PDO connection parameter without executing any reconnect logic.
Set the reconnect instance on the connection.
Get an option from the configuration options.
Set the transaction manager instance on the connection.
Set the read / write type of the connection.
Get the connection resolver for the given driver.
Get the schema state for the connection.
Get the Doctrine DBAL driver.
Details
protected bool
causedByConcurrencyError(Throwable $e)
Determine if the given exception was caused by a concurrency error such as a deadlock or serialization failure.
protected bool
causedByLostConnection(Throwable $e)
Determine if the given exception was caused by a lost connection.
mixed
transaction(Closure $callback, int $attempts = 1)
Execute a Closure within a transaction.
protected void
handleTransactionException(Throwable $e, int $currentAttempt, int $maxAttempts)
Handle an exception encountered when running a transacted statement.
void
beginTransaction()
Start a new database transaction.
protected void
createTransaction()
Create a transaction within the database.
protected void
createSavepoint()
Create a save point within the database.
protected void
handleBeginTransactionException(Throwable $e)
Handle an exception from a transaction beginning.
void
commit()
Commit the active database transaction.
protected void
handleCommitTransactionException(Throwable $e, int $currentAttempt, int $maxAttempts)
Handle an exception encountered when committing a transaction.
void
rollBack(int|null $toLevel = null)
Rollback the active database transaction.
protected void
performRollBack(int $toLevel)
Perform a rollback within the database.
protected void
handleRollBackException(Throwable $e)
Handle an exception from a rollback.
int
transactionLevel()
Get the number of active transactions.
void
afterCommit(callable $callback)
Execute the callback after a transaction commits.
void
__construct(PDO|Closure $pdo, string $database = '', string $tablePrefix = '', array $config = [])
Create a new database connection instance.
void
useDefaultQueryGrammar()
Set the query grammar to the default implementation.
protected Grammar
getDefaultQueryGrammar()
Get the default query grammar instance.
void
useDefaultSchemaGrammar()
Set the schema grammar to the default implementation.
protected Grammar
getDefaultSchemaGrammar()
Get the default schema grammar instance.
void
useDefaultPostProcessor()
Set the query post processor to the default implementation.
protected Processor
getDefaultPostProcessor()
Get the default post processor instance.
Builder
getSchemaBuilder()
Get a schema builder instance for the connection.
Builder
table(Closure|Builder|string $table, string|null $as = null)
Begin a fluent query against a database table.
Builder
query()
Get a new query builder instance.
mixed
selectOne(string $query, array $bindings = [], bool $useReadPdo = true)
Run a select statement and return a single result.
array
selectFromWriteConnection(string $query, array $bindings = [])
Run a select statement against the database.
array
select(string $query, array $bindings = [], bool $useReadPdo = true)
Run a select statement against the database.
Generator
cursor(string $query, array $bindings = [], bool $useReadPdo = true)
Run a select statement against the database and returns a generator.
protected PDOStatement
prepared(PDOStatement $statement)
Configure the PDO prepared statement.
protected PDO
getPdoForSelect(bool $useReadPdo = true)
Get the PDO connection to use for a select query.
bool
insert(string $query, array $bindings = [])
Run an insert statement against the database.
int
update(string $query, array $bindings = [])
Run an update statement against the database.
int
delete(string $query, array $bindings = [])
Run a delete statement against the database.
bool
statement(string $query, array $bindings = [])
Execute an SQL statement and return the boolean result.
int
affectingStatement(string $query, array $bindings = [])
Run an SQL statement and get the number of rows affected.
bool
unprepared(string $query)
Run a raw, unprepared query against the PDO connection.
array
pretend(Closure $callback)
Execute the given callback in "dry run" mode.
protected array
withFreshQueryLog(Closure $callback)
Execute the given callback in "dry run" mode.
void
bindValues(PDOStatement $statement, array $bindings)
Bind values to their parameters in the given statement.
array
prepareBindings(array $bindings)
Prepare the query bindings for execution.
protected mixed
run(string $query, array $bindings, Closure $callback)
Run a SQL statement and log its execution context.
protected mixed
runQueryCallback(string $query, array $bindings, Closure $callback)
Run a SQL statement.
void
logQuery(string $query, array $bindings, float|null $time = null)
Log a query in the connection's query log.
protected float
getElapsedTime(int $start)
Get the elapsed time since a given starting point.
protected mixed
handleQueryException(QueryException $e, string $query, array $bindings, Closure $callback)
Handle a query exception.
protected mixed
tryAgainIfCausedByLostConnection(QueryException $e, string $query, array $bindings, Closure $callback)
Handle a query exception that occurred during query execution.
void
reconnect()
Reconnect to the database.
protected void
reconnectIfMissingConnection()
Reconnect to the database if a PDO connection is missing.
void
disconnect()
Disconnect from the underlying PDO connection.
$this
beforeExecuting(Closure $callback)
Register a hook to be run just before a database query is executed.
void
listen(Closure $callback)
Register a database query listener with the connection.
protected array|null
fireConnectionEvent(string $event)
Fire an event for this connection.
protected void
event(mixed $event)
Fire the given event if possible.
Expression
raw(mixed $value)
Get a new raw query expression.
bool
hasModifiedRecords()
Determine if the database connection has modified any database records.
void
recordsHaveBeenModified(bool $value = true)
Indicate if any records have been modified.
$this
setRecordModificationState(bool $value)
Set the record modification state.
void
forgetRecordModificationState()
Reset the record modification state.
$this
useWriteConnectionWhenReading(bool $value = true)
Indicate that the connection should use the write PDO connection for reads.
bool
isDoctrineAvailable()
Is Doctrine available?
Column
getDoctrineColumn(string $table, string $column)
Get a Doctrine Schema Column instance.
AbstractSchemaManager
getDoctrineSchemaManager()
Get the Doctrine DBAL schema manager for the connection.
Connection
getDoctrineConnection()
Get the Doctrine DBAL database connection instance.
void
registerDoctrineType(string $class, string $name, string $type)
Register a custom Doctrine mapping type.
PDO
getPdo()
Get the current PDO connection.
PDO|Closure|null
getRawPdo()
Get the current PDO connection parameter without executing any reconnect logic.
PDO
getReadPdo()
Get the current PDO connection used for reading.
PDO|Closure|null
getRawReadPdo()
Get the current read PDO connection parameter without executing any reconnect logic.
$this
setReconnector(callable $reconnector)
Set the reconnect instance on the connection.
string|null
getName()
Get the database connection name.
string|null
getNameWithReadWriteType()
Get the database connection full name.
mixed
getConfig(string|null $option = null)
Get an option from the configuration options.
string
getDriverName()
Get the PDO driver name.
Grammar
getQueryGrammar()
Get the query grammar used by the connection.
$this
setQueryGrammar(Grammar $grammar)
Set the query grammar used by the connection.
Grammar
getSchemaGrammar()
Get the schema grammar used by the connection.
$this
setSchemaGrammar(Grammar $grammar)
Set the schema grammar used by the connection.
Processor
getPostProcessor()
Get the query post processor used by the connection.
$this
setPostProcessor(Processor $processor)
Set the query post processor used by the connection.
Dispatcher
getEventDispatcher()
Get the event dispatcher used by the connection.
$this
setEventDispatcher(Dispatcher $events)
Set the event dispatcher instance on the connection.
void
unsetEventDispatcher()
Unset the event dispatcher for this connection.
$this
setTransactionManager(DatabaseTransactionsManager $manager)
Set the transaction manager instance on the connection.
void
unsetTransactionManager()
Unset the transaction manager for this connection.
bool
pretending()
Determine if the connection is in a "dry run".
array
getQueryLog()
Get the connection query log.
void
flushQueryLog()
Clear the query log.
void
enableQueryLog()
Enable the query log on the connection.
void
disableQueryLog()
Disable the query log on the connection.
bool
logging()
Determine whether we're logging queries.
string
getDatabaseName()
Get the name of the connected database.
$this
setDatabaseName(string $database)
Set the name of the connected database.
$this
setReadWriteType(string|null $readWriteType)
Set the read / write type of the connection.
string
getTablePrefix()
Get the table prefix for the connection.
$this
setTablePrefix(string $prefix)
Set the table prefix in use by the connection.
static void
resolverFor(string $driver, Closure $callback)
Register a connection resolver.
static mixed
getResolver(string $driver)
Get the connection resolver for the given driver.
PostgresSchemaState
getSchemaState(Filesystem $files = null, callable $processFactory = null)
Get the schema state for the connection.
protected Driver|PostgresDriver
getDoctrineDriver()
Get the Doctrine DBAL driver.