Skip to content

Commit ba85b0e

Browse files
committed
Rename most function to align with SQL keywords
1 parent a2a1c45 commit ba85b0e

File tree

4 files changed

+66
-39
lines changed

4 files changed

+66
-39
lines changed

src/TgDatabase/Criterion/QueryImpl.php

+34-19
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public function clone() {
4747
* Resets the result class.
4848
* Useful when using #setColumns() as this method erases the result class.
4949
*/
50-
public function setResultClass(string $name) {
50+
public function setResultClass(?string $name) {
5151
$this->resultClassName = $name;
5252
return $this;
5353
}
@@ -56,41 +56,56 @@ public function setResultClass(string $name) {
5656
* Add a restriction to constrain the results to be retrieved.
5757
* @return Query - this query for method chaining.
5858
*/
59-
public function add(Criterion ...$criterions) {
59+
public function where(Criterion ...$criterions) {
6060
foreach ($criterions AS $criterion) $this->criterions[] = $criterion;
6161
return $this;
6262
}
6363

64+
/**
65+
* Add a restriction to constrain the results to be retrieved.
66+
* @return Query - this query for method chaining.
67+
*/
68+
public function add(Criterion ...$criterions) {
69+
return call_user_func_array(array($this, 'where'), $criterions);
70+
}
71+
6472
/**
6573
* Add an ordering to the result set.
6674
*/
67-
public function addOrder(Order ...$orders) {
75+
public function orderBy(Order ...$orders) {
6876
foreach ($orders AS $order) $this->orders[] = $order;
6977
return $this;
7078
}
7179

80+
/**
81+
* Add an ordering to the result set.
82+
*/
83+
public function addOrder(Order ...$orders) {
84+
return call_user_func_array(array($this, 'orderBy'), $orders);
85+
}
86+
7287
/**
7388
* Set projection for the query.
7489
* Attention! This class removes any result class name from the query. Use #setResultClass() after calling.
7590
* @deprecated Use #setColumns() instead
7691
*/
7792
public function setProjection(Expression ...$expressions) {
78-
return call_user_func_array(array($this, 'setColumns'), $expressions);
93+
return call_user_func_array(array($this, 'setSelect'), $expressions);
7994
}
8095

8196
/**
8297
* Set select columns for the query.
8398
* Attention! This class removes any result class name from the query. Use #setResultClass() after calling.
8499
*/
85-
public function setColumns(Expression ...$expressions) {
100+
public function setSelect(Expression ...$expressions) {
86101
$this->columns = array();
87-
return call_user_func_array(array($this, 'addColumns'), $expressions);
102+
return call_user_func_array(array($this, 'select'), $expressions);
88103
}
89104

90105
/**
91106
* Add select columns for the query.
92107
*/
93-
public function addColumns(Expression ...$expressions) {
108+
public function select(Expression ...$expressions) {
94109
foreach ($expressions AS $c) {
95110
if ($c != NULL) $this->columns[] = $c;
96111
}
@@ -144,9 +159,9 @@ public function getAlias() {
144159
/**
145160
* Create a new join query.
146161
*/
147-
public function createJoinedQuery($tableName, $alias, $joinCriterion) {
162+
public function createJoin($tableName, $alias, $joinCriterion) {
148163
$rc = new QueryImpl($this->database, $tableName, NULL, $alias);
149-
$this->addCriteria($rc, $joinCriterion);
164+
$this->join($rc, $joinCriterion);
150165
return $rc;
151166
}
152167

@@ -155,13 +170,13 @@ public function createJoinedQuery($tableName, $alias, $joinCriterion) {
155170
* @deprecated
156171
*/
157172
public function createCriteria($tableName, $alias, $joinCriterion) {
158-
return $this->createJoinedQuery($tableName, $alias, $joinCriterion);
173+
return $this->createJoin($tableName, $alias, $joinCriterion);
159174
}
160175

161176
/**
162177
* Add a new join query.
163178
*/
164-
public function addJoinedQuery(Query $query, $joinCriterion) {
179+
public function join(Query $query, $joinCriterion) {
165180
$this->subqueries[] = array($query, $joinCriterion);
166181
return $this;
167182
}
@@ -171,7 +186,7 @@ public function addJoinedQuery(Query $query, $joinCriterion) {
171186
* @deprecated
172187
*/
173188
public function addCriteria(Query $query, $joinCriterion) {
174-
return $this->addJoinedQuery($query, $joinCriterion);
189+
return $this->join($query, $joinCriterion);
175190
}
176191

177192
/**
@@ -190,7 +205,7 @@ public function list($throwException = FALSE) {
190205
* Count the results.
191206
*/
192207
public function count($throwException = FALSE) {
193-
$query = $this->clone()->setProjection(Projections::alias(Projections::rowCount(), 'cnt'));
208+
$query = $this->clone()->setProjection(Projections::alias(Projections::rowCount(), 'cnt'))->setResultClass(NULL);
194209
$record = $query->first();
195210
if ($query->hasError()) {
196211
if ($throwException) {
@@ -250,6 +265,12 @@ public function getSelectSql() {
250265
$rc .= ' '.trim($join);
251266
}
252267

268+
// WHERE clauses
269+
$where = $this->getWhereClause();
270+
if ($where != NULL) {
271+
$rc .= ' WHERE '.$where;
272+
}
273+
253274
// GROUP BY
254275
$group = $this->getGroupByClause();
255276
if ($group != NULL) {
@@ -262,12 +283,6 @@ public function getSelectSql() {
262283
}
263284
}
264285

265-
// WHERE clauses
266-
$where = $this->getWhereClause();
267-
if ($where != NULL) {
268-
$rc .= ' WHERE '.$where;
269-
}
270-
271286
// ORDER BY clauses
272287
$orderBy = $this->getOrderByClause();
273288
if ($orderBy != NULL) {

src/TgDatabase/DAO.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -105,12 +105,12 @@ public function createQuery($alias = NULL, $restrictions = array(), $order = arr
105105
// Add restrictions
106106
$restrictions = Restrictions::toRestrictions($restrictions);
107107
if (Restrictions::$hasDeprecatedUse) $this->warnDeprecation();
108-
if ($restrictions != NULL) $query->add($restrictions);
108+
if ($restrictions != NULL) $query->where($restrictions);
109109

110110
// Add orders
111111
if (!is_array($order)) $order = array($order);
112112
foreach ($order AS $o) {
113-
$query->addOrder(Order::toOrder($o));
113+
$query->orderBy(Order::toOrder($o));
114114
if (Order::$hasDeprecatedUse) $this->warnDeprecation();
115115
}
116116

src/TgDatabase/Query.php

+16-4
Original file line numberDiff line numberDiff line change
@@ -22,24 +22,36 @@ public function setResultClass(string $name);
2222
*/
2323
public function add(Criterion ...$criterion);
2424

25+
/**
26+
* Add a restriction to constrain the results to be retrieved.
27+
* @return Query - this query for method chaining.
28+
*/
29+
public function where(Criterion ...$criterion);
30+
2531
/**
2632
* Add an ordering to the result set.
2733
* @return Query - this query for method chaining.
2834
*/
2935
public function addOrder(Order ...$order);
3036

37+
/**
38+
* Add an ordering to the result set.
39+
* @return Query - this query for method chaining.
40+
*/
41+
public function orderBy(Order ...$order);
42+
3143
/**
3244
* Add select columns for the query.
3345
* @return Query - this query for method chaining.
3446
*/
35-
public function addColumns(Expression ...$expressions);
47+
public function select(Expression ...$expressions);
3648

3749
/**
3850
* Set select columns for the query.
3951
* Attention! This class removes any result class name from the query. Use #setResultClass() after calling.
4052
* @return Query - this query for method chaining.
4153
*/
42-
public function setColumns(Expression ...$expressions);
54+
public function setSelect(Expression ...$expressions);
4355

4456
/**
4557
* Add projections for the query.
@@ -76,7 +88,7 @@ public function setMaxResults(int $maxResults);
7688
/**
7789
* Create a new join query.
7890
*/
79-
public function createJoinedQuery($tableName, $alias, $joinCriterion);
91+
public function createJoin($tableName, $alias, $joinCriterion);
8092

8193
/**
8294
* Create a new join query.
@@ -88,7 +100,7 @@ public function createCriteria($tableName, $alias, $joinCriterion);
88100
* Add a new join query.
89101
* @return Query - this query for method chaining.
90102
*/
91-
public function addJoinedQuery(Query $query, $joinCriterion);
103+
public function join(Query $query, $joinCriterion);
92104

93105
/**
94106
* Add a new join query.

tests/TgDatabase/Criterion/QueryImplTest.php

+14-14
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ public function testSimple(): void {
2121
$database = TestHelper::getDatabase();
2222
if ($database != NULL) {
2323
$query = new QueryImpl($database, 'dual');
24-
$query->add(Restrictions::eq('aName', 'aValue'));
25-
$query->addOrder(Order::asc('anotherName'));
24+
$query->where(Restrictions::eq('aName', 'aValue'));
25+
$query->orderBy(Order::asc('anotherName'));
2626
$this->assertEquals('SELECT * FROM `dual` WHERE (`aName` = \'aValue\') ORDER BY `anotherName`', $query->getSelectSql());
2727
}
2828
}
@@ -41,7 +41,7 @@ public function testSimpleProjection(): void {
4141
$database = TestHelper::getDatabase();
4242
if ($database != NULL) {
4343
$query = new QueryImpl($database, 'dual');
44-
$query->setProjection(Projections::rowCount('cnt'));
44+
$query->select(Projections::rowCount('cnt'));
4545
$this->assertEquals('SELECT COUNT(*) AS `cnt` FROM `dual`', $query->getSelectSql());
4646
}
4747
}
@@ -50,7 +50,7 @@ public function testSetColumns(): void {
5050
$database = TestHelper::getDatabase();
5151
if ($database != NULL) {
5252
$query = new QueryImpl($database, 'dual');
53-
$query->setColumns(Projections::property('column1'), Projections::property('column2'));
53+
$query->select(Projections::property('column1'), Projections::property('column2'));
5454
$this->assertEquals('SELECT `column1`, `column2` FROM `dual`', $query->getSelectSql());
5555
}
5656
}
@@ -59,7 +59,7 @@ public function testCombineColumns(): void {
5959
$database = TestHelper::getDatabase();
6060
if ($database != NULL) {
6161
$query = new QueryImpl($database, 'dual');
62-
$query->setColumns(Projections::properties('column1', 'column2'));
62+
$query->select(Projections::properties('column1', 'column2'));
6363
$this->assertEquals('SELECT `column1`, `column2` FROM `dual`', $query->getSelectSql());
6464
}
6565
}
@@ -68,7 +68,7 @@ public function testAddColumns(): void {
6868
$database = TestHelper::getDatabase();
6969
if ($database != NULL) {
7070
$query = new QueryImpl($database, 'dual');
71-
$query->addColumns(Projections::property('column1'))->addColumns(Projections::property('column2'));
71+
$query->select(Projections::property('column1'))->select(Projections::property('column2'));
7272
$this->assertEquals('SELECT `column1`, `column2` FROM `dual`', $query->getSelectSql());
7373
}
7474
}
@@ -77,7 +77,7 @@ public function testJoin(): void {
7777
$database = TestHelper::getDatabase();
7878
if ($database != NULL) {
7979
$query = new QueryImpl($database, 'dual', NULL, 'a');
80-
$query->createJoinedQuery('otherTable', 'b', Restrictions::eqProperty(array('a', 'details'), array('b', 'uid')));
80+
$query->createJoin('otherTable', 'b', Restrictions::eqProperty(array('a', 'details'), array('b', 'uid')));
8181
$this->assertEquals('SELECT `a`.* FROM `dual` AS `a` INNER JOIN `otherTable` AS `b` ON `a`.`details` = `b`.`uid`', $query->getSelectSql());
8282
}
8383
}
@@ -151,7 +151,7 @@ public function testDeleteWhereSql(): void {
151151
$database = TestHelper::getDatabase();
152152
if ($database != NULL) {
153153
$query = new QueryImpl($database, 'dual');
154-
$query->add(Restrictions::eq('attr3', 'value3'));
154+
$query->where(Restrictions::eq('attr3', 'value3'));
155155
$this->assertEquals("DELETE FROM `dual` WHERE (`attr3` = 'value3')", $query->getDeleteSql());
156156
}
157157
}
@@ -161,10 +161,10 @@ public function testGroupBySql(): void {
161161
if ($database != NULL) {
162162
$query = new QueryImpl($database, 'dual');
163163
$query
164-
->addColumns(Projections::property('attr1'), Projections::rowCount('cnt'))
165-
->add(Restrictions::eq('attr3', 'value3'))
164+
->select(Projections::property('attr1'), Projections::rowCount('cnt'))
165+
->where(Restrictions::eq('attr3', 'value3'))
166166
->groupBy(Projections::property('attr1'));
167-
$this->assertEquals("SELECT `attr1`, COUNT(*) AS `cnt` FROM `dual` GROUP BY `attr1` WHERE (`attr3` = 'value3')", $query->getSelectSql());
167+
$this->assertEquals("SELECT `attr1`, COUNT(*) AS `cnt` FROM `dual` WHERE (`attr3` = 'value3') GROUP BY `attr1`", $query->getSelectSql());
168168
}
169169
}
170170

@@ -173,11 +173,11 @@ public function testHavingSql(): void {
173173
if ($database != NULL) {
174174
$query = new QueryImpl($database, 'dual');
175175
$query
176-
->addColumns(Projections::property('attr1'), Projections::rowCount('cnt'))
177-
->add(Restrictions::eq('attr3', 'value3'))
176+
->select(Projections::property('attr1'), Projections::rowCount('cnt'))
177+
->where(Restrictions::eq('attr3', 'value3'))
178178
->groupBy(Projections::property('attr1'))
179179
->having(Restrictions::eq('attr1', 'value1'));
180-
$this->assertEquals("SELECT `attr1`, COUNT(*) AS `cnt` FROM `dual` GROUP BY `attr1` HAVING (`attr1` = 'value1') WHERE (`attr3` = 'value3')", $query->getSelectSql());
180+
$this->assertEquals("SELECT `attr1`, COUNT(*) AS `cnt` FROM `dual` WHERE (`attr3` = 'value3') GROUP BY `attr1` HAVING (`attr1` = 'value1')", $query->getSelectSql());
181181
}
182182
}
183183

0 commit comments

Comments
 (0)