Skip to content

Commit eeca7cb

Browse files
committed
🚿
1 parent 37625f6 commit eeca7cb

File tree

2 files changed

+23
-17
lines changed

2 files changed

+23
-17
lines changed

src/Drivers/PostgreSQL.php

+16-11
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@
1515
use chillerlan\Database\Dialects\{Dialect, Postgres};
1616
use chillerlan\Database\Result;
1717
use Throwable;
18+
use PgSql\Connection;
1819

19-
use function bin2hex, call_user_func_array, implode, in_array, is_bool, is_resource, pg_close, pg_connect,
20+
use function bin2hex, call_user_func_array, implode, in_array, is_bool, pg_close, pg_connect,
2021
pg_execute, pg_field_type, pg_free_result, pg_prepare, pg_query, pg_version, preg_replace_callback;
2122

2223
/**
@@ -27,16 +28,16 @@ final class PostgreSQL extends DriverAbstract{
2728
/**
2829
* Holds the database resource object
2930
*
30-
* @var resource|null
31+
* @var \PgSql\Connection|resource|null
3132
*/
32-
private $db = null;
33+
private ?Connection $db = null;
3334

3435
/**
3536
* @inheritdoc
3637
*/
3738
public function connect():DriverInterface{
3839

39-
if(is_resource($this->db)){
40+
if($this->db !== null){
4041
return $this;
4142
}
4243

@@ -69,19 +70,23 @@ public function connect():DriverInterface{
6970
*/
7071
public function disconnect():bool{
7172

72-
if(is_resource($this->db)){
73-
return pg_close($this->db);
73+
if($this->db !== null){
74+
$ret = pg_close($this->db);
75+
76+
if($ret === true){
77+
$this->db = null;
78+
}
79+
80+
return $ret;
7481
}
7582

7683
return true;
7784
}
7885

7986
/**
8087
* @inheritdoc
81-
*
82-
* @return resource|null
8388
*/
84-
public function getDBResource(){
89+
public function getDBResource():?Connection{
8590
return $this->db;
8691
}
8792

@@ -97,7 +102,7 @@ public function getDialect():Dialect{
97102
*/
98103
public function getClientInfo():string{
99104

100-
if(!is_resource($this->db)){
105+
if($this->db === null){
101106
return 'disconnected, no info available';
102107
}
103108

@@ -111,7 +116,7 @@ public function getClientInfo():string{
111116
*/
112117
public function getServerInfo():string{
113118

114-
if(!is_resource($this->db)){
119+
if($this->db === null){
115120
return 'disconnected, no info available';
116121
}
117122

src/MonologHandler.php

+7-6
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
use InvalidArgumentException;
1515
use Monolog\Formatter\{FormatterInterface, ScalarFormatter};
1616
use Monolog\Handler\AbstractProcessingHandler;
17-
use Monolog\Logger;
17+
use Monolog\Level;
18+
use Monolog\LogRecord;
1819
use Throwable;
1920
use function strpos, trim;
2021

@@ -32,7 +33,7 @@ class MonologHandler extends AbstractProcessingHandler{
3233
/**
3334
* MonologHandler constructor
3435
*/
35-
public function __construct(Database $db, string $logTable, $level = Logger::DEBUG, bool $bubble = true){
36+
public function __construct(Database $db, string $logTable, $level = Level::Debug, bool $bubble = true){
3637
parent::__construct($level, $bubble);
3738

3839
$this->db = $db;
@@ -45,10 +46,10 @@ public function __construct(Database $db, string $logTable, $level = Logger::DEB
4546
/**
4647
* @inheritDoc
4748
*/
48-
protected function write(array $record):void{
49+
protected function write(LogRecord $record):void{
4950
$this->db->insert
5051
->into($this->logTable)
51-
->values($record['formatted'])
52+
->values($record->formatted)
5253
->query()
5354
;
5455
}
@@ -59,10 +60,10 @@ protected function write(array $record):void{
5960
protected function getRecordFormatter():FormatterInterface{
6061
return new class() extends ScalarFormatter{
6162

62-
public function format(array $record):array{
63+
public function format(LogRecord $record):array{
6364
$result = [];
6465

65-
foreach($record as $key => $value){
66+
foreach($record->toArray() as $key => $value){
6667
if($key === 'level'){
6768
continue;
6869
}

0 commit comments

Comments
 (0)