$adapter
$adapter : \Dewdrop\Db\Adapter
The Dewdrop DB adapter associated with this driver.
This class provides a driver based upon a Postgres PDO connection object.
$adapter : \Dewdrop\Db\Adapter
The Dewdrop DB adapter associated with this driver.
__construct(\Dewdrop\Db\Adapter $adapter, \PDO $pdo)
Associate this driver with the provided adapter and PDO connection.
\Dewdrop\Db\Adapter | $adapter | |
\PDO | $pdo |
fetchAll(mixed $sql, array $bind = array(), string $fetchMode = null) : array
Fetch all results for the supplied SQL query.
The SQL query can be a simple string or a Select object. The bind array should supply values for all the parameters, either named or numeric, in the query. And the fetch mode should match one of these 4 class constants from \Dewdrop\Db\Adapter: ARRAY_A, ARRAY_N, OBJECT, or OBJECT_K.
mixed | $sql | |
array | $bind | |
string | $fetchMode |
fetchAllWithGenerator(string|\Dewdrop\Db\Select $sql, array $bind = array(), string $fetchMode = null) : \Generator
Fetch all results for the supplied SQL query using a PHP generator.
This approach uses less memory, but the result set has a forward-only cursor.
The SQL query can be a simple string or a Select object. The bind array should supply values for all the parameters, either named or numeric, in the query. And the fetch mode should match one of these 4 class constants from \Dewdrop\Db\Adapter: ARRAY_A, ARRAY_N, OBJECT, or OBJECT_K.
string|\Dewdrop\Db\Select | $sql | |
array | $bind | |
string | $fetchMode |
fetchCol(string|\Dewdrop\Db\Select $sql, array $bind = array()) : array
Fetch a single column of the results from the supplied SQL statement.
string|\Dewdrop\Db\Select | $sql | |
array | $bind |
fetchOne(string|\Dewdrop\Db\Select $sql, array $bind = array()) : mixed
Fetch a single scalar value from the results of the supplied SQL statement.
string|\Dewdrop\Db\Select | $sql | |
array | $bind |
query(string|\Dewdrop\Db\Select $sql, array $bind = array(), string $fetchMode = null) : mixed
Run the supplied query, binding the supplied data to the statement prior to execution.
string|\Dewdrop\Db\Select | $sql | |
array | $bind | |
string | $fetchMode |
listForeignKeyReferences(string $tableName) : array
Returns an associative array containing all the foreign key relationships associated with the supplied table.
The array has the following format:
array( 'column_name' => array( 'table' => 'foreign_table', 'column' => 'foreign_column' ) )
string | $tableName |
describeTable(string $tableName) : array
Returns the column descriptions for a table.
The return value is an associative array keyed by the column name, as returned by the RDBMS.
The value of each array element is an associative array with the following keys:
SCHEMA_NAME => string; name of database or schema TABLE_NAME => string; COLUMN_NAME => string; column name COLUMN_POSITION => number; ordinal position of column in table DATA_TYPE => string; SQL datatype name of column DEFAULT => string; default expression of column, null if none NULLABLE => boolean; true if column can have nulls LENGTH => number; length of CHAR/VARCHAR SCALE => number; scale of NUMERIC/DECIMAL PRECISION => number; precision of NUMERIC/DECIMAL UNSIGNED => boolean; unsigned property of an integer type PRIMARY => boolean; true if column is part of the primary key PRIMARY_POSITION => integer; position of column in primary key IDENTITY => integer; true if column is auto-generated with unique values
string | $tableName |
mapNativeTypeToGenericType(string $nativeType, mixed $length) : string
Determine the appropriate generic data type for the supplied Postgres native data type.
1) boolean - A true/false value. 2) integer - Whole number. 3) float - Floating point number. 4) text - Fixed-length, shorter text value. 5) clob - Character large object. Large text field. 6) timestamp - Date and time combined. 7) date - Just a date. 8) time - Just the time. 9) money - Get money, get paid. 10) blob - Binary large object.
string | $nativeType | |
mixed | $length |
prepareSelectForTotalRowCalculation(\Dewdrop\Db\Select $select) : void
Use the OVER() window function to store a count of the total number of rows that would have been retrieved if no LIMIT clause was applied on the supplied Select object. The total row count will be added to the result set as a _dewdrop_count column.
\Dewdrop\Db\Select | $select |
fetchTotalRowCount(array $resultSet) : integer
Use the supplied resultset to determine the total number of rows that would have been fetch with no LIMIT clause present. This will only really work if you called the prepareSelectForTotalRowCalculation() method on the Select that retrieved the resultset.
array | $resultSet |
listMissingForeignKeyIndexes( $tableName) : mixed
List all missing foreign key indexes on the supplied table.
The resulting array has the following shape:
[ ['foreign_key_id'], ['multi_column_foreign_key_id', 'second_column_foreign_key_id'] ]
$tableName |