Skip to content

Commit 7c0113d

Browse files
committed
PgSqlDriver: uses cache for getColumnTypes() to avoid excessive number of queries [Closes #212]
1 parent 7c08500 commit 7c0113d

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/Database/Drivers/PgSqlDriver.php

+6-1
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,12 @@ public function getForeignKeys(string $table): array
218218

219219
public function getColumnTypes(\PDOStatement $statement): array
220220
{
221-
return Nette\Database\Helpers::detectTypes($statement);
221+
static $cache;
222+
$item = &$cache[$statement->queryString];
223+
if ($item === null) {
224+
$item = Nette\Database\Helpers::detectTypes($statement);
225+
}
226+
return $item;
222227
}
223228

224229

0 commit comments

Comments
 (0)