Re: "{ OJ " group outer joins in queries

From: Palle Girgensohn <girgen(at)pingpong(dot)net>
To: pg(at)fastcrypt(dot)com
Cc: "pgsql-jdbc(at)postgresql(dot)org" <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: "{ OJ " group outer joins in queries
Date: 2003-11-13 14:57:23
Message-ID: 1690000.1068735443@rambutan.pingpong.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

--On torsdag, november 13, 2003 08.21.31 -0500 Dave Cramer
<pg(at)fastcrypt(dot)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(at)pingpong(dot)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(at)pingpong(dot)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
>>
>>
>

In response to

Browse pgsql-jdbc by date

  From Date Subject
Next Message Paul Thomas 2003-11-13 15:29:15 Re: "{ OJ " group outer joins in queries from
Previous Message Dave Cramer 2003-11-13 13:21:31 Re: "{ OJ " group outer joins in queries from