New external APIs have been added. They are all marked with "@since Geode 1.9". You can now create a PdxInstance that will never deserialize to a domain class. Instead it will remain a PdxInstance. The apis call these "stable" pdx instances.
The JDBC connection now uses these stable pdx instances instead of json strings for keys that represent multiple columns. Some internal classes were directly accessing methods on PdxInstanceImpl. Those have been changed to use the InternalPdxInstance interface instead. One method, used by the query system, was on PdxInstanceImpl but did not use any of its state. So this method is now in the query system instead of PdxInstanceImpl. Co-authored-by: @gesterzhou Thank you for submitting a contribution to Apache Geode. In order to streamline the review of the contribution we ask you to ensure the following steps have been taken: ### For all changes: - [ ] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message? - [ ] Has your PR been rebased against the latest commit within the target branch (typically `develop`)? - [ ] Is your initial contribution a single, squashed commit? - [ ] Does `gradlew build` run cleanly? - [ ] Have you written or updated unit tests to verify your changes? - [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)? ### Note: Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible. If you need help, please send an email to [email protected]. [ Full content available at: https://github.com/apache/geode/pull/3076 ] This message was relayed via gitbox.apache.org for [email protected]
