[JBoss JIRA] (TEIID-4516) Add support for updating/deleting child objects
by Van Halbert (JIRA)
[ https://issues.jboss.org/browse/TEIID-4516?page=com.atlassian.jira.plugin... ]
Van Halbert updated TEIID-4516:
-------------------------------
Summary: Add support for updating/deleting child objects (was: Add support for updating child objects)
> Add support for updating/deleting child objects
> -----------------------------------------------
>
> Key: TEIID-4516
> URL: https://issues.jboss.org/browse/TEIID-4516
> Project: Teiid
> Issue Type: Feature Request
> Components: Misc. Connectors
> Affects Versions: 9.2, 8.12.7.6_3
> Reporter: Jan Stastny
> Assignee: Van Halbert
> Priority: Critical
> Fix For: 9.2
>
>
> When using complex pojo with JDG 6.6, updating child tables doesn't do anything. It doesn't update the rows, but neither throws exception.
> The problem appears for both usages of JDG cache (annotated POJOs, protobuf+marshaller). I have following pojo structure:
> {code:plain}
> package org.jboss.qe.jdg.remote.protobuf.complex;
> /* @Indexed */
> message Person {
>
> /* @IndexedField(index=true, store=false) */
> required int32 id = 1;
>
> /* @IndexedField */
> required string name = 2;
>
> /* @IndexedField */
> optional string email = 3;
>
> /* @IndexedField(index=true, store=false) */
> repeated PhoneNumber phones = 4;
> /* @Indexed */
> message Address {
>
> /* @IndexedField */
> required string Address = 1;
>
> /* @IndexedField(index=true, store=false) */
> required string City = 2;
>
> /* @IndexedField(index=true, store=false) */
> required string State = 3;
> }
> /* @IndexedField(index=true, store=false) */
> optional Address address = 5;
> }
>
> /* @Indexed */
> message PhoneNumber {
>
> /* @IndexedField */
> required string number = 1;
> }
> {code}
> That is, one top-level POJO class Person, and two child POJO classes: Address(1-to-1) and PhoneNumber(1-to-N). Neither Address nor PhoneNumber tables could be updated. The DDL is following:
> {code:sql}
> CREATE FOREIGN TABLE Address (
> Address string NOT NULL PRIMARY KEY OPTIONS (NAMEINSOURCE 'address.Address', SEARCHABLE 'Searchable', NATIVE_TYPE 'java.lang.String'),
> City string NOT NULL OPTIONS (NAMEINSOURCE 'address.City', SEARCHABLE 'Searchable', NATIVE_TYPE 'java.lang.String'),
> State string NOT NULL OPTIONS (NAMEINSOURCE 'address.State', SEARCHABLE 'Searchable', NATIVE_TYPE 'java.lang.String'),
> id integer NOT NULL OPTIONS (NAMEINSOURCE 'id', SELECTABLE FALSE, SEARCHABLE 'Searchable', NATIVE_TYPE 'int'),
> CONSTRAINT FK_PERSON FOREIGN KEY(id) REFERENCES Person (id) OPTIONS (NAMEINSOURCE 'address')
> ) OPTIONS (UPDATABLE TRUE);
>
> CREATE FOREIGN TABLE Person (
> id integer NOT NULL OPTIONS (NAMEINSOURCE 'id', SEARCHABLE 'Searchable', NATIVE_TYPE 'int'),
> name string NOT NULL OPTIONS (NAMEINSOURCE 'name', SEARCHABLE 'Searchable', NATIVE_TYPE 'java.lang.String'),
> email string OPTIONS (NAMEINSOURCE 'email', SEARCHABLE 'Searchable', NATIVE_TYPE 'java.lang.String'),
> CONSTRAINT PK_ID PRIMARY KEY(id)
> ) OPTIONS (UPDATABLE TRUE);
>
> CREATE FOREIGN TABLE PhoneNumber (
> number string NOT NULL PRIMARY KEY OPTIONS (NAMEINSOURCE 'phones.number', SEARCHABLE 'Searchable', NATIVE_TYPE 'java.lang.String'),
> id integer NOT NULL OPTIONS (NAMEINSOURCE 'id', SELECTABLE FALSE, SEARCHABLE 'Searchable', NATIVE_TYPE 'int'),
> CONSTRAINT FK_PERSON FOREIGN KEY(id) REFERENCES Person (id) OPTIONS (NAMEINSOURCE 'phones')
> ) OPTIONS (UPDATABLE TRUE);
> {code}
> INSERT queries to prepare data:
> {code:sql}
> INSERT INTO Person(id,name,email) VALUES (1,'name1','email1')
> INSERT INTO Address(id,Address,City,State) VALUES (1,'address1','city1','state1')
> INSERT INTO PhoneNumber(id, number) VALUES (1, '001234567')
> INSERT INTO PhoneNumber(id, number) VALUES (1, '001234568')
> {code}
> UPDATE queries and queries for checking results:
> * 1-to-1
> {code:sql}UPDATE Address SET city='newCity' WHERE id=1{code}
> {code:sql}SELECT * FROM Person,Address{code}
> * 1-to-n
> {code:sql}UPDATE PhoneNumber SET number='newNumber' WHERE id=1{code}
> {code:sql}SELECT * FROM Person,PhoneNumber{code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 5 months
[JBoss JIRA] (TEIID-4533) Change the default max-staleness for the resultset cache to 0
by Steven Hawkins (JIRA)
Steven Hawkins created TEIID-4533:
-------------------------------------
Summary: Change the default max-staleness for the resultset cache to 0
Key: TEIID-4533
URL: https://issues.jboss.org/browse/TEIID-4533
Project: Teiid
Issue Type: Quality Risk
Components: Query Engine, Server
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Fix For: 9.2
We have inherited the property setting for years and have to call it out in several places in the docs. It would be best to default to 0, and instead call out in the docs that cache can be made more tolerant to stale entries.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 5 months
[JBoss JIRA] (TEIID-4366) Provide CORS support on OData Service
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-4366?page=com.atlassian.jira.plugin... ]
Ramesh Reddy edited comment on TEIID-4366 at 10/21/16 11:14 AM:
----------------------------------------------------------------
[~jdurani] and [~jolee] I found in my testing that SDK's _HttpURLConnection_ blocks the setting of the ORIGIN header, thus the issue you report. I think even the CXF HttpClient deep underneath also uses _HttpURLConnection_ The test needs to avoid using this class, I have not spent time figuring out how to do that in JAVA, may be you can try CURL or some perl/python script? As you see above in one of the comments, I used the anjular.js java script for testing.
was (Author: rareddy):
[~jdurani] and [~jolee] I found in my testing that SDK's _HttpURLConnection _ blocks the setting of the ORIGIN header, thus the issue you report. I think even the CXF HttpClient deep underneath also uses _HttpURLConnection_ The test needs to avoid using this class, I have not spent time figuring out how to do that in JAVA, may be you can try CURL or some perl/python script? As you see above in one of the comments, I used the anjular.js java script for testing.
> Provide CORS support on OData Service
> -------------------------------------
>
> Key: TEIID-4366
> URL: https://issues.jboss.org/browse/TEIID-4366
> Project: Teiid
> Issue Type: Enhancement
> Components: OData
> Affects Versions: 8.12
> Reporter: Ramesh Reddy
> Assignee: Ramesh Reddy
> Labels: Alpha3
> Fix For: 9.1, 9.0.4, 8.12.7.6_3
>
>
> Good write up CORS can be found here https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
> OData needs to implement CORS support to be valuable with java script based client development technologies.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 5 months
[JBoss JIRA] (TEIID-4366) Provide CORS support on OData Service
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIID-4366?page=com.atlassian.jira.plugin... ]
Ramesh Reddy commented on TEIID-4366:
-------------------------------------
[~jdurani] and [~jolee] I found in my testing that SDK's _HttpURLConnection _ blocks the setting of the ORIGIN header, thus the issue you report. I think even the CXF HttpClient deep underneath also uses _HttpURLConnection_ The test needs to avoid using this class, I have not spent time figuring out how to do that in JAVA, may be you can try CURL or some perl/python script? As you see above in one of the comments, I used the anjular.js java script for testing.
> Provide CORS support on OData Service
> -------------------------------------
>
> Key: TEIID-4366
> URL: https://issues.jboss.org/browse/TEIID-4366
> Project: Teiid
> Issue Type: Enhancement
> Components: OData
> Affects Versions: 8.12
> Reporter: Ramesh Reddy
> Assignee: Ramesh Reddy
> Labels: Alpha3
> Fix For: 9.1, 9.0.4, 8.12.7.6_3
>
>
> Good write up CORS can be found here https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
> OData needs to implement CORS support to be valuable with java script based client development technologies.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 5 months
[JBoss JIRA] (TEIID-2578) add/remove schema elements
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2578?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-2578:
---------------------------------------
I'll take another pass through as I made the refactoring to DatabaseStore/Storage without considering the remote nature of the service. In general the problem we have is that the locking is based upon a single vm, and can then would call into a shared service potentially with competing state.
> add/remove schema elements
> --------------------------
>
> Key: TEIID-2578
> URL: https://issues.jboss.org/browse/TEIID-2578
> Project: Teiid
> Issue Type: Feature Request
> Components: Query Engine
> Reporter: Ramesh Reddy
> Assignee: Ramesh Reddy
> Fix For: 9.2
>
>
> Schemas are currently static after load. Modifications can only happen with restarts or new versions. We should allow add/drop at runtime.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 5 months