Re: "{ OJ " group outer joins in queries - Mailing list pgsql-jdbc
From | Palle Girgensohn |
---|---|
Subject | Re: "{ OJ " group outer joins in queries |
Date | |
Msg-id | 1690000.1068735443@rambutan.pingpong.net Whole thread Raw |
In response to | Re: "{ OJ " group outer joins in queries from (Dave Cramer <pg@fastcrypt.com>) |
List | pgsql-jdbc |
--On torsdag, november 13, 2003 08.21.31 -0500 Dave Cramer <pg@fastcrypt.com> wrote: > Definitely not, we do not intercept the query and modify it other than > escaping some characters. Cool. As you can see in the issuezilla records, they state that they use non-standard jdbc. just too true... :-/ > Why would they think that JDBC is similiar to ODBC? I don't think they do, really, they just made it work for ODBC and didn't think enough about JDBC... /Palle > > Dave > On Wed, 2003-11-12 at 22:50, Palle Girgensohn wrote: >> Hi, >> >> This was discussed on the pgsql-sql list. Tom Lane asked if someone >> knows about this, no answer at that list, so I guess I'll ask here: >> >> OpeoOffice adds "{ OJ " .., "}" around outer joins. Apparently, as Tom >> recalls, the ODBC standard expects this, since ODBC rephrases the query >> to be compatible with different db servers. I don't think this >> construct exists in JDBC? Anyone knows? >> >> Two bug reports on OO.org with the same matter, only seem to involve >> postgresql jdbc driver? >> >> http://www.openoffice.org/issues/show_bug.cgi?id=14296 >> http://www.openoffice.org/issues/show_bug.cgi?id=22355 >> >> See (parts of) my original mail below: >> >> >> Palle Girgensohn <girgen@pingpong.net> writes: >> >>> Here's their code snippet (from >> >>> oo_1.1_src/dbaccess/source/ui/querydesign/QueryDesignView.cxx): >> >> >> >>> if(aJoin.getLength()) >> >>> { >> >>> ::rtl::OUString aStr = ::rtl::OUString::createFromAscii("{ OJ "); >> >>> aStr += aJoin; >> >>> aStr += ::rtl::OUString::createFromAscii(" },"); >> >>> aTableListStr += aStr; >> >>> } >> >> >> >> Now that I look at it, I bet that they are expecting the ODBC driver >> >> to translate "{ OJ ... }" into the appropriate syntax for the database >> >> (either SQL standard or not, depending on the DB :-(). >> >> >> >> There are a number of ODBC brace-constructs that our driver knows how >> >> to translate, but I don't think that's one of them. You should bug >> >> the ODBC guys about it. >> >> >> >> regards, tom lane >> >> Palle Girgensohn <girgen@pingpong.net> writes: >> > Hi! >> > >> > I just tried using openoffice to create a SQL query, but it failed >> > when I tried using left outer joins. The contructed query from OO >> > contains curly braces to group things. I've never seen this construct >> > before. Is it OO doing bad things, or does postgresql not understand >> > it? It's on pg-7.3.4. Perhaps 7.4 behaves differently? >> > >> > SELECT "personer"."foretag", "personer"."fnamn", "personer"."enamn", >> > "befattningnamn"."namn" FROM { OJ "public"."befattning" "befattning" >> > LEFT OUTER JOIN "public"."personer" "personer" ON >> > "befattning"."personid" = "personer"."personid" }, >> > "public"."kommentar" "kommentar", "public"."personer" "personer", >> > "public"."befattning" "befattning", "public"."befattningnamn" >> > "befattningnamn" WHERE 0 = 1 >> > >> > >> > ERROR: parser: parse error at or near "{" at character 100 >> > >> > (The WHERE 0 = 1 seems to be OO's way of checking the query syntax.) >> > >> > Thanks >> > Palle >> >> >> ---------------------------(end of broadcast)--------------------------- >> TIP 8: explain analyze is your friend >> >> >
pgsql-jdbc by date: