|
@@ 698-719 (lines=22) @@
|
| 695 |
|
$this->assertEquals(10, $limit['start']); |
| 696 |
|
} |
| 697 |
|
|
| 698 |
|
public function testParameterisedInnerJoins() { |
| 699 |
|
$query = new SQLSelect(); |
| 700 |
|
$query->setSelect(array('"SQLSelectTest_DO"."Name"', '"SubSelect"."Count"')); |
| 701 |
|
$query->setFrom('"SQLSelectTest_DO"'); |
| 702 |
|
$query->addInnerJoin( |
| 703 |
|
'(SELECT "Title", COUNT(*) AS "Count" FROM "SQLSelectTestBase" GROUP BY "Title" HAVING "Title" NOT LIKE ?)', |
| 704 |
|
'"SQLSelectTest_DO"."Name" = "SubSelect"."Title"', |
| 705 |
|
'SubSelect', |
| 706 |
|
20, |
| 707 |
|
array('%MyName%') |
| 708 |
|
); |
| 709 |
|
$query->addWhere(array('"SQLSelectTest_DO"."Date" > ?' => '2012-08-08 12:00')); |
| 710 |
|
|
| 711 |
|
$this->assertSQLEquals('SELECT "SQLSelectTest_DO"."Name", "SubSelect"."Count" |
| 712 |
|
FROM "SQLSelectTest_DO" INNER JOIN (SELECT "Title", COUNT(*) AS "Count" FROM "SQLSelectTestBase" |
| 713 |
|
GROUP BY "Title" HAVING "Title" NOT LIKE ?) AS "SubSelect" ON "SQLSelectTest_DO"."Name" = |
| 714 |
|
"SubSelect"."Title" |
| 715 |
|
WHERE ("SQLSelectTest_DO"."Date" > ?)', $query->sql($parameters) |
| 716 |
|
); |
| 717 |
|
$this->assertEquals(array('%MyName%', '2012-08-08 12:00'), $parameters); |
| 718 |
|
$query->execute(); |
| 719 |
|
} |
| 720 |
|
|
| 721 |
|
public function testParameterisedLeftJoins() { |
| 722 |
|
$query = new SQLSelect(); |
|
@@ 721-742 (lines=22) @@
|
| 718 |
|
$query->execute(); |
| 719 |
|
} |
| 720 |
|
|
| 721 |
|
public function testParameterisedLeftJoins() { |
| 722 |
|
$query = new SQLSelect(); |
| 723 |
|
$query->setSelect(array('"SQLSelectTest_DO"."Name"', '"SubSelect"."Count"')); |
| 724 |
|
$query->setFrom('"SQLSelectTest_DO"'); |
| 725 |
|
$query->addLeftJoin( |
| 726 |
|
'(SELECT "Title", COUNT(*) AS "Count" FROM "SQLSelectTestBase" GROUP BY "Title" HAVING "Title" NOT LIKE ?)', |
| 727 |
|
'"SQLSelectTest_DO"."Name" = "SubSelect"."Title"', |
| 728 |
|
'SubSelect', |
| 729 |
|
20, |
| 730 |
|
array('%MyName%') |
| 731 |
|
); |
| 732 |
|
$query->addWhere(array('"SQLSelectTest_DO"."Date" > ?' => '2012-08-08 12:00')); |
| 733 |
|
|
| 734 |
|
$this->assertSQLEquals('SELECT "SQLSelectTest_DO"."Name", "SubSelect"."Count" |
| 735 |
|
FROM "SQLSelectTest_DO" LEFT JOIN (SELECT "Title", COUNT(*) AS "Count" FROM "SQLSelectTestBase" |
| 736 |
|
GROUP BY "Title" HAVING "Title" NOT LIKE ?) AS "SubSelect" ON "SQLSelectTest_DO"."Name" = |
| 737 |
|
"SubSelect"."Title" |
| 738 |
|
WHERE ("SQLSelectTest_DO"."Date" > ?)', $query->sql($parameters) |
| 739 |
|
); |
| 740 |
|
$this->assertEquals(array('%MyName%', '2012-08-08 12:00'), $parameters); |
| 741 |
|
$query->execute(); |
| 742 |
|
} |
| 743 |
|
} |
| 744 |
|
|
| 745 |
|
class SQLSelectTest_DO extends DataObject implements TestOnly { |