public function testLists() { $list = ["a", "a\na", "a\ra", "a\ta", "a\\a", "a\\'a", "a\"a"]; $q = new SelectStatement(); $q->from('table1')->selectCount()->where(sqlstr('col1')->inList($list, SQLString::STRING_RENDERER())); $count = self::$currentDatabase->executeScalar($q . ''); $this->assertEquals(count($list), $count); }
public function testGroupBy() { $s = new SelectStatement(); $s->from('table1')->selectCount(null, 'field1')->select('field1')->groupBy('field1')->groupBy('field2'); $this->assertEquals('SELECT COUNT(field1), field1 FROM table1 GROUP BY field1, field2', $s . ''); }
public function testNulls() { $s = new SelectStatement(); $s->from('table1')->where(sqlstr('field1')->isNull())->andWhere(sqlstr('field2')->isNotNull())->selectAll(); $this->assertEquals('SELECT * FROM table1 WHERE field1 IS NULL AND field2 IS NOT NULL', $s . ''); }
public function testSelectCountWithAliasTest() { $s = new SelectStatement(); $s->selectCount('numbers')->from('table1')->where(sqlstr('field1')->equalsTo(5)); $this->assertEquals('SELECT COUNT(*) AS numbers FROM table1 WHERE field1 = 5', $s . ''); }
/** * Loads columns for a given relation * @param Relation $relation */ protected function loadColumnsForRelation(Relation $relation) { $sql = new SelectStatement(); $sql->from('information_schema.columns')->where(sqlstr('table_schema')->equalsTo(':table_schema'))->andWhere(sqlstr('table_name')->equalsTo(':table_name')); $params = [':table_schema' => $relation->getSchemaName(), ':table_name' => $relation->getName()]; foreach ($this->database->executeQuery($sql, $params) as $record) { $column = new Column($record); $relation->addColumn($column); } }