public function select(...$args)
    {
        $args = WF::flatten_array($args);

        $select = new Query\Select;
        $select->add(new Query\SourceTableClause($this->tablename));
        $cols = $this->getColumns();
        foreach ($cols as $name => $def)
            $select->add(new Query\GetClause($name));
        foreach ($args as $arg)
            $select->add($arg);

        $drv = $this->db->getDriver();
        return $drv->select($select);
    }