Skip to content
Extraits de code Groupes Projets
Valider 3345bcce rédigé par mattpiwik's avatar mattpiwik
Parcourir les fichiers

Refs #2633 Adding one test + mysql function replace also replaces _ (for...

Refs #2633 Adding one test + mysql function replace also replaces _ (for functions such as UNIX_TIMESTAMP)

git-svn-id: http://dev.piwik.org/svn/trunk@5148 59fd770c-687e-43c8-a1e3-f5a4ff64c105
parent 953e0231
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -209,10 +209,12 @@ class Piwik_Segment ...@@ -209,10 +209,12 @@ class Piwik_Segment
$sql = $this->buildSelectQuery($select, $from, $where, $orderBy, $groupBy); $sql = $this->buildSelectQuery($select, $from, $where, $orderBy, $groupBy);
} }
return array( $return = array(
'sql' => $sql, 'sql' => $sql,
'bind' => $bind 'bind' => $bind
); );
//var_dump($return);
return $return;
} }
/** /**
......
...@@ -185,8 +185,7 @@ class Piwik_SegmentExpression ...@@ -185,8 +185,7 @@ class Piwik_SegmentExpression
// remove sql functions from field name // remove sql functions from field name
// example: `HOUR(log_visit.visit_last_action_time)` gets `HOUR(log_visit` => remove `HOUR(` // example: `HOUR(log_visit.visit_last_action_time)` gets `HOUR(log_visit` => remove `HOUR(`
$table = preg_replace('/^[A-Z]+\(/', '', $table); $table = preg_replace('/^[A-Z_]+\(/', '', $table);
$tableExists = !$table || in_array($table, $availableTables); $tableExists = !$table || in_array($table, $availableTables);
if (!$tableExists) if (!$tableExists)
......
...@@ -221,7 +221,7 @@ class Test_Piwik_Segment extends UnitTestCase ...@@ -221,7 +221,7 @@ class Test_Piwik_Segment extends UnitTestCase
$this->assertEqual($query, $expected, var_export($query, true)); $this->assertEqual($query, $expected, var_export($query, true));
} }
public function test_getSelectQuery_joinConversionOnVisit() public function test_getSelectQuery_joinConversionOnVisit()
{ {
$select = 'log_visit.*'; $select = 'log_visit.*';
...@@ -255,6 +255,32 @@ class Test_Piwik_Segment extends UnitTestCase ...@@ -255,6 +255,32 @@ class Test_Piwik_Segment extends UnitTestCase
$this->assertEqual($query, $expected, var_export($query, true)); $this->assertEqual($query, $expected, var_export($query, true));
} }
public function test_getSelectQuery_conversionOnly()
{
$select = 'log_conversion.*';
$from = 'log_conversion';
$where = 'log_conversion.idvisit = ?';
$bind = array(1);
$segment = 'visitConvertedGoalId==1';
$segment = new Piwik_Segment($segment, $idSites = array());
$query = $segment->getSelectQuery($select, $from, $where, $bind);
$expected = array(
"sql" => "
SELECT
log_conversion.*
FROM
piwiktests_log_conversion AS log_conversion
WHERE
( log_conversion.idvisit = ? )
AND
( log_conversion.idgoal = ? )",
"bind" => array(1, 1));
$this->assertEqual($query, $expected, var_export($query, true));
}
public function test_getSelectQuery_joinVisitOnConversion() public function test_getSelectQuery_joinVisitOnConversion()
{ {
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter