Steve Boyce created TEIID-4950:
----------------------------------
Summary: 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
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.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)