Thread: BUG #15130: outer-join-escape syntax seems not to work with latestjdbc-driver

BUG #15130: outer-join-escape syntax seems not to work with latestjdbc-driver

From
PG Bug reporting form
Date:
The following bug has been logged on the website:

Bug reference:      15130
Logged by:          Markus Koch
Email address:      markus.koch@community4you.de
PostgreSQL version: 9.4.7
Operating system:   SuSE Linux
Description:

We are using Crystal Report Java Reporting Component (JRC) to create
reports.

Crystal reports creates queries like this:
SELECT "CODE"."system_bez", 
"FAHRZEUG"."fahrzeug_id", "FAHRZEUG"."hersteller", "FAHRZEUG"."x_inaktiv",

"G_PARTNER"."g_partner_id", "CODE"."code_table", "G_PARTNER"."name" 
FROM   {oj ("public"."fahrzeug" "FAHRZEUG" LEFT OUTER JOIN
"public"."g_partner" 
"G_PARTNER" ON "FAHRZEUG"."g_partner_id"="G_PARTNER"."g_partner_id") 
LEFT OUTER JOIN "public"."code" "CODE" ON
"FAHRZEUG"."obj_code_id"="CODE"."code_id"} 
WHERE  ("G_PARTNER"."g_partner_id"=1 AND "FAHRZEUG"."x_inaktiv" 
IS  NULL  AND ("CODE"."code_table"='OBJ_TYP' AND
"CODE"."system_bez"='FAHRZEUG')) 
ORDER BY "G_PARTNER"."g_partner_id"

According to this page:
https://jdbc.postgresql.org/documentation/head/outer-joins-escape.html
this syntax should still work but in fact it works only up to
postgresql-9.4.1211.jre7.jar.

If we replace the jdbc-driver postgresql-9.4.1212.jre7.jar or a newer
version we're getting this error: ERROR: syntax error at or near "{"

I think this is related to the postgres-jdbc-driver because this is the only
lib I have replaced.

Markus


It seems that there's such an issue reported on github:

https://github.com/pgjdbc/pgjdbc/issues/865

It seems that there was a change comitted in the version 9.4.1212, as well:


Regards,
Flo

On Mon, Mar 26, 2018 at 12:24 PM, PG Bug reporting form <noreply@postgresql.org> wrote:
The following bug has been logged on the website:

Bug reference:      15130
Logged by:          Markus Koch
Email address:      markus.koch@community4you.de
PostgreSQL version: 9.4.7
Operating system:   SuSE Linux
Description:

We are using Crystal Report Java Reporting Component (JRC) to create
reports.

Crystal reports creates queries like this:
SELECT "CODE"."system_bez",
"FAHRZEUG"."fahrzeug_id", "FAHRZEUG"."hersteller", "FAHRZEUG"."x_inaktiv",

"G_PARTNER"."g_partner_id", "CODE"."code_table", "G_PARTNER"."name"
FROM   {oj ("public"."fahrzeug" "FAHRZEUG" LEFT OUTER JOIN
"public"."g_partner"
"G_PARTNER" ON "FAHRZEUG"."g_partner_id"="G_PARTNER"."g_partner_id")
LEFT OUTER JOIN "public"."code" "CODE" ON
"FAHRZEUG"."obj_code_id"="CODE"."code_id"}
WHERE  ("G_PARTNER"."g_partner_id"=1 AND "FAHRZEUG"."x_inaktiv"
IS  NULL  AND ("CODE"."code_table"='OBJ_TYP' AND
"CODE"."system_bez"='FAHRZEUG'))
ORDER BY "G_PARTNER"."g_partner_id"

According to this page:
https://jdbc.postgresql.org/documentation/head/outer-joins-escape.html
this syntax should still work but in fact it works only up to
postgresql-9.4.1211.jre7.jar.

If we replace the jdbc-driver postgresql-9.4.1212.jre7.jar or a newer
version we're getting this error: ERROR: syntax error at or near "{"

I think this is related to the postgres-jdbc-driver because this is the only
lib I have replaced.

Markus