tdf#120691 Migrate tables which contain spaces

Change-Id: I115d765bc781a926189605990e91c8e47f24d474
Reviewed-on: https://gerrit.libreoffice.org/62403
Tested-by: Jenkins
Reviewed-by: Tamás Bunth <btomi96@gmail.com>
(cherry picked from commit 76279399f747548494a259173ef5669553c3f06f)
Reviewed-on: https://gerrit.libreoffice.org/62501
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
diff --git a/dbaccess/source/filter/hsqldb/utils.cxx b/dbaccess/source/filter/hsqldb/utils.cxx
index dfdbee4..8d6c49e 100644
--- a/dbaccess/source/filter/hsqldb/utils.cxx
+++ b/dbaccess/source/filter/hsqldb/utils.cxx
@@ -22,6 +22,8 @@
#include <comphelper/processfactory.hxx>
#include <connectivity/dbexception.hxx>

#include <sal/log.hxx>

#include "utils.hxx"

using namespace dbahsql;
@@ -39,6 +41,22 @@
    if (*wordIter == "TABLE")
        ++wordIter;

    // it may contain spaces if it's put into apostrophes.
    if (wordIter->indexOf("\"") >= 0)
    {
        sal_Int32 nAposBegin = sSql.indexOf("\"");
        sal_Int32 nAposEnd = nAposBegin;
        bool bProperEndAposFound = false;
        while (!bProperEndAposFound)
        {
            nAposEnd = sSql.indexOf("\"", nAposEnd + 1);
            if (sSql[nAposEnd - 1] != u'\\')
                bProperEndAposFound = true;
        }
        OUString result = sSql.copy(nAposBegin, nAposEnd - nAposBegin + 1);
        return result;
    }

    // next word is the table's name
    // it might stuck together with the column definitions.
    sal_Int32 nParenPos = wordIter->indexOf("(");