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:

Previous
From: Paul Thomas
Date:
Subject: Re: "{ OJ " group outer joins in queries from
Next
From: Barry Lind
Date:
Subject: Re: "{ OJ " group outer joins in queries from