Minutes: JDO TCK Conference Call Thursday July 27, 9:30 AM Pacific Daylight Time (PDT)

2017-07-27 Thread Craig Russell
Attendees: Michael Bouschen, Craig Russell

Next meeting August 2 2017 at 9:30 AM PDT

Agenda:

1. JDO-764 "Allow JDO annotations to be used in meta-annotations" 
https://issues.apache.org/jira/browse/JDO-764

Without the ability to merge annotations, Craig sees little value in 
meta-annotations. They only would apply to cases where there are no 
context-specific values such as table name, index name, or column name. Then we 
would have a set of annotations that could be used in meta-annotations and a 
set that could not. AI Craig update the JIRA.

2. JDO-761 "Add TCK test running sample queries from the spec" 
https://issues.apache.org/jira/browse/JDO-761

AI Michael review specification Ch14 changes and accept/check in the 
non-controversial ones.

AI Michael look at adding text to the specification for named queries and 
single string queries in examples 9, 12, and 17.

3. JDO-760 "Spec update regarding whether Query.execute() returns List or 
Collection" https://issues.apache.org/jira/browse/JDO-760

4. Is anything still unresolved with JDO-749 "Support for java.time types, and 
querying using associated methods" https://issues.apache.org/jira/browse/JDO-749

5. Is anything still unresolved with JDO-745 "Support bitwise operations in 
JDOQL" https://issues.apache.org/jira/browse/JDO-745

6. JDO 3.1: Need to go through change lists in JIRA for 3.1 RC1 and 3.1 to 
prepare JCP Change Log

7. Other issues

Action Items from weeks past:

[Feb 24 2017] AI Michael: are there any TCK tests for the new methods JDO-749?
[Feb 24 2017] AI Michael: are there any TCK tests for the new methods? Any 
additional spec updates JDO-745?
[Oct 30 2015] AI Craig: File a maintenance review with JCP
[Apr 17 2015] AI Craig: Oracle spec page on JDO need to be updated once the JCP 
Maintenance Release for JDO 3.1 is published
[Oct 17 2014] AI Matthew any updates for "Modify specification to address NoSQL 
datastores": https://issues.apache.org/jira/browse/JDO-651?
[Feb 28 2014] AI Everyone: take a look at 
https://issues.apache.org/jira/browse/JDO-712
[Feb 28 2014] AI Everyone: take a look at 
https://issues.apache.org/jira/browse/JDO-625
[Dec 13 2013] AI Craig file a JIRA for java.sql.Blob and java.sql.Clob as 
persistent field types
[Aug 24 2012] AI Craig update the JIRAs JDO-689 JDO-690 and JDO-692 about 
JDOHelper methods. In process.

Craig L Russell
c...@apache.org



[jira] [Commented] (JDO-760) Spec update regarding whether Query.execute() returns List or Collection

2017-07-27 Thread JIRA

[ 
https://issues.apache.org/jira/browse/JDO-760?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16103094#comment-16103094
 ] 

Tilmann Zäschke commented on JDO-760:
-

I have updated Chapter 14 of the spec with the following examples: 01b, 02b, 
03a, 04b, 05a, 06b, 07b, 08c, 09c, 10c, 11c, 12b, 13c, 14c, 15c, 16c, 17b, 18b, 
19b.


> Spec update regarding whether Query.execute() returns List or Collection
> 
>
> Key: JDO-760
> URL: https://issues.apache.org/jira/browse/JDO-760
> Project: JDO
>  Issue Type: Improvement
>  Components: specification
>Affects Versions: JDO 3.1
>Reporter: Tilmann Zäschke
>Assignee: Tilmann Zäschke
>Priority: Trivial
>  Labels: documentation
> Fix For: JDO 3.2
>
>
> The spec says in Section 14.6.1 that Query.execute() returns an unmodifiable 
> {{List}}.
> However, the text in Section 14.3 ('uniquenes'), Section 14.10.2 and all 
> examples in Section 14.10 suggest that a {{Collection}} is returned. I 
> suggest updating the spec to refer to {{List}} in the listed sections.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (JDO-764) Allow JDO annotations to be used in meta-annotations

2017-07-27 Thread Andy Jefferson (JIRA)

[ 
https://issues.apache.org/jira/browse/JDO-764?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16103024#comment-16103024
 ] 

Andy Jefferson commented on JDO-764:


Why does the patch result in things like this

@PersistenceCapable(table="...")
@PersistenceCapable(detachable="true", identityType=IdentityType.DATASTORE)
@DatastoreIdentity(strategy=IdGeneratorStrategy.IDENTITY, 
column="DATASTORE_IDENTITY")
@Discriminator(strategy=DiscriminatorStrategy.CLASS_NAME, 
column="DISCRIMINATOR", indexed="true")
@Inheritance(strategy=InheritanceStrategy.NEW_TABLE)
public class XXX {...}

You have duplicated @PersistenceCapable, so which will be used ? likely the 
first that is presented to the accessing code by Java. 
No "merging" will take place in DataNucleus code, because it should never 
expect such things. The proposal to support "meta-annotations" was not a 
proposal to support merging of duplicated annotations (with normal annotation 
usage you will never get duplications, so there is no basic requirement to 
support merging there)

> Allow JDO annotations to be used in meta-annotations
> 
>
> Key: JDO-764
> URL: https://issues.apache.org/jira/browse/JDO-764
> Project: JDO
>  Issue Type: Improvement
>  Components: api, specification
>Affects Versions: JDO 3.1
>Reporter: Andy Jefferson
> Fix For: JDO 3.2
>
> Attachments: jdo-764.patch
>
>
> By default annotations are used directly in a persistable class. Java 
> additionally allows annotations to be formed of other annotations. This is 
> particularly useful where a user has a particular combination of annotations 
> to set on a class/field/method and wants to simply annotate with an 
> abbreviated form. For example, specifying attributes of an annotation
> @PersistenceCapable(detachable="true", identityType="datastore", 
> embeddedOnly="true")
> or formed of multiple annotations
> @PersistenceCapable(detachable="true")
> @Extension(vendorName="datanucleus", key="multitenancy-column-name", 
> value="TENANT")
> These can be represented as meta-annotations like this
> @Target(TYPE)
> @Retention(RUNTIME)
> @PersistenceCapable(detachable="true", identityType="datastore", 
> embeddedOnly="true")
> public @interface DatastoreIdPersistable
> {
> }
> @Target(TYPE)
> @Retention(RUNTIME)
> @PersistenceCapable(detachable="true")
> @Extension(vendorName="datanucleus", key="multitenancy-column-name", 
> value="TENANT")
> public @interface MultitenantPersistable
> {
> }
> and the user can subsequently just annotate their persistable class as
> @DatastoreIdPersistable
> public class MyClass1 {...}
> @MultitenantPersistable
> public class MyClass2 {...}
> The work required to support this in the JDO spec is simply to update the 
> following annotations to add @Target({ElementType.ANNOTATION_TYPE})
> The annotations requiring this are
> @Element, @EmbeddedId, @Key, @NotPersistent, @Order, @Persistent, 
> @Serialized, @Transactional, and @Value  (all other annotations already have 
> @Target({ElementType.TYPE}) which already permits their usage in 
> meta-annotations.
> The same is proposed for JPA 2.2, see 
> https://github.com/javaee/jpa-spec/issues/43



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)