Exemplo n.º 1
0
 public function assertSqlStrings(ToSqlInterface $query, array $defines)
 {
     foreach ($defines as $define) {
         list($driver, $expectedSQL) = $define;
         $args = new ArgumentArray();
         $sql = $query->toSql($driver, $args);
         $this->assertEquals($expectedSQL, $sql);
     }
 }
Exemplo n.º 2
0
 public function assertDriverQuery(BaseDriver $driver, ToSqlInterface $query)
 {
     $args = new ArgumentArray();
     $sql = $query->toSql($driver, $args);
     if ($driver instanceof MySQLDriver) {
         $conn = $this->createConnection('mysql');
     } elseif ($driver instanceof PgSQLDriver) {
         $conn = $this->createConnection('pgsql');
     } elseif ($driver instanceof SQLiteDriver) {
         $conn = $this->createConnection('sqlite');
     }
     $stm = $conn->prepare($sql);
     $err = $conn->errorInfo();
     $this->assertEquals('00000', $err[0], var_export($err, true) . ' SQL: ' . $sql);
     $stm->execute($args->toArray());
     $err = $conn->errorInfo();
     $this->assertEquals('00000', $err[0], var_export($err, true) . ' SQL: ' . $sql);
     return $args;
 }
Exemplo n.º 3
0
 public function executeQuery(ToSqlInterface $query)
 {
     $sql = $query->toSql($this->driver, new ArgumentArray());
     $this->showSql($sql);
     $this->query($sql);
 }
Exemplo n.º 4
0
 protected function appendQueryStatement(ClassMethod $method, BaseDriver $driver, ToSqlInterface $query, ArgumentArray $args)
 {
     // build query
     $sql = $query->toSql($driver, $args);
     $call = new MethodCallExpr('$this', 'query', [$sql]);
     $method->getBlock()->appendLine(new Statement($call));
 }