User: vg      
Date: 05/03/23 02:53:52

Modified:
 /dba/dbaccess/source/ui/querydesign/
  QueryDesignView.cxx

Log:
 INTEGRATION: CWS dba27 (1.71.20); FILE MERGED
 2005/03/15 11:52:39 fs 1.71.20.2: RESYNC: (1.71-1.72); FILE MERGED
 2005/03/10 14:39:42 oj 1.71.20.1: #i44704# check if table is already known 
from join

File Changes:

Directory: /dba/dbaccess/source/ui/querydesign/
===============================================

File [changed]: QueryDesignView.cxx
Url: 
http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/querydesign/QueryDesignView.cxx?r1=1.72&r2=1.73
Delta lines:  +13 -1
--------------------
--- QueryDesignView.cxx 10 Mar 2005 16:52:55 -0000      1.72
+++ QueryDesignView.cxx 23 Mar 2005 10:53:49 -0000      1.73
@@ -1181,6 +1181,7 @@
 
                ::rtl::OUString aTableListStr;
                // wird gebraucht um sicher zustelllen das eine Tabelle nicht 
doppelt vorkommt
+               map< ::rtl::OUString,sal_Bool,::comphelper::UStringMixLess> 
aTableNames;
 
                // generate outer join clause in from
                if(!pConnList->empty())
@@ -1200,6 +1201,18 @@
 
                                        if(aJoin.getLength())
                                        {
+                                               // insert tables into table 
list to avoid double entries
+                                               OQueryTableWindow* 
pEntryTabFrom = static_cast<OQueryTableWindow*>(pEntryConn->GetSourceWin());
+                                               OQueryTableWindow* pEntryTabTo 
= static_cast<OQueryTableWindow*>(pEntryConn->GetDestWin());
+
+                                               ::rtl::OUString 
sTabName(BuildTable(_xConnection,pEntryTabFrom));
+                                               if(aTableNames.find(sTabName) 
== aTableNames.end())
+                                                       aTableNames[sTabName] = 
sal_True;
+                                               sTabName = 
BuildTable(_xConnection,pEntryTabTo);
+                                               if(aTableNames.find(sTabName) 
== aTableNames.end())
+                                                       aTableNames[sTabName] = 
sal_True;
+
+                                               // create join                  
                
                                                sal_Bool bUseEscape = 
::dbtools::isDataSourcePropertyEnabled(_xConnection,PROPERTY_OUTERJOINESCAPE,sal_True);
                                                ::rtl::OUString aStr;
                                                if ( bUseEscape )
@@ -1214,7 +1227,6 @@
                        }
 
                        // and now all inner joins
-                       map< 
::rtl::OUString,sal_Bool,::comphelper::UStringMixLess> aTableNames;
                        aIter = pConnList->begin();
                        for(;aIter != pConnList->end();++aIter)
                        {




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to