]
Steve Boyce commented on TEIID-4950:
------------------------------------
I have confirmed that the error still happens on Teiid v9.2.2.
I don't have a current version of 9.3.0 installed anywhere yet.
Can you be more specific to which version you think has been updated for this?
It will take some time for me to set up a v9.3.0 test server to continue testing.
PostgreSQL Linux ODBC driver v09.06.0100 and newer does not work with
Teiid Server 9.1.1
----------------------------------------------------------------------------------------
Key: TEIID-4950
URL:
https://issues.jboss.org/browse/TEIID-4950
Project: Teiid
Issue Type: Bug
Components: ODBC
Affects Versions: 9.1.1
Environment: Oracle Linux 7.3
OBIEE 12c
unixODBC
Official PostgreSQL ODBC Drivers
Reporter: Steve Boyce
Assignee: Steven Hawkins
Fix For: 10.0, 9.3.1
PostgreSQL ODBC driver v09.06.0100 and newer does not work with Teiid Server 9.1.1
This is an OBIEE 12c/unixODBC error:
{noformat}
[2017-06-06T15:00:48.159+00:00] [OBIS] [ERROR:1] [] [] [ecid:
005KKjYVpflEkJ4_VTS4yc0004Vq0002Lh,0:1] [sik: ssi] [tid: a5dc9700] [nQSError: 16001] ODBC
error state: 50000 code: 110 message: [unixODBC]ERROR: TEIID31100 Parsing error:
Encountered "[*]SET[*] DateStyle =" at line 1, column 1. [[
file: server/Query/Execution/DbGateway/Odbc35/../Odbc/Src/SQXDGOdbcConnection.cpp; line:
1009
Properties: description=ExecutePhysical Exchange; producerID=0x321b5ff8;
requestID=0x61ac0002; sessionID=0x61ac0000; userName=weblogic;
Was expecting: "alter" | "begin" | "call" |
"create" | "delete" | "drop" | "exec" |
"execute" | "insert" | "merge" ....
{noformat}
Looking at the source code for the ODBC drivers, it seems that switching from
CC_send_settings to CC_send_query for setting various settings does not work with Teiid.
{noformat}
# grep -r -i --include *.c DateStyle psqlodbc-09*
psqlodbc-09.05.0400/connection.c: CC_send_settings(self, "SET DateStyle =
'ISO';SET extra_float_digits = 2");
psqlodbc-09.06.0100/connection.c: res = CC_send_query(self, "SET DateStyle =
'ISO';SET extra_float_digits = 2;" ISOLATION_SHOW_QUERY, NULL, 0, NULL);
psqlodbc-09.06.0200/connection.c: res = CC_send_query(self, "SET DateStyle =
'ISO';SET extra_float_digits = 2;" ISOLATION_SHOW_QUERY, NULL, 0, NULL);
psqlodbc-09.06.0300/connection.c: res = CC_send_query(self, "SET DateStyle =
'ISO';SET extra_float_digits = 2;" ISOLATION_SHOW_QUERY, NULL, 0, NULL);
psqlodbc-09.06.0310/connection.c: res = CC_send_query(self, "SET DateStyle =
'ISO';SET extra_float_digits = 2;" ISOLATION_SHOW_QUERY, NULL, 0, NULL);
{noformat}
I'm not sure if the bug is with the ODBC driver or this was an intentional change
that Postgres Server can deal with and therefore Teiid server should be able to deal with.