Skip to content

Commit 6c3c0b0

Browse files
committed
- Removed method getAliasRegistry() from Kir\MySQL\Database because it does not belong there
1 parent b9190a0 commit 6c3c0b0

File tree

6 files changed

+66
-12
lines changed

6 files changed

+66
-12
lines changed

src/Builder/QueryStatement.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
<?php
22
namespace Kir\MySQL\Builder;
33

4-
use Kir\MySQL\QueryLogger\QueryLoggers;
54
use PDO;
65
use PDOStatement;
6+
use Kir\MySQL\Database\DatabaseStatement;
7+
use Kir\MySQL\QueryLogger\QueryLoggers;
78

8-
class QueryStatement {
9+
class QueryStatement implements DatabaseStatement {
910
/** @var PDOStatement */
1011
private $statement;
1112
/** @var QueryLoggers */

src/Builder/Statement.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
namespace Kir\MySQL\Builder;
33

44
use Kir\MySQL\Database;
5+
use Kir\MySQL\Databases\MySQL;
56
use Kir\MySQL\Tools\AliasReplacer;
67

78
abstract class Statement {
@@ -11,9 +12,9 @@ abstract class Statement {
1112
private $aliasReplacer;
1213

1314
/**
14-
* @param Database $db
15+
* @param MySQL $db
1516
*/
16-
public function __construct(Database $db) {
17+
public function __construct(MySQL $db) {
1718
$this->db = $db;
1819
$this->aliasReplacer = new AliasReplacer($db->getAliasRegistry());
1920
}

src/Database.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22
namespace Kir\MySQL;
33

44
use Kir\MySQL\Builder\Exception;
5-
use Kir\MySQL\Builder\QueryStatement;
5+
use Kir\MySQL\Database\DatabaseStatement;
66

77
interface Database {
88
/**
99
* @param string $query
1010
* @throws Exception
11-
* @return QueryStatement
11+
* @return DatabaseStatement
1212
*/
1313
public function query($query);
1414

1515
/**
1616
* @param string $query
1717
* @throws Exception
18-
* @return QueryStatement
18+
* @return DatabaseStatement
1919
*/
2020
public function prepare($query);
2121

src/Database/DatabaseStatement.php

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
<?php
2+
namespace Kir\MySQL\Database;
3+
4+
use PDO;
5+
use PDOStatement;
6+
7+
interface DatabaseStatement {
8+
/**
9+
* @return PDOStatement
10+
*/
11+
public function getStatement();
12+
13+
/**
14+
* @param array $params
15+
* @return bool
16+
*/
17+
public function execute(array $params = []);
18+
19+
/**
20+
* @return array
21+
*/
22+
public function fetchAll();
23+
24+
/**
25+
* @param int $fetchStyle
26+
* @param int $cursorOrientation
27+
* @param int $cursorOffset
28+
* @return mixed
29+
*/
30+
public function fetch($fetchStyle = PDO::FETCH_ASSOC, $cursorOrientation = PDO::FETCH_ORI_NEXT, $cursorOffset = 0);
31+
32+
/**
33+
* @param int $columnNo
34+
* @return mixed
35+
*/
36+
public function fetchColumn($columnNo = 0);
37+
38+
/**
39+
* @return bool
40+
*/
41+
public function closeCursor();
42+
43+
/**
44+
* @return int
45+
*/
46+
public function columnCount();
47+
48+
/**
49+
* @param int $columnNo
50+
* @return array
51+
*/
52+
public function getColumnMeta($columnNo);
53+
}

tests/Builder/InsertTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public function testAddAll() {
4141
$reg = Phake::mock('Kir\\MySQL\\Tools\\AliasRegistry');
4242
Phake::when($reg)->__call('get', ['travis'])->thenReturn('travis_test.');
4343

44-
$db = Phake::mock('Kir\\MySQL\\Database');
44+
$db = Phake::mock('Kir\\MySQL\\Databases\\MySQL');
4545
Phake::when($db)->__call('getTableFields', ['test1'])->thenReturn(['field1', 'field2']);
4646
Phake::when($db)->__call('getTableFields', ['travis_test.test1'])->thenReturn(['field1', 'field2']);
4747
Phake::when($db)->__call('quoteField', [Phake::anyParameters()])->thenGetReturnByLambda(function ($fieldName) { return "`{$fieldName}`"; });
@@ -71,7 +71,7 @@ public function testUpdateAll() {
7171
$reg = Phake::mock('Kir\\MySQL\\Tools\\AliasRegistry');
7272
Phake::when($reg)->__call('get', ['travis'])->thenReturn('travis_test.');
7373

74-
$db = Phake::mock('Kir\\MySQL\\Database');
74+
$db = Phake::mock('Kir\\MySQL\\Databases\\MySQL');
7575
Phake::when($db)->__call('getTableFields', ['test1'])->thenReturn(['field1', 'field2']);
7676
Phake::when($db)->__call('getTableFields', ['travis_test.test1'])->thenReturn(['field1', 'field2']);
7777
Phake::when($db)->__call('quoteField', [Phake::anyParameters()])->thenGetReturnByLambda(function ($fieldName) { return "`{$fieldName}`"; });
@@ -104,7 +104,7 @@ public function testAddOrUpdateAll() {
104104
$reg = Phake::mock('Kir\\MySQL\\Tools\\AliasRegistry');
105105
Phake::when($reg)->__call('get', ['travis'])->thenReturn('travis_test.');
106106

107-
$db = Phake::mock('Kir\\MySQL\\Database');
107+
$db = Phake::mock('Kir\\MySQL\\Databases\\MySQL');
108108
Phake::when($db)->__call('getTableFields', ['test1'])->thenReturn(['field1', 'field2']);
109109
Phake::when($db)->__call('getTableFields', ['travis_test.test1'])->thenReturn(['field1', 'field2']);
110110
Phake::when($db)->__call('quoteField', [Phake::anyParameters()])->thenGetReturnByLambda(function ($fieldName) { return "`{$fieldName}`"; });

tests/Builder/UpdateTest.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public function testSetAll1() {
6464
}
6565

6666
public function testSetAll2() {
67-
$db = Phake::mock('Kir\\MySQL\\Database');
67+
$db = Phake::mock('Kir\\MySQL\\Databases\\MySQL');
6868
$reg = Phake::mock('Kir\\MySQL\\Tools\\AliasRegistry');
6969
Phake::when($db)->__call('getTableFields', ['test1'])->thenReturn(['field1', 'field2']);
7070
Phake::when($db)->__call('quoteField', [Phake::anyParameters()])->thenGetReturnByLambda(function ($fieldName) { return "`{$fieldName}`"; });
@@ -123,4 +123,3 @@ public function testMask() {
123123
$this->assertEquals("UPDATE\n\ttest1\nSET\n\t`field1`='1'\nLIMIT\n\t10\n", $sql);
124124
}
125125
}
126-

0 commit comments

Comments
 (0)