Skip to content

Commit 8bae5bb

Browse files
committed
minor fixes, refactor
1 parent b84cc2a commit 8bae5bb

14 files changed

+293
-258
lines changed

example/benchmark.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?php
2-
include __DIR__ . '/../vendor/autoload.php';
3-
date_default_timezone_set('UTC');
42
error_reporting(E_ALL);
53
ini_set('display_errors', 1);
4+
date_default_timezone_set('UTC');
5+
include __DIR__ . '/../vendor/autoload.php';
66

77
use Doctrine\DBAL\DriverManager;
88
use MySQLReplication\BinLogStream;

example/dump_events.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
<?php
22
error_reporting(E_ALL);
3+
ini_set('display_errors', 1);
34
date_default_timezone_set('UTC');
4-
ini_set('memory_limit', '8M');
5-
65
include __DIR__ . '/../vendor/autoload.php';
76

87
use MySQLReplication\BinLogStream;
@@ -27,6 +26,6 @@
2726
// all events got JsonSerializable implementation
2827
//echo json_encode($result, JSON_PRETTY_PRINT);
2928

30-
//echo 'Memory usage ' . round(memory_get_usage() / 1048576, 2) . ' MB' . PHP_EOL;
29+
echo 'Memory usage ' . round(memory_get_usage() / 1048576, 2) . ' MB' . PHP_EOL;
3130
}
3231
}

src/MySQLReplication/Event/DTO/DeleteRowsDTO.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,16 @@
1010
*/
1111
class DeleteRowsDTO extends RowsDTO
1212
{
13+
/**
14+
* @var string
15+
*/
16+
protected $type = ConstEventsNames::DELETE;
17+
1318
/**
1419
* @return string
1520
*/
1621
public function getType()
1722
{
18-
return ConstEventsNames::DELETE;
23+
return $this->type;
1924
}
2025
}

src/MySQLReplication/Event/DTO/GTIDLogDTO.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ class GTIDLogDTO extends EventDTO implements \JsonSerializable
1919
* @var string
2020
*/
2121
private $gtid;
22+
/**
23+
* @var string
24+
*/
25+
private $type = ConstEventsNames::GTID;
2226

2327
/**
2428
* GTIDLogEventDTO constructor.
@@ -58,7 +62,7 @@ public function getGtid()
5862
*/
5963
public function getType()
6064
{
61-
return ConstEventsNames::GTID;
65+
return $this->type;
6266
}
6367

6468
/**

src/MySQLReplication/Event/DTO/QueryDTO.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,13 @@ class QueryDTO extends EventDTO implements \JsonSerializable
2020
*/
2121
private $query;
2222
/**
23-
* @var
23+
* @var string
2424
*/
2525
private $database;
26+
/**
27+
* @var string
28+
*/
29+
private $type = ConstEventsNames::QUERY;
2630

2731
/**
2832
* QueryEventDTO constructor.
@@ -73,7 +77,7 @@ public function getQuery()
7377
*/
7478
public function getType()
7579
{
76-
return ConstEventsNames::QUERY;
80+
return $this->type;
7781
}
7882

7983
/**

src/MySQLReplication/Event/DTO/RotateDTO.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ class RotateDTO extends EventDTO implements \JsonSerializable
1919
* @var string
2020
*/
2121
private $next_binlog;
22+
/**
23+
* @var string
24+
*/
25+
private $type = ConstEventsNames::ROTATE;
2226

2327
/**
2428
* RotateDTO constructor.
@@ -58,7 +62,7 @@ public function getNextBinlog()
5862
*/
5963
public function getType()
6064
{
61-
return ConstEventsNames::ROTATE;
65+
return $this->type;
6266
}
6367

6468
/**

src/MySQLReplication/Event/DTO/RowsDTO.php

Lines changed: 16 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -3,90 +3,53 @@
33
namespace MySQLReplication\Event\DTO;
44

55
use MySQLReplication\Event\EventInfo;
6+
use MySQLReplication\Event\RowEvent\TableMap;
67

78
/**
89
* Class RowsDTO
910
* @package MySQLReplication\DTO
1011
*/
11-
class RowsDTO extends EventDTO implements \JsonSerializable
12+
abstract class RowsDTO extends EventDTO implements \JsonSerializable
1213
{
1314
/**
1415
* @var array
1516
*/
1617
private $values;
17-
/**
18-
* @var string
19-
*/
20-
private $database;
21-
/**
22-
* @var string
23-
*/
24-
private $table;
2518
/**
2619
* @var int
2720
*/
28-
private $affected;
21+
private $changedRows;
2922
/**
30-
* @var int
23+
* @var TableMap
3124
*/
32-
private $changedRows;
25+
private $tableMap;
3326

3427
/**
3528
* GTIDLogEventDTO constructor.
3629
* @param EventInfo $eventInfo
37-
* @param $database
38-
* @param $table
39-
* @param $affected
30+
* @param TableMap $tableMap
4031
* @param $changedRows
4132
* @param array $values
4233
*/
4334
public function __construct(
4435
EventInfo $eventInfo,
45-
$database,
46-
$table,
47-
$affected,
36+
TableMap $tableMap,
4837
$changedRows,
4938
array $values
5039
) {
5140
parent::__construct($eventInfo);
5241

53-
$this->database = $database;
54-
$this->table = $table;
55-
$this->affected = $affected;
5642
$this->changedRows = $changedRows;
5743
$this->values = $values;
44+
$this->tableMap = $tableMap;
5845
}
5946

6047
/**
61-
* @return array
62-
*/
63-
public function getValues()
64-
{
65-
return $this->values;
66-
}
67-
68-
/**
69-
* @return string
70-
*/
71-
public function getDatabase()
72-
{
73-
return $this->database;
74-
}
75-
76-
/**
77-
* @return string
78-
*/
79-
public function getTable()
80-
{
81-
return $this->table;
82-
}
83-
84-
/**
85-
* @return int
48+
* @return TableMap
8649
*/
87-
public function getAffected()
50+
public function getTableMap()
8851
{
89-
return $this->affected;
52+
return $this->tableMap;
9053
}
9154

9255
/**
@@ -98,11 +61,11 @@ public function getChangedRows()
9861
}
9962

10063
/**
101-
* @return string
64+
* @return array
10265
*/
103-
public function getType()
66+
public function getValues()
10467
{
105-
return '';
68+
return $this->values;
10669
}
10770

10871
/**
@@ -115,8 +78,8 @@ public function __toString()
11578
'Date: ' . $this->eventInfo->getDateTime() . PHP_EOL .
11679
'Log position: ' . $this->eventInfo->getPos() . PHP_EOL .
11780
'Event size: ' . $this->eventInfo->getSize() . PHP_EOL .
118-
'Table: ' . $this->table . PHP_EOL .
119-
'Affected columns: ' . $this->affected . PHP_EOL .
81+
'Table: ' . $this->tableMap->getTable() . PHP_EOL .
82+
'Affected columns: ' . $this->tableMap->getColumnsAmount() . PHP_EOL .
12083
'Changed rows: ' . $this->changedRows . PHP_EOL .
12184
'Values: ' . print_r($this->values, true) . PHP_EOL;
12285
}

src/MySQLReplication/Event/DTO/TableMapDTO.php

Lines changed: 26 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -4,107 +4,59 @@
44

55
use MySQLReplication\Definitions\ConstEventsNames;
66
use MySQLReplication\Event\EventInfo;
7+
use MySQLReplication\Event\RowEvent\TableMap;
78

89
/**
910
* Class TableMapDTO
1011
* @package MySQLReplication\DTO
1112
*/
1213
class TableMapDTO extends EventDTO implements \JsonSerializable
1314
{
14-
/**
15-
* @var int
16-
*/
17-
private $tableId;
18-
/**
19-
* @var string
20-
*/
21-
private $database;
2215
/**
2316
* @var string
2417
*/
25-
private $table;
18+
private $type = ConstEventsNames::TABLE_MAP;
2619
/**
27-
* @var
20+
* @var TableMap
2821
*/
29-
private $columns;
22+
private $tableMap;
3023

3124
/**
3225
* TableMapDTO constructor.
3326
* @param EventInfo $eventInfo
34-
* @param $tableId
35-
* @param $database
36-
* @param $table
37-
* @param $columns
27+
* @param TableMap $tableMap
3828
*/
3929
public function __construct(
4030
EventInfo $eventInfo,
41-
$tableId,
42-
$database,
43-
$table,
44-
$columns
31+
TableMap $tableMap
4532
) {
4633
parent::__construct($eventInfo);
4734

48-
$this->tableId = $tableId;
49-
$this->database = $database;
50-
$this->table = $table;
51-
$this->columns = $columns;
52-
}
53-
54-
/**
55-
* @return int
56-
*/
57-
public function getTableId()
58-
{
59-
return $this->tableId;
60-
}
61-
62-
/**
63-
* @return string
64-
*/
65-
public function getDatabase()
66-
{
67-
return $this->database;
35+
$this->tableMap = $tableMap;
6836
}
6937

7038
/**
7139
* @return string
7240
*/
73-
public function getTable()
74-
{
75-
return $this->table;
76-
}
77-
78-
/**
79-
* @return int
80-
*/
81-
public function getColumns()
41+
public function __toString()
8242
{
83-
return $this->columns;
43+
return PHP_EOL .
44+
'=== Event ' . $this->getType() . ' === ' . PHP_EOL .
45+
'Date: ' . $this->eventInfo->getDateTime() . PHP_EOL .
46+
'Log position: ' . $this->eventInfo->getPos() . PHP_EOL .
47+
'Event size: ' . $this->eventInfo->getSize() . PHP_EOL .
48+
'Table: ' . $this->tableMap->getTable() . PHP_EOL .
49+
'Database: ' . $this->tableMap->getDatabase() . PHP_EOL .
50+
'Table Id: ' . $this->tableMap->getTableId() . PHP_EOL .
51+
'Columns amount: ' . $this->tableMap->getColumnsAmount() . PHP_EOL;
8452
}
8553

8654
/**
8755
* @return string
8856
*/
8957
public function getType()
9058
{
91-
return ConstEventsNames::TABLE_MAP;
92-
}
93-
94-
/**
95-
* @return string
96-
*/
97-
public function __toString()
98-
{
99-
return PHP_EOL .
100-
'=== Event ' . $this->getType() . ' === ' . PHP_EOL .
101-
'Date: ' . $this->eventInfo->getDateTime() . PHP_EOL .
102-
'Log position: ' . $this->eventInfo->getPos() . PHP_EOL .
103-
'Event size: ' . $this->eventInfo->getSize() . PHP_EOL .
104-
'Table: ' . $this->table . PHP_EOL .
105-
'Database: ' . $this->database . PHP_EOL .
106-
'Table Id: ' . $this->tableId . PHP_EOL .
107-
'Columns: ' . print_r($this->columns, true) . PHP_EOL;
59+
return $this->type;
10860
}
10961

11062
/**
@@ -118,4 +70,12 @@ public function jsonSerialize()
11870
{
11971
return get_object_vars($this);
12072
}
73+
74+
/**
75+
* @return TableMap
76+
*/
77+
public function getTableMap()
78+
{
79+
return $this->tableMap;
80+
}
12181
}

src/MySQLReplication/Event/DTO/UpdateRowsDTO.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,16 @@
1010
*/
1111
class UpdateRowsDTO extends RowsDTO
1212
{
13+
/**
14+
* @var string
15+
*/
16+
protected $type = ConstEventsNames::UPDATE;
17+
1318
/**
1419
* @return string
1520
*/
1621
public function getType()
1722
{
18-
return ConstEventsNames::UPDATE;
23+
return $this->type;
1924
}
2025
}

0 commit comments

Comments
 (0)