public function runStatements(Reader $reader)
    {
        if (self::DELIM_NONE == $this->delimiterType) {
            include_once 'phing/tasks/ext/pdo/DummyPDOQuerySplitter.php';
            $splitter = new DummyPDOQuerySplitter($this, $reader);
        } elseif (self::DELIM_NORMAL == $this->delimiterType && 0 === strpos($this->getUrl(), 'pgsql:')) {
            include_once 'phing/tasks/ext/pdo/PgsqlPDOQuerySplitter.php';
            $splitter = new PgsqlPDOQuerySplitter($this, $reader);
        } else {
            include_once 'phing/tasks/ext/pdo/DefaultPDOQuerySplitter.php';
            $splitter = new DefaultPDOQuerySplitter($this, $reader, $this->delimiterType);
        }

        try {
            while (null !== ($query = $splitter->nextQuery())) {
                $this->log("SQL: " . $query, Project::MSG_VERBOSE);
                $this->execSQL($query);
            }
        } catch (PDOException $e) {
            throw $e;
        }
    }