summaryrefslogtreecommitdiff
path: root/connectivity
diff options
context:
space:
mode:
authorLionel Elie Mamane <lionel@mamane.lu>2021-03-27 15:44:08 +0100
committerAndras Timar <andras.timar@collabora.com>2021-03-31 10:45:18 +0200
commitabe3d1acaa788a56377c63de340d8a12609f43d1 (patch)
treec0c57ed809cc9be555c4be7aad3776beb4a495c0 /connectivity
parentf04fe56b7143ae05345e33012270ed3057c2ee4e (diff)
tdf#141115 semi-userfriendly message on UNION query on file driver
Rather than silently returning only the first (left) part of the UNION, error out. Change-Id: I6ed1eba55ad33f149d9010933a3c7a835fce0451 (cherry picked from commit d0efd1e280c2b9759dce120dff64e8bac1ab19c1) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113216 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Diffstat (limited to 'connectivity')
-rw-r--r--connectivity/source/drivers/file/FStatement.cxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/connectivity/source/drivers/file/FStatement.cxx b/connectivity/source/drivers/file/FStatement.cxx
index 08c4f7fdd844..31d435b62aab 100644
--- a/connectivity/source/drivers/file/FStatement.cxx
+++ b/connectivity/source/drivers/file/FStatement.cxx
@@ -394,6 +394,13 @@ void OStatement_Base::construct(const OUString& sql)
case OSQLStatementType::Unknown:
m_pConnection->throwGenericSQLException(STR_QUERY_TOO_COMPLEX,*this);
break;
+ case OSQLStatementType::Select:
+ if(SQL_ISRULE(m_aSQLIterator.getParseTree(), union_statement))
+ {
+ m_pConnection->throwGenericSQLException(STR_QUERY_TOO_COMPLEX, *this);
+ }
+ assert(SQL_ISRULE(m_aSQLIterator.getParseTree(), select_statement));
+ break;
default:
break;
}