Description of problem: Request to add the Salesforce Bulk API functionality to EDS. The use case would be to improve the performance of writing/updating million record result sets back to salesforce.com. Version-Release number of selected component (if applicable): EDS 5.2
Marc, If the client wants this, can you create a jira under PRODMGT so that the PM's can triage it. Otherwise, a Teiid jira could be created for the community to work it. Thanks. Van
Steven Hawkins <shawkins> made a comment on jira TEIID-2248 We'll take a look at this for 8.3, but if turns out to be too large it will get pushed.
Steven Hawkins <shawkins> made a comment on jira TEIID-2248 This does look fairly concise: http://code.google.com/p/sfdc-bulkapi-demo/source/browse/trunk/demo/src/com/jeffdouglas/BulkLoader.java The sample uses additional sf libraries and another only minor issue is the translation to csv. Perhaps the textagg logic should be generalized for use outside of the engine.
Ramesh Reddy <rareddy> made a comment on jira TEIID-2248 The same example also from http://www.salesforce.com/us/developer/docs/api_asynch/index.htm Looks like this uses the "invokeHttp" type calls, not SOAP, but does use SOAP for fetching the sessionid. Should I look into updating SalesForceExecutionFactory to extend WSExecutionfactory? If I do then we get into issue with connector side of the connection, as Teiid has separate connectors for WS and SF. Looks like we can avoid the http://code.google.com/p/sfdc-wsc/ library that is needed since Teiid do not need the extensive parsing of result returned.
Ramesh Reddy <rareddy> updated the status of jira TEIID-2248 to Resolved
Ramesh Reddy <rareddy> made a comment on jira TEIID-2248 I ended up using the http://code.google.com/p/sfdc-wsc/ library after all, as it encapsulated lot of call and parsing details. I removed it's dependencies as Teiid does not use them. The Bulk insert is only applicable for INSERT. There is code already for UPDATE and DELETE based upon multiple IDs. Also Bulk API does not support UPDATE/DELETE. If there is an error inserting a row into SF, since the communication is ASYNC, there is no proper way to cancel the bulk job. So, the job continues, and reports which rows that have been not inserted. All these errors are currently exposed back to client as SQLWarning. Teiid can throw SQlException but that does not indicate whole job has been aborted, so I choose to implement as SQLWarning.
Steven Hawkins <shawkins> updated the status of jira TEIID-2248 to Closed
Documented in Release Notes as a New Feature.