summaryrefslogtreecommitdiff
path: root/dbaccess/source/ui/querydesign/QueryDesignView.cxx
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@suse.cz>2011-04-22 15:07:40 +0200
committerJan Holesovsky <kendy@suse.cz>2011-04-22 15:07:40 +0200
commitbc3bbd2bb4b629ec612beeeeadd959a2fb6426c2 (patch)
tree230225ef40deb8214edb308a21876f642b341942 /dbaccess/source/ui/querydesign/QueryDesignView.cxx
parent2933795a13ec243e9bff571583df409266746164 (diff)
parent1ba7b7c30f13bc3764a338a5a90c2fc7ff09afa6 (diff)
Merge commit 'ooo/DEV300_m106' into libreoffice-3-4
Conflicts: dbaccess/source/core/api/CacheSet.cxx dbaccess/source/core/api/KeySet.cxx dbaccess/source/core/api/KeySet.hxx dbaccess/source/core/api/OptimisticSet.hxx dbaccess/source/core/api/RowSet.cxx dbaccess/source/core/api/RowSetCache.cxx dbaccess/source/core/api/query.cxx dbaccess/source/core/dataaccess/SharedConnection.cxx dbaccess/source/ui/app/AppController.cxx dbaccess/source/ui/app/makefile.mk dbaccess/source/ui/control/FieldDescControl.cxx dbaccess/source/ui/querydesign/query.src dbaccess/source/ui/tabledesign/TEditControl.cxx reportdesign/source/ui/report/ReportController.cxx reportdesign/source/ui/report/ReportSection.cxx reportdesign/source/ui/report/SectionWindow.cxx reportdesign/source/ui/report/StartMarker.cxx reportdesign/source/ui/report/ViewsWindow.cxx
Diffstat (limited to 'dbaccess/source/ui/querydesign/QueryDesignView.cxx')
-rw-r--r--dbaccess/source/ui/querydesign/QueryDesignView.cxx12
1 files changed, 10 insertions, 2 deletions
diff --git a/dbaccess/source/ui/querydesign/QueryDesignView.cxx b/dbaccess/source/ui/querydesign/QueryDesignView.cxx
index ccd9b3af9533..27912e355d69 100644
--- a/dbaccess/source/ui/querydesign/QueryDesignView.cxx
+++ b/dbaccess/source/ui/querydesign/QueryDesignView.cxx
@@ -1982,6 +1982,13 @@ namespace
break;
}
+ const OSQLParseNode* pTableExp = pParseTree->getChild(3);
+ if ( pTableExp->getChild(6)->count() > 0 || pTableExp->getChild(7)->count() > 0 || pTableExp->getChild(8)->count() > 0)
+ {
+ eErrorCode = eStatementTooComplex;
+ break;
+ }
+
Reference< XConnection> xConnection = rController.getConnection();
if ( !xConnection.is() )
{
@@ -2063,7 +2070,7 @@ namespace
pTableView->RemoveTabWin(aIterTableMap->second);
}
- if ( eOk == (eErrorCode = FillOuterJoins(_pView,pParseTree->getChild(3)->getChild(0)->getChild(1))) )
+ if ( eOk == (eErrorCode = FillOuterJoins(_pView,pTableExp->getChild(0)->getChild(1))) )
{
// check if we have a distinct statement
if(SQL_ISTOKEN(pParseTree->getChild(1),DISTINCT))
@@ -2405,9 +2412,10 @@ namespace
{
OQueryController& rController = static_cast<OQueryController&>(_pView->getController());
::connectivity::OSQLParseNode* pGroupBy = pSelectRoot->getChild(3)->getChild(2)->getChild(2);
- OTableFieldDescRef aDragInfo = new OTableFieldDesc();
+
for( sal_uInt32 i=0 ; i < pGroupBy->count() && eOk == eErrorCode; ++i )
{
+ OTableFieldDescRef aDragInfo = new OTableFieldDesc();
::connectivity::OSQLParseNode* pParamRef = NULL;
::connectivity::OSQLParseNode* pArgument = pGroupBy->getChild( i );
if(SQL_ISRULE(pArgument,column_ref))