function test_default() { $query = new SQL_Query('table'); $query->addSelect('myPara'); $query->resetSelect(); $this->assertEquals(array(), $query->getSelect()); }
function test_twoAndExpression() { $query = new SQL_Query('table'); $query->addGroup('name'); $query->addGroup('STRLEN(name)'); $this->assertEquals(array('name', 'STRLEN(name)'), $query->getGroup()); }
function test_twoParas() { $query = new SQL_Query(); $query->addGroup('name', 'MAX(num)'); $ren = new $this->_renderer($query); $this->assertStringEquals('name , MAX(num)', $ren->renderGroup()); }
function test_twoMixedAndCollate() { $query = new SQL_Query(); $query->addOrder(array('name', false, 'x'), array('surname', true, 'y')); $ren = new $this->_renderer($query); $this->assertStringEquals('name COLLATE x, surname COLLATE y DESC', $ren->renderOrder()); }
function test_default() { $query = new SQL_Query('table'); $query->addGroup('id'); $query->resetGroup(); $this->assertEquals(null, $query->getGroup()); }
function test_withJoin() { $join = new SQL_Query_Join(); $query = new SQL_Query(''); $query->setFrom($join); $this->assertEquals($join, $query->getFrom()); }
function test_quotedField() { $query = new SQL_Query('city'); $query->addWhere('name', '<>', '\'wolfram\''); $ren = new $this->_renderer($query); $this->assertStringEquals('name <> \'wolfram\'', $ren->renderCondition()); }
function test_default() { $query = new SQL_Query('table'); $query->addOrder(array('col', true)); $query->resetOrder(); $this->assertEquals(array(), $query->getOrder()); }
function test_default() { $query = new SQL_Query('table'); $query->addWhere('1', '<>', '2'); $query->resetWhere(); $this->assertEquals(null, $query->getWhere()); }
function test_default() { $query = new SQL_Query('table'); $query->addWhere('1', '<>', '2'); $query->addSelect('id', 'name'); $query->reset(); $this->assertEquals(new SQL_Query('table'), $query); }
function test_join() { $query = new SQL_Query(); $join = new SQL_Query_Join(); $join->addJoin(array('t' => 'table', 'table1'), new SQL_Condition('table.x', '=', 'table1.x')); $query->setFrom($join); $ren = new $this->_renderer($query); $this->assertStringEquals('table t INNER JOIN table1 ON table.x = table1.x', $ren->renderFrom()); }
function test_collateAndDesc() { $query = new SQL_Query('table'); // add a collate clause // this should become: ORDER BY col COLLATE collate_name ASC, col2 $query->addOrder(array('col', false, 'col1')); $query->addOrder('col2'); $this->assertEquals(array(array('col', false, 'col1'), array('col2', false)), $query->getOrder()); }
function test_twoParams() { $query = new SQL_Query('table'); $query->addWhere(2, '=', 2); // test this ... $query->addWhere(new SQL_Condition(1, '=', 1), 'OR'); $cond = new SQL_Condition(2, '=', 2); $cond->add(new SQL_Condition(1, '=', 1), 'OR'); $this->assertEquals($cond, $query->getWhere()); }
function test_mixedAlotPara() { $query = new SQL_Query('table'); $query->addDontSelect('myPara', 'myPara1'); $query->addDontSelect(array('myPara2', 'myPara3')); $query->addDontSelect(array('myPara4')); $query->addDontSelect('myPara5'); $this->assertEquals(array('myPara', 'myPara1', 'myPara2', 'myPara3', 'myPara4', 'myPara5'), $query->getDontSelect()); }
function test_slightlyDifferentQueries1() { $query = new SQL_Query('table'); $query->addWhere('1', '<>', '2'); $query->addSelect('id', 'name'); $query1 = $query; $query->resetSelect(); $query->addSelect('name', 'id'); $this->assertFalse($query1->hashKey() == $query->hashKey()); }
function &SQL_Query_exec($query) { $sql = new SQL_Query($query); return $sql->execute(); }
*/ ini_set('error_reporting', E_ALL); ini_set('include_path', realpath(dirname(__FILE__) . '/../../..')); #define('DB_DSN', 'mysql://root@localhost/test'); $tableStructures = array(); require_once 'SQL/Query.php'; require_once 'SQL/Query/Join.php'; require_once 'SQL/Query/Condition.php'; /*$aliases = array( TABLE_CONTACT => 'contact' ,TABLE_CONTACT2TREE => 'contact2tree' ,TABLE_CONTACTTREE => 'contactTree' ); */ #DB_QueryTool::addAliases($aliases); $query = new SQL_Query_Join('contact'); $query->autoJoin('contact2tree', 'contactTree'); $query->addLeftJoin('email', new SQL_Query_Condition('email.contact_id', '=', 'id', 'AND', 'email.primaryMail', '=', 1)); $query->addWhere('contactTree.user_id', '=', 7); $query->addOrder('surname,name'); // this is just to demonstrate nested where clauses, the query doesnt really make sense, at least not to me :-) // SELECT * FROM user WHERE (name LIKE 'n%' AND name LIKE 'a%') OR name LIKE 's%' $query = new SQL_Query('user'); $c1 = $query->condition('name', 'LIKE', '"n%"'); $c1->add('name', 'LIKE', '"a%"', 'AND'); $query->addWhere($c1, 'OR', $query->condition('name', 'LIKE', '"%s"')); require_once 'SQL/Query/Renderer.php'; $render = SQL_Query_Renderer::factory($query, $tableStructures); print $render->toString(); print "<pre>"; print_r($query);
function test_deleteSearchedWithWhere() { $query = new SQL_Query('city', 'delete'); $query->addWhere('id', '=', 1); $ren = new $this->_renderer($query); $this->assertStringEquals('DELETE FROM city WHERE id = 1', $ren->render()); }
function test_default() { $query = new SQL_Query('table'); $this->assertEquals(new SQL_Condition('1', '<>', '2'), $query->condition('1', '<>', '2')); }
function test_setType() { $query = new SQL_Query(''); $query->setType('delete'); $this->assertEquals('delete', $query->getType()); }
function SQL_Query_Insert($table = null) { parent::SQL_Query($table, 'insert'); }
/** * @param string $name * @param null $alias * @return SQL_Query */ public function createQuery($name = "", $alias = null) { $query = new SQL_Query($this); if ($name != "") { $query->select($name, $alias); } return $query; }