[JBoss JIRA] (TEIID-5282) Add source fully qualified name extension properties
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5282?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-5282.
-----------------------------------
Resolution: Done
Seems like there are no qualms with this approach, so marking as resolved.
teiid_rel:source_fqn is as described above - the name and value pairs in an fqn will be url encoded and use the format name=value/name=value... with the refinement that all name keys are in lower case.
Instead of a single teiid_rel:source_attributes individual properties are added with the teiid_rel:source_ prefix - for JDBC teiid_rel:source_type was added to track the table type.
The property was added only to tables - so that will need to be expanded later. It was also added only to the initial subset of sources that we are likely to support in the near-term. Still need to add to: Accumulo, Cassandra, Couchbase, Excel, Odata 2, Infinispan, Solr, Swagger, and WSDL.
> Add source fully qualified name extension properties
> ----------------------------------------------------
>
> Key: TEIID-5282
> URL: https://issues.jboss.org/browse/TEIID-5282
> Project: Teiid
> Issue Type: Enhancement
> Components: Misc. Connectors
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Fix For: 10.2
>
>
> To support TEIIDTOOLS-362 and in general the lookup of source objects by a name other than the Teiid name, we need to add a fully qualified name property.
> The proposal would look like an ldap name containing both the name/parts:
> create foreign table "schemaName.tableName" (...) options ('teiid_rel:fqn' 'catalog:catalogName/schema:schemaName/table:tableName');
> The names will reflect the constructs for each source:
> google: 'worksheet:name/sheet:name'
> salesforce: 'sObject:name'
> etc.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 9 months
[JBoss JIRA] (TEIID-5290) NOW() function returns the same value for each call in BEGIN...END block
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5290?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-5290.
-----------------------------------
Fix Version/s: 10.1.3
10.0.5
Resolution: Done
Resolved by adding a new determinism level down to the instruction level. This will keep the expected behavior by queries and in stored procedures - but does not fully match the behavior of other databases. The docs were updated to note this behavior.
> NOW() function returns the same value for each call in BEGIN...END block
> ------------------------------------------------------------------------
>
> Key: TEIID-5290
> URL: https://issues.jboss.org/browse/TEIID-5290
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 10.1
> Environment: teiid-10.1.0 on WildFly Full 11.0.0.Final (WildFly Core 3.0.8.Final)
> Reporter: dalex dalex
> Assignee: Steven Hawkins
> Fix For: 10.2, 10.1.3, 10.0.5
>
>
> Run the following queries:
> {code:sql}
> BEGIN
> declare timestamp ts1 = select now();
> DECLARE integer c = 20000;
> WHILE (c > 0)
> BEGIN
> c= c-1;
> END
> declare timestamp ts2 = select now();
> select ts1, ts2;
> END ;;
> {code}
> and
> {code:sql}
> BEGIN
> DECLARE integer c = 20000;
> create local temporary table #tem(ts timestamp);
> WHILE (c > 0)
> BEGIN
> INSERT INTO #tem VALUES((select NOW()));
> c= c-1;
> END
> select * from #tem;
> END ;;
> {code}
> NOW() function returns the same value for each call in BEGIN...END block and it doesn't matter if it is atomic or not.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 9 months
[JBoss JIRA] (TEIID-5290) NOW() function returns the same value for each call in BEGIN...END block
by dalex dalex (JIRA)
[ https://issues.jboss.org/browse/TEIID-5290?page=com.atlassian.jira.plugin... ]
dalex dalex commented on TEIID-5290:
------------------------------------
ok, great. Thx a lot!
> NOW() function returns the same value for each call in BEGIN...END block
> ------------------------------------------------------------------------
>
> Key: TEIID-5290
> URL: https://issues.jboss.org/browse/TEIID-5290
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 10.1
> Environment: teiid-10.1.0 on WildFly Full 11.0.0.Final (WildFly Core 3.0.8.Final)
> Reporter: dalex dalex
> Assignee: Steven Hawkins
> Fix For: 10.2
>
>
> Run the following queries:
> {code:sql}
> BEGIN
> declare timestamp ts1 = select now();
> DECLARE integer c = 20000;
> WHILE (c > 0)
> BEGIN
> c= c-1;
> END
> declare timestamp ts2 = select now();
> select ts1, ts2;
> END ;;
> {code}
> and
> {code:sql}
> BEGIN
> DECLARE integer c = 20000;
> create local temporary table #tem(ts timestamp);
> WHILE (c > 0)
> BEGIN
> INSERT INTO #tem VALUES((select NOW()));
> c= c-1;
> END
> select * from #tem;
> END ;;
> {code}
> NOW() function returns the same value for each call in BEGIN...END block and it doesn't matter if it is atomic or not.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 9 months
[JBoss JIRA] (TEIID-5290) NOW() function returns the same value for each call in BEGIN...END block
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-5290?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-5290:
---------------------------------------
> Maybe the second option better? Or it will take much time?
I'll go for the second option from the perspective of backwards compatibility for usage scenarios like yours with stored procedures. I don't think it should take long. I will likely have something today. It will just need to be documented accordingly as the behavior will be idiosyncratic to Teiid, but that appears to be ok.
> NOW() function returns the same value for each call in BEGIN...END block
> ------------------------------------------------------------------------
>
> Key: TEIID-5290
> URL: https://issues.jboss.org/browse/TEIID-5290
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 10.1
> Environment: teiid-10.1.0 on WildFly Full 11.0.0.Final (WildFly Core 3.0.8.Final)
> Reporter: dalex dalex
> Assignee: Steven Hawkins
> Fix For: 10.2
>
>
> Run the following queries:
> {code:sql}
> BEGIN
> declare timestamp ts1 = select now();
> DECLARE integer c = 20000;
> WHILE (c > 0)
> BEGIN
> c= c-1;
> END
> declare timestamp ts2 = select now();
> select ts1, ts2;
> END ;;
> {code}
> and
> {code:sql}
> BEGIN
> DECLARE integer c = 20000;
> create local temporary table #tem(ts timestamp);
> WHILE (c > 0)
> BEGIN
> INSERT INTO #tem VALUES((select NOW()));
> c= c-1;
> END
> select * from #tem;
> END ;;
> {code}
> NOW() function returns the same value for each call in BEGIN...END block and it doesn't matter if it is atomic or not.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 9 months
[JBoss JIRA] (TEIID-5290) NOW() function returns the same value for each call in BEGIN...END block
by dalex dalex (JIRA)
[ https://issues.jboss.org/browse/TEIID-5290?page=com.atlassian.jira.plugin... ]
dalex dalex commented on TEIID-5290:
------------------------------------
> 1. add a switch to turn on the old function implementation
> 2. create a new determinism level between command and non-deterministic that goes down to the procedure statement level.
good options, hm, I even don't know which one will be better. The first option can be implemented very quickly but from another point of view we should explicitly turn it on or off. What do you think as well? Maybe the second option better? Or it will take much time?
> NOW() function returns the same value for each call in BEGIN...END block
> ------------------------------------------------------------------------
>
> Key: TEIID-5290
> URL: https://issues.jboss.org/browse/TEIID-5290
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 10.1
> Environment: teiid-10.1.0 on WildFly Full 11.0.0.Final (WildFly Core 3.0.8.Final)
> Reporter: dalex dalex
> Assignee: Steven Hawkins
> Fix For: 10.2
>
>
> Run the following queries:
> {code:sql}
> BEGIN
> declare timestamp ts1 = select now();
> DECLARE integer c = 20000;
> WHILE (c > 0)
> BEGIN
> c= c-1;
> END
> declare timestamp ts2 = select now();
> select ts1, ts2;
> END ;;
> {code}
> and
> {code:sql}
> BEGIN
> DECLARE integer c = 20000;
> create local temporary table #tem(ts timestamp);
> WHILE (c > 0)
> BEGIN
> INSERT INTO #tem VALUES((select NOW()));
> c= c-1;
> END
> select * from #tem;
> END ;;
> {code}
> NOW() function returns the same value for each call in BEGIN...END block and it doesn't matter if it is atomic or not.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 9 months