[
https://issues.jboss.org/browse/TEIID-4908?page=com.atlassian.jira.plugin...
]
Steve Tran updated TEIID-4908:
------------------------------
Steps to Reproduce: (was: With Salesforce
- Build a VDB that has a table with a multi-column key
- In Salesforce, import the table via the OData importer
- Create a page in Salesforce that displays a few columns from that table
- Clicking on the a row in the salesforce UI will give you a drill-down, which will create
a new URI to $filter down specifically on your one record. It'll create a filter with
all the columns of the primary key
Without Salesforce
- Create a VDB
- Create a URI that has a space right after $filter=
e.g.
http://localhost:8080/odata4/VDB/Schema/Table?$filter=%20ColumnA%20eq%207...)
Access Pattern Messaging
------------------------
Key: TEIID-4908
URL:
https://issues.jboss.org/browse/TEIID-4908
Project: Teiid
Issue Type: Bug
Affects Versions: 8.12.8.6_3
Environment: JDV 6.3.2
Windows 7
Reporter: Steve Tran
Assignee: Johnathon Lee
I'm accessing my JDV table via OData4 through Salesforce's UI builder. The
salesforce engine itself is creating the OData calls, and whenever a $filter is needed
with multiple columns, it looks like salesforce pads the column name with a space in front
and behind. That'll make the URL look like
...$filter={color:red}%20{color}ColumnA{color:red}%20{color}eq%20123%20and{color:red}%20{color}ColumnB{color:red}%20{color}eq...
The first space right after the $filter= throws off the JDV engine as it thinks it's
a malformed URL - which I guess it is. The thing is when I tested it via the OData2
interface, it accepted it just fine. I'm not sure if the OData4 specifications
explicitly state in terms of the URL, so it could be anybody's bug. Perhaps we could
make JDV a little more forgiving and trim the spaces after un-URL-encoding the URI.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)