[ 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)