[JBoss JIRA] Updated: (TEIID-96) Salesforce connector isn't consistently protecting against null values in binding parameters
by Ramesh Reddy (JIRA)
[ https://jira.jboss.org/jira/browse/TEIID-96?page=com.atlassian.jira.plugi... ]
Ramesh Reddy updated TEIID-96:
------------------------------
Component/s: Salesforce Connector
Fix Version/s: 6.x
Affects Version/s: 6.x
> Salesforce connector isn't consistently protecting against null values in binding parameters
> --------------------------------------------------------------------------------------------
>
> Key: TEIID-96
> URL: https://jira.jboss.org/jira/browse/TEIID-96
> Project: Teiid
> Issue Type: Bug
> Components: Salesforce Connector
> Affects Versions: 6.x
> Environment: 5.5.2 with patch 0050; Salesforce connector with patch p552_080717_0001
> Reporter: Greg Haber
> Assignee: John Doyle
> Priority: Minor
> Fix For: 6.x
>
>
> The GA release of the SFDC connector had one binding parameter that should have a number value - InLimit. The p552_080717_0001 patch adds a second - PingInterval.
> When these parameters are actually read by the connector in com.metamatrix.connector.salesforce.connection.SalesforceConnection, the connector tries to use Integer.decode or Long.decode to convert these values to the correct numeric type from the String that is returned by the Properties object. There is no checking to see if the values here are null before calling the decode method, so the connector bombs out with an NPE if either value is null.
> We should either silently fall back on a default value or throw an appropriate ConnectorException if these values are null, but we shouldn't be throwing an NPE.
> I looked through the code and it looks like we are careful with checking for nulls for the other SFDC connector binding parameters.
> Also, I noticed that both of these parameters are defined in the connector binding type's CDK file as type String, instead of the correct numeric type. I don't know if setting the type correctly in the CDK file would actually add some extra validation in this case, but we should set the types correctly here in case we do (or if we don't, to take advantage of such validation if we add it in a later release). Using correct numeric types would also make this connector type definition consistent with the other standard MMx connectors, where these types are widely used.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 10 months
[JBoss JIRA] Updated: (TEIID-93) when a fairly complex query is pushed down to the XML-HTTP Connector, it fails
by Ramesh Reddy (JIRA)
[ https://jira.jboss.org/jira/browse/TEIID-93?page=com.atlassian.jira.plugi... ]
Ramesh Reddy updated TEIID-93:
------------------------------
Component/s: XML Connector
Fix Version/s: 6.x
Affects Version/s: 6.x
> when a fairly complex query is pushed down to the XML-HTTP Connector, it fails
> ------------------------------------------------------------------------------
>
> Key: TEIID-93
> URL: https://jira.jboss.org/jira/browse/TEIID-93
> Project: Teiid
> Issue Type: Bug
> Components: XML Connector
> Affects Versions: 6.x
> Reporter: Steven Hawkins
> Fix For: 6.x
>
>
> Defect Tracker #25059: when a fairly complex query is pushed down to the XML-HTTP
> Connector, it fails
> Need a lot more information.
> OK, here's how to reproduce this issue (which we hit at Citi). Use the attached model project set in 5.5.1RC2 Designer, and use the response.xml attached with your standard xmltool.war tester. Then issue the following query from Designer:
> >>
> >> select H_RelationshipID, H_RelationshipName, H_HHID, H_TeamLeadName, H_TeamLeadID, H_MemberFirstName, H_MemberLastName, H_MemberAcctID, H_MemberFCName, H_MemberFCNum, H_HHLeadInd, H_MemberType, H_MemberRole, H_clientId, A_ADDR_TYPE, A_ADDR_SUB_TYPE, A_ADDR_SUB_NAME, A_ADDR_LINE1, A_ADDR_LINE2, A_ADDR_LINE3, A_ADDR_LINE4, A_ADDR_LINE5, A_ADDR_LINE6, A_ADDR_FLAG1, A_ADDR_FLAG2, A_ADDR_FLAG3, A_ADDR_FLAG4, A_ADDR_FLAG5, A_ADDR_FLAG6, A_CITY, A_ZIP, A_STATE_CODE, A_POSTAL_CODE, A_COUNTRY, A_ALTA_TYPE, A_EFF_DATE, A_EXP_DATE from "RPXMLTest"."CustRelnDataWS.WS.RetrieveCustRelnData.relnDataSingleTable" where A_ADDR_TYPE IN ('BA','AA') AND ((A_ADDR_TYPE IN('AA')) AND(NVL(A_ALTA_TYPE,'') = ''))
> >>
> >> This plans to the following source query being pushed to the connector:
> >>
> >> SELECT A_ALTA_TYPE, H_RelationshipID, H_RelationshipName, H_HHID, H_TeamLeadName, H_TeamLeadID, H_MemberFirstName, H_MemberLastName, H_MemberAcctID, H_MemberFCName, H_MemberFCNum, H_HHLeadInd, H_MemberType, H_MemberRole, H_clientId, A_ADDR_TYPE, A_ADDR_SUB_TYPE, A_ADDR_SUB_NAME, A_ADDR_LINE1, A_ADDR_LINE2, A_ADDR_LINE3, A_ADDR_LINE4, A_ADDR_LINE5, A_ADDR_LINE6, A_ADDR_FLAG1, A_ADDR_FLAG2, A_ADDR_FLAG3, A_ADDR_FLAG4, A_ADDR_FLAG5, A_ADDR_FLAG6, A_CITY, A_ZIP, A_STATE_CODE, A_POSTAL_CODE, A_COUNTRY, A_EFF_DATE, A_EXP_DATE FROM RPXMLTest.CustRelnDataWS.WS.RetrieveCustRelnData.relnDataSingleTable WHERE (A_ADDR_TYPE IN ('BA', 'AA')) AND (A_ADDR_TYPE = 'AA')
> >>
> >> Now, the criteria here says that A_ADDR_TYPE needs to be in the set of 'AA', 'BA', AND needs to be equal to 'AA'. So really only those "rows" where A_ADDR_TYPE='AA' should be returned. But instead the connector returns all rows where A_ADDR_TYPE is 'AA' or 'BA'.
> >>
> >
> > This seems like it could be a defect in the way we hande IN criteria. Was there ever a case or defect on this?
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
15 years, 10 months