[
https://issues.apache.org/jira/browse/GEODE-6272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16744434#comment-16744434
]
ASF subversion and git services commented on GEODE-6272:
--------------------------------------------------------
Commit 56fda39a8ab41fc9ffeddb3da13322eaa1516084 in geode's branch
refs/heads/develop from Darrel Schneider
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=56fda39 ]
GEODE-6272: change jdbc to use pdx as keys instead of json (#3076)
Composite keys for the jdbc connector must now be PdxInstances created with
"neverDeserialize".
* added PdxInstanceFactory.neverDeserialize and PdxInstance.isDeserializable as
new external APIs.
* improved the InternalPdxInstance interface to include Sendable.
Also this interface is now implemented by the pdx enum classes.
So now all classes that implement PdxInstance also implement InternalPdxInstance
* getCacheObject is now on the InternalPdxInstance interface.
* getRawField is now in the InternalPdxInstance interface.
A method that was on PdxInstanceImpl but only used by AttributeDescriptor
and that did not use any PdxInstanceImpl data is now on AttributeDescriptor.
This also got rid of a singleton lookup of the cache.
* removed unused FieldNotFoundInPdxVersion
* removed PdxFieldNotFoundException
> the JDBC connector should use PDX instances instead of JSON for composite keys
> ------------------------------------------------------------------------------
>
> Key: GEODE-6272
> URL: https://issues.apache.org/jira/browse/GEODE-6272
> Project: Geode
> Issue Type: Improvement
> Components: docs, extensions
> Reporter: Darrel Schneider
> Assignee: Darrel Schneider
> Priority: Major
> Labels: pull-request-available
> Time Spent: 1h 50m
> Remaining Estimate: 0h
>
> *As a* GemFire user with composite keys
> *I want to* to replace JSON with PDX for these keys
> *so that I can* support any order for the keys and have minimal memory impact.
> ----
> *Acceptance Criteria:*
> *Given* a jdbc-mapping uses a composite key
> *When* I do CRUD operations on data in the region
> *Then* I must specify the key as a "stable" PDX instance that contains fields
> that match those specified by {{--id}}.
> *Given* an existing cache with a jdbc-mapping that uses a composite key
> *When* I want to specify a composite key for a CRUD operation
> *Then* I have a method on the cache to create a "stable" PDX instance.
> *Given* an existing cache with a jdbc-mapping that uses a composite key
> *When* I want to specify a composite key for a CRUD operation
> *Then* I have a method on the cache to create a "stable" PDX instance and the
> order of fields in the composite key doesn't matter.
> *Given* an existing cache with pdx-read-serialized is set to false
> *When* I do an operation that triggers deserialization of a "stable" PDX
> instance
> *Then* the "stable" PDX instance will be deserialized as the same "stable"
> PDX instance.
> *Given* a "stable" PDX instance
> *When* I call its getObject method
> *Then* it will return the same "stable" PDX instance.
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)