Skip to content

Commit

Permalink
Added result caching for QueryBuilder and fetch/iterate methods in Co…
Browse files Browse the repository at this point in the history
…nnection
  • Loading branch information
twoleds committed Jul 26, 2022
1 parent de42378 commit d346acf
Show file tree
Hide file tree
Showing 2 changed files with 202 additions and 49 deletions.
130 changes: 91 additions & 39 deletions src/Connection.php
Expand Up @@ -526,9 +526,13 @@ public function setAutoCommit($autoCommit)
*
* @throws Exception
*/
public function fetchAssociative(string $query, array $params = [], array $types = [])
{
return $this->executeQuery($query, $params, $types)->fetchAssociative();
public function fetchAssociative(
string $query,
array $params = [],
array $types = [],
?QueryCacheProfile $qcp = null
) {
return $this->executeQuery($query, $params, $types, $qcp)->fetchAssociative();
}

/**
Expand All @@ -543,9 +547,13 @@ public function fetchAssociative(string $query, array $params = [], array $types
*
* @throws Exception
*/
public function fetchNumeric(string $query, array $params = [], array $types = [])
{
return $this->executeQuery($query, $params, $types)->fetchNumeric();
public function fetchNumeric(
string $query,
array $params = [],
array $types = [],
?QueryCacheProfile $qcp = null
) {
return $this->executeQuery($query, $params, $types, $qcp)->fetchNumeric();
}

/**
Expand All @@ -560,9 +568,13 @@ public function fetchNumeric(string $query, array $params = [], array $types = [
*
* @throws Exception
*/
public function fetchOne(string $query, array $params = [], array $types = [])
{
return $this->executeQuery($query, $params, $types)->fetchOne();
public function fetchOne(
string $query,
array $params = [],
array $types = [],
?QueryCacheProfile $qcp = null
) {
return $this->executeQuery($query, $params, $types, $qcp)->fetchOne();
}

/**
Expand Down Expand Up @@ -828,9 +840,13 @@ public function quote($value, $type = ParameterType::STRING)
*
* @throws Exception
*/
public function fetchAllNumeric(string $query, array $params = [], array $types = []): array
{
return $this->executeQuery($query, $params, $types)->fetchAllNumeric();
public function fetchAllNumeric(
string $query,
array $params = [],
array $types = [],
?QueryCacheProfile $qcp = null
): array {
return $this->executeQuery($query, $params, $types, $qcp)->fetchAllNumeric();
}

/**
Expand All @@ -844,9 +860,13 @@ public function fetchAllNumeric(string $query, array $params = [], array $types
*
* @throws Exception
*/
public function fetchAllAssociative(string $query, array $params = [], array $types = []): array
{
return $this->executeQuery($query, $params, $types)->fetchAllAssociative();
public function fetchAllAssociative(
string $query,
array $params = [],
array $types = [],
?QueryCacheProfile $qcp = null
): array {
return $this->executeQuery($query, $params, $types, $qcp)->fetchAllAssociative();
}

/**
Expand All @@ -861,9 +881,13 @@ public function fetchAllAssociative(string $query, array $params = [], array $ty
*
* @throws Exception
*/
public function fetchAllKeyValue(string $query, array $params = [], array $types = []): array
{
return $this->executeQuery($query, $params, $types)->fetchAllKeyValue();
public function fetchAllKeyValue(
string $query,
array $params = [],
array $types = [],
?QueryCacheProfile $qcp = null
): array {
return $this->executeQuery($query, $params, $types, $qcp)->fetchAllKeyValue();
}

/**
Expand All @@ -879,9 +903,13 @@ public function fetchAllKeyValue(string $query, array $params = [], array $types
*
* @throws Exception
*/
public function fetchAllAssociativeIndexed(string $query, array $params = [], array $types = []): array
{
return $this->executeQuery($query, $params, $types)->fetchAllAssociativeIndexed();
public function fetchAllAssociativeIndexed(
string $query,
array $params = [],
array $types = [],
?QueryCacheProfile $qcp = null
): array {
return $this->executeQuery($query, $params, $types, $qcp)->fetchAllAssociativeIndexed();
}

/**
Expand All @@ -895,9 +923,13 @@ public function fetchAllAssociativeIndexed(string $query, array $params = [], ar
*
* @throws Exception
*/
public function fetchFirstColumn(string $query, array $params = [], array $types = []): array
{
return $this->executeQuery($query, $params, $types)->fetchFirstColumn();
public function fetchFirstColumn(
string $query,
array $params = [],
array $types = [],
?QueryCacheProfile $qcp = null
): array {
return $this->executeQuery($query, $params, $types, $qcp)->fetchFirstColumn();
}

/**
Expand All @@ -911,9 +943,13 @@ public function fetchFirstColumn(string $query, array $params = [], array $types
*
* @throws Exception
*/
public function iterateNumeric(string $query, array $params = [], array $types = []): Traversable
{
return $this->executeQuery($query, $params, $types)->iterateNumeric();
public function iterateNumeric(
string $query,
array $params = [],
array $types = [],
?QueryCacheProfile $qcp = null
): Traversable {
return $this->executeQuery($query, $params, $types, $qcp)->iterateNumeric();
}

/**
Expand All @@ -928,9 +964,13 @@ public function iterateNumeric(string $query, array $params = [], array $types =
*
* @throws Exception
*/
public function iterateAssociative(string $query, array $params = [], array $types = []): Traversable
{
return $this->executeQuery($query, $params, $types)->iterateAssociative();
public function iterateAssociative(
string $query,
array $params = [],
array $types = [],
?QueryCacheProfile $qcp = null
): Traversable {
return $this->executeQuery($query, $params, $types, $qcp)->iterateAssociative();
}

/**
Expand All @@ -945,9 +985,13 @@ public function iterateAssociative(string $query, array $params = [], array $typ
*
* @throws Exception
*/
public function iterateKeyValue(string $query, array $params = [], array $types = []): Traversable
{
return $this->executeQuery($query, $params, $types)->iterateKeyValue();
public function iterateKeyValue(
string $query,
array $params = [],
array $types = [],
?QueryCacheProfile $qcp = null
): Traversable {
return $this->executeQuery($query, $params, $types, $qcp)->iterateKeyValue();
}

/**
Expand All @@ -963,9 +1007,13 @@ public function iterateKeyValue(string $query, array $params = [], array $types
*
* @throws Exception
*/
public function iterateAssociativeIndexed(string $query, array $params = [], array $types = []): Traversable
{
return $this->executeQuery($query, $params, $types)->iterateAssociativeIndexed();
public function iterateAssociativeIndexed(
string $query,
array $params = [],
array $types = [],
?QueryCacheProfile $qcp = null
): Traversable {
return $this->executeQuery($query, $params, $types, $qcp)->iterateAssociativeIndexed();
}

/**
Expand All @@ -979,9 +1027,13 @@ public function iterateAssociativeIndexed(string $query, array $params = [], arr
*
* @throws Exception
*/
public function iterateColumn(string $query, array $params = [], array $types = []): Traversable
{
return $this->executeQuery($query, $params, $types)->iterateColumn();
public function iterateColumn(
string $query,
array $params = [],
array $types = [],
?QueryCacheProfile $qcp = null
): Traversable {
return $this->executeQuery($query, $params, $types, $qcp)->iterateColumn();
}

/**
Expand Down

0 comments on commit d346acf

Please sign in to comment.