public function exe()
    {

        if ($this->oosql_fromFlag) {
            $this->from();
        }
        if (null != $this->oosql_join) {
            $this->sql($this->oosql_join);
        }
        if (null != $this->oosql_where) {
            $this->sql($this->oosql_where);
        }
        if (null != $this->oosql_in) {
            $this->sql($this->oosql_in);
        }
        if (null != $this->oosql_between) {
            $this->sql($this->oosql_between);
        }
        if (null != $this->oosql_limit) {
            $this->sql(' ' . $this->oosql_limit);
        }
        if (null != $this->oosql_group) {
            $this->sql(' ' . $this->oosql_group);
        }
        if (null != $this->oosql_order) {
            $this->sql(' ' . $this->oosql_order);
        }


        if (count($this->oosql_conValues) !== 0) {

            $return = $this->prep($this->oosql_conValues);
            $this->oosql_conValues = array();
            if ($return === false) {
                $msg = 'Execution failed! ' . $this->sql();
                throw new \Exception($msg, 9811, null);
            }

        } else {

            $this->oosql_stmt = $this->query($this->sql());

        }

        if ($this->oosql_insert) {

            $identity = $this->getEntityObject()->identity();

            if ($identity !== false) {
                if ($this->oosql_driver == 'pgsql') {
                    $identity = $this->oosql_table . '_' . $identity . '_seq';
                }
                $lastID = $this->lastInsertId($identity);

                return $lastID;
            }

        }

        return $this->oosql_stmt;
    }