public function execute($params = null)
    {
        $sql = $this->query instanceof \OtherCode\Database\Query\Query ? $this->query->compile() : $this->query;

        try {

            $this->stmt = $this->connections[$this->defaultConnection]->prepare($sql);
            $this->stmt->execute($params);

        } catch (\PDOException $e) {

            throw new \OtherCode\Database\Exceptions\DatabaseException("Execute error: " . $e->getMessage(), $e->getCode());
        }

        return $this;
    }