[JBoss JIRA] (TEIID-4483) Not null constraint is not checked on temp table update
by Steven Hawkins (JIRA)
Steven Hawkins created TEIID-4483:
-------------------------------------
Summary: Not null constraint is not checked on temp table update
Key: TEIID-4483
URL: https://issues.jboss.org/browse/TEIID-4483
Project: Teiid
Issue Type: Bug
Components: Query Engine
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Fix For: 9.1, 9.0.5
An update such as:
update x set e1 = (select null)
will still be allowed to happen even if e1 is not null, since the not null validation is only being checked at for literal values.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 7 months
[JBoss JIRA] (TEIID-4482) Not null not enforced with temp table expression
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4482?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-4482.
-----------------------------------
Resolution: Done
Corrected the logic by ensuring that the metadata id is always associated and using the table order.
> Not null not enforced with temp table expression
> ------------------------------------------------
>
> Key: TEIID-4482
> URL: https://issues.jboss.org/browse/TEIID-4482
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 9.1, 9.0.5
>
>
> A table defined as:
> create local temporary table x (e1 string not null, e2 integer, primary key (e2))
> such that the pk is not in the first position, will allow an insert such as:
> insert into x (e1, e2) values ((select null), 1)
> to succeed because the nullability will be checked against the declared positioning, and not the temptable positioning (in which the pk is first).
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 7 months
[JBoss JIRA] (TEIID-4477) LDAP connector disconnects intermittently with error "TEIID12002"
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-4477?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-4477:
---------------------------------------
That has to be managed by CEE. If you create a support ticket, they can review for inclusion in a future rollup.
> LDAP connector disconnects intermittently with error "TEIID12002"
> -----------------------------------------------------------------
>
> Key: TEIID-4477
> URL: https://issues.jboss.org/browse/TEIID-4477
> Project: Teiid
> Issue Type: Bug
> Components: LDAP Connector
> Affects Versions: 8.12.5
> Environment: Red Hat JBoss Data Virtualization - Version 6.3.0
> Reporter: Rafael Coutinho
> Assignee: Steven Hawkins
> Fix For: 9.1, 9.0.5
>
>
> We are using LDAP connector for virtualizing the ldap employee directory data. For some reason every 3 to 4 hours we get a connection error between JDV and LDAP.
> The exception says it could not find the context name, but after restarting it it works again.
> Here is the exception:
> 11:21:12,868 WARN [org.teiid.CONNECTOR] (Worker62_QueryProcessorQueue108177) Connector worker process failed for atomic-request=6S71mw5pkfvo.106.3.19906: org.teiid.translator.TranslatorException: TEIID12002 Failed to create LDAP search context from the specified context name ou=users,dc=redhat,dc=com. Check the table/group name in source to ensure the context exists.
> at org.teiid.translator.ldap.LDAPSyncQueryExecution.createSearchContext(LDAPSyncQueryExecution.java:148) [translator-ldap-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.translator.ldap.LDAPSyncQueryExecution.execute(LDAPSyncQueryExecution.java:130) [translator-ldap-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:364)
> at sun.reflect.GeneratedMethodAccessor184.invoke(Unknown Source) [:1.8.0-internal]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) [rt.jar:1.8.0-internal]
> at java.lang.reflect.Method.invoke(Method.java:508) [rt.jar:2.6 (07-19-2016)]
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy80.execute(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
> at java.util.concurrent.FutureTask.run(FutureTask.java:277) [rt.jar:1.8.0-internal]
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1153) [rt.jar:1.8.0-internal]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [rt.jar:1.8.0-internal]
> at java.lang.Thread.run(Thread.java:785) [vm.jar:1.8.0-internal]
> Caused by: javax.naming.CommunicationException: connection closed [Root exception is java.io.IOException: connection closed]; remaining name 'ou=users,dc=redhat,dc=com'
> at com.sun.jndi.ldap.LdapCtx.doSearch(LdapCtx.java:2014) [rt.jar:1.8.0-internal]
> at com.sun.jndi.ldap.LdapCtx.doSearchOnce(LdapCtx.java:1945) [rt.jar:1.8.0-internal]
> at com.sun.jndi.ldap.LdapCtx.c_lookup(LdapCtx.java:1039) [rt.jar:1.8.0-internal]
> at com.sun.jndi.toolkit.ctx.ComponentContext.p_lookup(ComponentContext.java:554) [rt.jar:1.8.0-internal]
> at com.sun.jndi.toolkit.ctx.PartialCompositeContext.lookup(PartialCompositeContext.java:189) [rt.jar:1.8.0-internal]
> at com.sun.jndi.toolkit.ctx.PartialCompositeContext.lookup(PartialCompositeContext.java:178) [rt.jar:1.8.0-internal]
> at javax.naming.InitialContext.lookup(InitialContext.java:428) [rt.jar:1.8.0-internal]
> at javax.naming.InitialContext.lookup(InitialContext.java:428) [rt.jar:1.8.0-internal]
> at org.teiid.resource.adapter.ldap.LDAPConnectionImpl.lookup(LDAPConnectionImpl.java:193)
> at org.teiid.translator.ldap.LDAPSyncQueryExecution.createSearchContext(LDAPSyncQueryExecution.java:146) [translator-ldap-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> ... 18 more
> Caused by: java.io.IOException: connection closed
> at com.sun.jndi.ldap.LdapClient.ensureOpen(LdapClient.java:1604) [rt.jar:1.8.0-internal]
> at com.sun.jndi.ldap.LdapClient.search(LdapClient.java:542) [rt.jar:1.8.0-internal]
> at com.sun.jndi.ldap.LdapCtx.doSearch(LdapCtx.java:1997) [rt.jar:1.8.0-internal]
> ... 27 more
> 11:21:12,871 ERROR [org.teiid.CONNECTOR] (Worker63_QueryProcessorQueue108178) null: java.lang.NullPointerException
> at org.teiid.translator.ldap.LDAPSyncQueryExecution.close(LDAPSyncQueryExecution.java:186) [translator-ldap-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.close(ConnectorWorkItem.java:255)
> at sun.reflect.GeneratedMethodAccessor185.invoke(Unknown Source) [:1.8.0-internal]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) [rt.jar:1.8.0-internal]
> at java.lang.reflect.Method.invoke(Method.java:508) [rt.jar:2.6 (07-19-2016)]
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy80.close(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.fullyCloseSource(DataTierTupleSource.java:338)
> at org.teiid.dqp.internal.process.DataTierTupleSource.exceptionOccurred(DataTierTupleSource.java:394)
> at org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:161)
> at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:391)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282)
> at org.teiid.query.processor.relational.SelectNode.nextBatchDirect(SelectNode.java:104)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282)
> at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:150)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282)
> at org.teiid.query.processor.relational.DupRemoveNode.nextBatchDirect(DupRemoveNode.java:62)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282)
> at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:145)
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151)
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146)
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:472)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:348)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:274)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1153) [rt.jar:1.8.0-internal]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [rt.jar:1.8.0-internal]
> at java.lang.Thread.run(Thread.java:785) [vm.jar:1.8.0-internal]
> 11:21:12,874 DEBUG [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (Worker63_QueryProcessorQueue108178) LDAPSource: returnConnection(6306ef86, false) [1/20]
> 11:21:12,874 WARN [org.teiid.PROCESSOR] (Worker63_QueryProcessorQueue108178) TEIID30020 Processing exception for request 6S71mw5pkfvo.106 'TEIID30504 local: TEIID12002 Failed to create LDAP search context from the specified context name ou=users,dc=redhat,dc=com. Check the table/group name in source to ensure the context exists.'. Originally TeiidProcessingException 'connection closed' LdapClient.java:1604. Enable more detailed logging to see the entire stacktrace.
> 11:21:16,120 DEBUG [org.apache.catalina.session] (ContainerBackgroundProcessor[StandardEngine[jboss.web]]) Start expire sessions StandardManager at 1474903276120 sessioncount 0
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 7 months
[JBoss JIRA] (TEIID-4477) LDAP connector disconnects intermittently with error "TEIID12002"
by Rafael Coutinho (JIRA)
[ https://issues.jboss.org/browse/TEIID-4477?page=com.atlassian.jira.plugin... ]
Rafael Coutinho commented on TEIID-4477:
----------------------------------------
Is it possible to have a hot fix for JDV 6.3?
> LDAP connector disconnects intermittently with error "TEIID12002"
> -----------------------------------------------------------------
>
> Key: TEIID-4477
> URL: https://issues.jboss.org/browse/TEIID-4477
> Project: Teiid
> Issue Type: Bug
> Components: LDAP Connector
> Affects Versions: 8.12.5
> Environment: Red Hat JBoss Data Virtualization - Version 6.3.0
> Reporter: Rafael Coutinho
> Assignee: Steven Hawkins
> Fix For: 9.1, 9.0.5
>
>
> We are using LDAP connector for virtualizing the ldap employee directory data. For some reason every 3 to 4 hours we get a connection error between JDV and LDAP.
> The exception says it could not find the context name, but after restarting it it works again.
> Here is the exception:
> 11:21:12,868 WARN [org.teiid.CONNECTOR] (Worker62_QueryProcessorQueue108177) Connector worker process failed for atomic-request=6S71mw5pkfvo.106.3.19906: org.teiid.translator.TranslatorException: TEIID12002 Failed to create LDAP search context from the specified context name ou=users,dc=redhat,dc=com. Check the table/group name in source to ensure the context exists.
> at org.teiid.translator.ldap.LDAPSyncQueryExecution.createSearchContext(LDAPSyncQueryExecution.java:148) [translator-ldap-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.translator.ldap.LDAPSyncQueryExecution.execute(LDAPSyncQueryExecution.java:130) [translator-ldap-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:364)
> at sun.reflect.GeneratedMethodAccessor184.invoke(Unknown Source) [:1.8.0-internal]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) [rt.jar:1.8.0-internal]
> at java.lang.reflect.Method.invoke(Method.java:508) [rt.jar:2.6 (07-19-2016)]
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy80.execute(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112)
> at org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
> at java.util.concurrent.FutureTask.run(FutureTask.java:277) [rt.jar:1.8.0-internal]
> at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1153) [rt.jar:1.8.0-internal]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [rt.jar:1.8.0-internal]
> at java.lang.Thread.run(Thread.java:785) [vm.jar:1.8.0-internal]
> Caused by: javax.naming.CommunicationException: connection closed [Root exception is java.io.IOException: connection closed]; remaining name 'ou=users,dc=redhat,dc=com'
> at com.sun.jndi.ldap.LdapCtx.doSearch(LdapCtx.java:2014) [rt.jar:1.8.0-internal]
> at com.sun.jndi.ldap.LdapCtx.doSearchOnce(LdapCtx.java:1945) [rt.jar:1.8.0-internal]
> at com.sun.jndi.ldap.LdapCtx.c_lookup(LdapCtx.java:1039) [rt.jar:1.8.0-internal]
> at com.sun.jndi.toolkit.ctx.ComponentContext.p_lookup(ComponentContext.java:554) [rt.jar:1.8.0-internal]
> at com.sun.jndi.toolkit.ctx.PartialCompositeContext.lookup(PartialCompositeContext.java:189) [rt.jar:1.8.0-internal]
> at com.sun.jndi.toolkit.ctx.PartialCompositeContext.lookup(PartialCompositeContext.java:178) [rt.jar:1.8.0-internal]
> at javax.naming.InitialContext.lookup(InitialContext.java:428) [rt.jar:1.8.0-internal]
> at javax.naming.InitialContext.lookup(InitialContext.java:428) [rt.jar:1.8.0-internal]
> at org.teiid.resource.adapter.ldap.LDAPConnectionImpl.lookup(LDAPConnectionImpl.java:193)
> at org.teiid.translator.ldap.LDAPSyncQueryExecution.createSearchContext(LDAPSyncQueryExecution.java:146) [translator-ldap-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> ... 18 more
> Caused by: java.io.IOException: connection closed
> at com.sun.jndi.ldap.LdapClient.ensureOpen(LdapClient.java:1604) [rt.jar:1.8.0-internal]
> at com.sun.jndi.ldap.LdapClient.search(LdapClient.java:542) [rt.jar:1.8.0-internal]
> at com.sun.jndi.ldap.LdapCtx.doSearch(LdapCtx.java:1997) [rt.jar:1.8.0-internal]
> ... 27 more
> 11:21:12,871 ERROR [org.teiid.CONNECTOR] (Worker63_QueryProcessorQueue108178) null: java.lang.NullPointerException
> at org.teiid.translator.ldap.LDAPSyncQueryExecution.close(LDAPSyncQueryExecution.java:186) [translator-ldap-8.12.5.redhat-8.jar:8.12.5.redhat-8]
> at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.close(ConnectorWorkItem.java:255)
> at sun.reflect.GeneratedMethodAccessor185.invoke(Unknown Source) [:1.8.0-internal]
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) [rt.jar:1.8.0-internal]
> at java.lang.reflect.Method.invoke(Method.java:508) [rt.jar:2.6 (07-19-2016)]
> at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
> at com.sun.proxy.$Proxy80.close(Unknown Source)
> at org.teiid.dqp.internal.process.DataTierTupleSource.fullyCloseSource(DataTierTupleSource.java:338)
> at org.teiid.dqp.internal.process.DataTierTupleSource.exceptionOccurred(DataTierTupleSource.java:394)
> at org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:161)
> at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:391)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282)
> at org.teiid.query.processor.relational.SelectNode.nextBatchDirect(SelectNode.java:104)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282)
> at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:150)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282)
> at org.teiid.query.processor.relational.DupRemoveNode.nextBatchDirect(DupRemoveNode.java:62)
> at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:282)
> at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:145)
> at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151)
> at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146)
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:472)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:348)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:274)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1153) [rt.jar:1.8.0-internal]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [rt.jar:1.8.0-internal]
> at java.lang.Thread.run(Thread.java:785) [vm.jar:1.8.0-internal]
> 11:21:12,874 DEBUG [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (Worker63_QueryProcessorQueue108178) LDAPSource: returnConnection(6306ef86, false) [1/20]
> 11:21:12,874 WARN [org.teiid.PROCESSOR] (Worker63_QueryProcessorQueue108178) TEIID30020 Processing exception for request 6S71mw5pkfvo.106 'TEIID30504 local: TEIID12002 Failed to create LDAP search context from the specified context name ou=users,dc=redhat,dc=com. Check the table/group name in source to ensure the context exists.'. Originally TeiidProcessingException 'connection closed' LdapClient.java:1604. Enable more detailed logging to see the entire stacktrace.
> 11:21:16,120 DEBUG [org.apache.catalina.session] (ContainerBackgroundProcessor[StandardEngine[jboss.web]]) Start expire sessions StandardManager at 1474903276120 sessioncount 0
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 7 months
[JBoss JIRA] (TEIID-4482) Not null not enforced with temp table expression
by Steven Hawkins (JIRA)
Steven Hawkins created TEIID-4482:
-------------------------------------
Summary: Not null not enforced with temp table expression
Key: TEIID-4482
URL: https://issues.jboss.org/browse/TEIID-4482
Project: Teiid
Issue Type: Bug
Components: Query Engine
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Fix For: 9.1, 9.0.5
A table defined as:
create local temporary table x (e1 string not null, e2 integer, primary key (e2))
such that the pk is not in the first position, will allow an insert such as:
insert into x (e1, e2) values ((select null), 1)
to succeed because the nullability will be checked against the declared positioning, and not the temptable positioning (in which the pk is first).
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 7 months
[JBoss JIRA] (TEIID-4481) Support for the upsert statement which is provided by Salesforce API
by Thomas Esche (JIRA)
Thomas Esche created TEIID-4481:
-----------------------------------
Summary: Support for the upsert statement which is provided by Salesforce API
Key: TEIID-4481
URL: https://issues.jboss.org/browse/TEIID-4481
Project: Teiid
Issue Type: Sub-task
Components: Connector API, Query Engine, Salesforce Connector, VDB
Reporter: Thomas Esche
Assignee: Steven Hawkins
The Salesforce API provides a "upsert" statement, which combines insert and update functionality.
It would be great to use these feature either by using
- the connector directly or
- the UDF's or
- per SQL.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
7 years, 7 months