Skip to content

Commit 07d27ba

Browse files
committed
Always trim rewritten select queries
1 parent e3453ee commit 07d27ba

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

classes/QueryRewrite.php

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -72,25 +72,33 @@ public function getType() {
7272
}
7373

7474
public function toSelect() {
75+
$select = '';
7576
switch ($this->type) {
7677
case self::SELECT:
7778
case self::UNION:
78-
return $this->sql;
79+
$select = $this->sql;
80+
break;
7981
case self::DELETE:
80-
return preg_replace('/^DELETE\s+FROM\s/i', 'SELECT 0 FROM ', $this->sql);
82+
$select = preg_replace('/^DELETE\s+FROM\s/i', 'SELECT 0 FROM ', $this->sql);
83+
break;
8184
case self::DELETEMULTI:
82-
return preg_replace('/^DELETE\s+'.self::TABLEREF.'\s+FROM\s/i', 'SELECT 0 FROM ', $this->sql);
85+
$select = preg_replace('/^DELETE\s+'.self::TABLEREF.'\s+FROM\s/i', 'SELECT 0 FROM ', $this->sql);
86+
break;
8387
case self::UPDATE:
8488
preg_match('/^UPDATE\s+(.*)\s+SET\s+(.*)\s+WHERE\s+(.*)$/i', $this->sql, $subpatterns);
85-
return "SELECT {$subpatterns[2]} FROM {$subpatterns[1]} WHERE {$subpatterns[3]}";
89+
$select = "SELECT {$subpatterns[2]} FROM {$subpatterns[1]} WHERE {$subpatterns[3]}";
90+
break;
8691
case self::INSERTSELECT:
8792
if (preg_match('/\(\s*(SELECT\s+.*)\)/', $this->sql, $subpatterns))
88-
return trim("{$subpatterns[1]}");
93+
$select = trim("{$subpatterns[1]}");
8994
else
9095
preg_match('/^INSERT\s+INTO\s+(SELECT.*)/i', $subpatterns);
91-
return trim("{$subpatterns[1]}");
96+
$select = trim("{$subpatterns[1]}");
97+
break;
98+
default:
99+
return null;
92100
}
93-
return null;
101+
return trim($select);
94102
}
95103

96104
public function asExplain() {

0 commit comments

Comments
 (0)