Apache OpenOffice (AOO) Bugzilla – Issue 64649
OOo turns INNER JOIN query to WHERE in Design mode
Last modified: 2013-08-07 15:45:41 UTC
Imagine you have datas with n:m relationship which is resolved to three tables, like in the attached database. Go to "Create Query in SQL view..." and create a query with an INNER JOIN, like query "querymitJoinSQLansicht" in the example. Save it. If you look into the content.xml, you see the command SELECT "de"."BEGRIFF", "en"."ITEM" FROM "de" INNER JOIN "translate" ON "de"."ID" = "translate"."DE_ID" INNER JOIN "en" ON "en"."ID" = "translate"."EN_ID" Now use context menu "Edit" for that query. It opens in Design mode. Move the table-icons a little bit but don't alter the query itself. Save it. I have done it with the query "kopiezumbearbeiten" in the example. Now look into content.xml again. You see the command SELECT "de"."BEGRIFF", "en"."ITEM" FROM "de" "de", "translate" "translate", "en" "en" WHERE ( "de"."ID" = "translate"."DE_ID" AND "en"."ID" = "translate"."EN_ID OOo has silently changed your command. That is bad, because, for example for an Access database connected via ADO, the WHERE version is extreme slow compared with the INNER JOIN version and makes your query unusable, if the database contains not only a few records.
Created attachment 35922 [details] example database
clu->oj: i can repro that - as i agreed with fs the ui should not change the code that way (in general)
set target
@lla:We need an additional setting for this one as well. Please ask before starting to get some info about it. Thanks.