Ejemplo n.º 1
0
function select_subquery($t)
{
    $builder = new SQLMaker('sqlite', array('quote_char' => '', 'new_line' => ' '));
    do {
        $stmt1 = $builder->select_query('sakura', array('hoge', 'fuga'), array('fuga' => 'piyo', 'zun' => 'doko'));
        $t->is($stmt1->as_sql(), 'SELECT hoge, fuga FROM sakura WHERE (fuga = ?) AND (zun = ?)');
        $t->is(implode(',', $stmt1->bind()), 'piyo,doko');
    } while (false);
    do {
        $stmt2 = $builder->select_query(array($stmt1, 'stmt1'), array('foo', 'bar'), array('bar' => 'baz', 'john' => 'man'));
        $t->is($stmt2->as_sql(), 'SELECT foo, bar FROM (SELECT hoge, fuga FROM sakura WHERE (fuga = ?) AND (zun = ?)) stmt1 WHERE (bar = ?) AND (john = ?)');
        $t->is(implode(',', $stmt2->bind()), 'piyo,doko,baz,man');
    } while (false);
    do {
        $stmt3 = $builder->select_query(array($stmt2, 'stmt2'), array('baz'), array('baz' => 'bar'), array('order_by' => 'yo'));
        $t->is($stmt3->as_sql(), 'SELECT baz FROM (SELECT foo, bar FROM (SELECT hoge, fuga FROM sakura WHERE (fuga = ?) AND (zun = ?)) stmt1 WHERE (bar = ?) AND (john = ?)) stmt2 WHERE (baz = ?) ORDER BY yo');
        $t->is(implode(',', $stmt3->bind()), 'piyo,doko,baz,man,bar');
    } while (false);
    do {
        $stmt = $builder->new_select();
        $stmt->add_select('id');
        $stmt->add_where('foo', 'bar');
        $stmt->add_from($stmt, 'itself');
        $t->is($stmt->as_sql(), 'SELECT id FROM (SELECT id FROM  WHERE (foo = ?)) itself WHERE (foo = ?)');
        $t->is(implode(',', $stmt->bind()), 'bar,bar');
    } while (false);
}
Ejemplo n.º 2
0
function new_select_driver_mysql($t)
{
    $builder = new SQLMaker('mysql', array('quote_char' => '', 'name_sep' => '.', 'new_line' => ' '));
    $select = $builder->new_select();
    $t->isa_ok($select, 'SQLMakerSelect');
    $t->is($select->quote_char, '');
    $t->is($select->name_sep, '.');
    $t->is($select->new_line, " ");
}