-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Array of Primitives: RealmObjectSchema support #5329
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
273 commits
Select commit
Hold shift + click to select a range
501d6b2
Merge branch 'master-4.0' into my/primitive_list_6_OsList
zaki50 80c963e
Merge branch 'my/primitive_list_6_OsList' into my/primitive_list_7_Sc…
zaki50 d4333f1
Merge branch 'my/primitive_list_7_Schema' into my/primitive_list_8_an…
zaki50 b305367
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 c48bee2
throw an exception if query or aggregation feature is used for primit…
zaki50 8b07850
add realm field types
zaki50 df0e6a0
SchemaInfo for primitive list
zaki50 7c420cc
Merge branch 'my/primitive_list_7_Schema' into my/primitive_list_8_an…
zaki50 ed554e9
fix a bug
zaki50 392a877
Merge branch 'my/primitive_list_7_Schema' into my/primitive_list_8_an…
zaki50 2f38412
fix a bug
zaki50 395fc8b
Merge branch 'my/primitive_list_7_Schema' into my/primitive_list_8_an…
zaki50 86bd3d4
fix tests
zaki50 a097d8f
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 1892469
Merge branch 'master-4.0' into feature/primitive_list
zaki50 8cd8e13
Merge branch 'feature/primitive_list' into my/primitive_list_6_OsList
zaki50 cdf9585
Merge branch 'my/primitive_list_6_OsList' into my/primitive_list_7_Sc…
zaki50 ba3daaa
Merge branch 'my/primitive_list_7_Schema' into my/primitive_list_8_an…
zaki50 2b007a4
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 84aca51
address findbugs issues
zaki50 94b109b
added Javadoc comment and RealmList.toArray()
zaki50 04c04c1
fix bug
zaki50 c505b4d
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 799ee7e
Draft implementation of accessor context
beeender c1d2396
implement Primitive List logic for copy() and insert()
zaki50 9654a68
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 5243cd6
implement Primitive List logic for insert(Realm, Iterator,...)
zaki50 36c23ec
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 7cc7ae5
generate code for primitive list in update(), insertOrUpdate()
zaki50 8fb4430
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 535563c
minor refactoring
zaki50 125b88b
Merge branch 'master-4.0' into feature/primitive_list
zaki50 d00f93f
Merge branch 'feature/primitive_list' into my/primitive_list_6_OsList
zaki50 d863ddc
Merge branch 'my/primitive_list_6_OsList' into my/primitive_list_7_Sc…
zaki50 4e16256
Merge branch 'my/primitive_list_7_Schema' into my/primitive_list_8_an…
zaki50 3a9cc02
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 53d88ee
implement primitive list supprt for copyFromRealm()
zaki50 40a2006
Merge branch 'my/primitive_list_7_Schema' into mc/primitive_list_10_o…
zaki50 2715ce4
Merge branch 'mc/primitive_list_10_oslist_JNI' into my/primitive_list…
zaki50 1464120
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 780bb4b
Merge branch 'master' into feature/primitive_list
zaki50 de1355d
Merge branch 'feature/primitive_list' into my/primitive_list_6_OsList
zaki50 d37e6a2
Merge branch 'my/primitive_list_6_OsList' into my/primitive_list_7_Sc…
zaki50 7d57d50
Merge branch 'my/primitive_list_7_Schema' into mc/primitive_list_10_o…
zaki50 7e81516
Merge branch 'mc/primitive_list_10_oslist_JNI' into my/primitive_list…
zaki50 b328e39
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 7d48934
fixed a bug that getFieldType returns UNSUPPORTED_TABLE and isColumnN…
zaki50 5627cb1
Merge branch 'my/primitive_list_7_Schema' into mc/primitive_list_10_o…
zaki50 a43e1a7
Merge branch 'mc/primitive_list_10_oslist_JNI' into my/primitive_list…
zaki50 b50a4d4
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 6738f1d
added a test to get field meta data of primitive lists
zaki50 af7cec4
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 202f59a
Merge remote-tracking branch 'origin/master' into feature/primitive_list
beeender 32d3aba
Merge branch 'feature/primitive_list' into my/primitive_list_6_OsList
beeender 094437f
Merge branch 'my/primitive_list_6_OsList' into my/primitive_list_7_Sc…
beeender 3417036
Merge branch 'my/primitive_list_7_Schema' into mc/primitive_list_10_o…
beeender 965def3
Merge branch 'mc/primitive_list_10_oslist_JNI' into my/primitive_list…
beeender 7c9ed74
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
beeender 87300f2
Add accessor context for string and bytes[]
beeender 5d3e7b3
fix test
zaki50 0990d92
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 2f5d0f0
fix #5233
zaki50 b6f7930
move ManagedListOperator classes from the inside of RealmList to outside
zaki50 60aafd1
Merge branch 'mc/primitive_list_10_oslist_JNI' into my/primitive_list…
zaki50 35dfd99
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 b18a135
Commit missing file
beeender ac3beb0
Merge branch 'mc/primitive_list_10_oslist_JNI' into my/primitive_list…
zaki50 6e83c90
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 1ee2cf4
reformat code
zaki50 a2c65f3
Changed to throw IllegalArgumentException instead of IllegalStateExce…
zaki50 ebac9c1
Merge branch 'mc/primitive_list_10_oslist_JNI' into my/primitive_list…
zaki50 625c3d6
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 5955ef4
Implement special handling for byte[] in RealmList
zaki50 24fa44b
Merge branch 'master' into feature/primitive_list
zaki50 82ac176
Merge branch 'feature/primitive_list' into my/primitive_list_6_OsList
zaki50 146bc19
Merge branch 'my/primitive_list_6_OsList' into my/primitive_list_7_Sc…
zaki50 a4b4d72
Merge branch 'my/primitive_list_7_Schema' into mc/primitive_list_10_o…
zaki50 439c69a
Merge branch 'mc/primitive_list_10_oslist_JNI' into my/primitive_list…
zaki50 4c6ac92
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 8560532
Fix build on x86_64
beeender a0db053
avoid unnecessary looping
zaki50 b7ab7d7
use fqcn when makeing a string of value type.
zaki50 e837379
fix RealmList.toString()
zaki50 0fb5ed3
Primitive List feature(Part6: OsList) (#5208)
zaki50 afaf891
Merge branch 'master' into feature/primitive_list
zaki50 df751f6
Merge commit '0fb5ed3' into feature/primitive_list
zaki50 c47c203
Merge branch 'feature/primitive_list' into my/primitive_list_7_Schema
zaki50 cea9a95
Merge branch 'my/primitive_list_7_Schema' into mc/primitive_list_10_o…
zaki50 477845e
Merge branch 'mc/primitive_list_10_oslist_JNI' into my/primitive_list…
zaki50 2183bc9
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 8063604
Fix findbugs
beeender c7cf446
fix a bug
zaki50 ccd95a2
Merge branch 'master' into feature/primitive_list
zaki50 0720b06
Merge branch 'feature/primitive_list' into my/primitive_list_7_Schema
zaki50 0c74291
Merge branch 'my/primitive_list_7_Schema' into mc/primitive_list_10_o…
zaki50 3b74154
Merge branch 'mc/primitive_list_10_oslist_JNI' into my/primitive_list…
zaki50 dfa644d
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 ff3c205
Remove RealmFieldType.isList()
beeender ea0c317
Rephrase
beeender 66557fd
fix bugs
zaki50 b4ff2e0
add instrumentation tests
zaki50 674c647
Merge branch 'master' into feature/primitive_list
zaki50 bbb925d
Merge branch 'feature/primitive_list' into my/primitive_list_7_Schema
zaki50 55f5663
Merge branch 'my/primitive_list_7_Schema' into mc/primitive_list_10_o…
zaki50 192f572
Merge branch 'mc/primitive_list_10_oslist_JNI' into my/primitive_list…
zaki50 665a090
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 e2e2d93
remove unused variable
zaki50 494578f
Merge branch 'my/primitive_list_7_Schema' into mc/primitive_list_10_o…
zaki50 9df91fa
Merge branch 'mc/primitive_list_10_oslist_JNI' into my/primitive_list…
zaki50 1bfcbec
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 0ad34c4
fix a bug that annotation processor always generates schema of primit…
zaki50 27f2212
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 6b67f01
add a constructor to create non-null primitive list
zaki50 f1cdcb6
Merge branch 'mc/primitive_list_10_oslist_JNI' into my/primitive_list…
zaki50 87e6ed9
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 4f62fa6
fix nativeIsColumnNullable
zaki50 38b25a5
Merge branch 'my/primitive_list_7_Schema' into mc/primitive_list_10_o…
zaki50 873ab52
Merge branch 'mc/primitive_list_10_oslist_JNI' into my/primitive_list…
zaki50 ef24542
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 4044eb6
fix compilation error
zaki50 6f1788e
Merge branch 'my/primitive_list_7_Schema' into mc/primitive_list_10_o…
zaki50 50a7ba8
Merge branch 'mc/primitive_list_10_oslist_JNI' into my/primitive_list…
zaki50 375d3d9
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 676c6e3
fix implementation of RealmList.remove(Object)
zaki50 f354cea
fix RealmListTests
zaki50 57be25f
fix RealmListTests
zaki50 8ff3de5
Handle non-null primitive list in JNI
beeender d790a86
Primitive List feature(Part7: Schema) (#5209)
zaki50 c364668
Merge branch 'feature/primitive_list' into mc/primitive_list_10_oslis…
zaki50 e35ff91
Merge branch 'mc/primitive_list_10_oslist_JNI' into my/primitive_list…
zaki50 ab29e5d
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 4211526
added tests for 'copyToRealm()' and 'copyFromRealm()'
zaki50 f4c75f6
added tests for non-null primitive list
zaki50 d48107a
fix test
zaki50 ec0feef
introduced OsObjectSchemaInfoaddPersistedValueListProperty() for prim…
zaki50 067bd1f
Merge branch 'mc/primitive_list_10_oslist_JNI' into my/primitive_list…
zaki50 e6549f7
use OsObjectSchemaInfo.addPersistedValueListProperty()
zaki50 072518d
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 2fd41f0
reformat
zaki50 f3f734d
Move list type check to CheckedRow
beeender 637790e
Merge branch 'mc/primitive_list_10_oslist_JNI' into my/primitive_list…
zaki50 2864ab1
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 787b1cc
add size check to OsListTests.addNull_insertNull_setNull_requiredList…
zaki50 65cb83c
fix test
zaki50 86561b5
Merge branch 'mc/primitive_list_10_oslist_JNI' into my/primitive_list…
zaki50 69fbdf5
introduce Row.getModelList() and Row.getValueList() to check field ty…
zaki50 4f99c61
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 0e5b09e
Check nullable and throw ealier in JNI
beeender f276882
Remove fixme and useless code
beeender d0a0334
Merge branch 'mc/primitive_list_10_oslist_JNI' into my/primitive_list…
zaki50 92d0765
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 cf120e2
update nullablility annotations
zaki50 ec053e0
Merge branch 'mc/primitive_list_10_oslist_JNI' into my/primitive_list…
zaki50 889f892
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 d4ee982
update test case to expose an issue
zaki50 815bad7
Revert non-related changes
beeender b22c309
address review feedback
zaki50 d9707d7
add notice to Realm.*Json*()
zaki50 77d68cf
simplify Proxy's createDetachedCopy()
zaki50 a0fb560
Support listener on OsList
beeender 7961a64
Merge pull request #5216 from realm/mc/primitive_list_10_oslist_JNI
beeender 4400ab3
stop to add backlink field into nullable field list
zaki50 8c9e60f
add comments to ClassMetaData.hasRequiredAnnotation() and ClassMetaD…
zaki50 557f216
move Utils.getRealmListElementTypeMirror() to TypeMirrors class.
zaki50 1fd1b00
fix exception message
zaki50 c036e8c
add class comment to TypeMirrors
zaki50 76cbde4
add TODO comment
zaki50 c1dc3f0
Merge branch 'feature/primitive_list' into my/primitive_list_8_annota…
zaki50 7f0ed76
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 3d611a7
Merge branch 'my/primitive_list_9_RealmList' into mc/primitive_list_1…
zaki50 0c8dde8
Merge branch 'master' into feature/primitive_list
zaki50 88b4b66
Merge branch 'feature/primitive_list' into my/primitive_list_8_annota…
zaki50 3241a87
Merge branch 'my/primitive_list_8_annotation_processor' into my/primi…
zaki50 ef2aa91
Merge branch 'my/primitive_list_9_RealmList' into mc/primitive_list_1…
zaki50 9811cbe
Primitive List feature(Part8: Annotation processor implementation) (#…
zaki50 70d83aa
Merge branch 'feature/primitive_list' into my/primitive_list_9_RealmList
zaki50 e179fd5
Merge branch 'my/primitive_list_9_RealmList' into mc/primitive_list_1…
zaki50 db550a7
remove outdate comment
zaki50 078041a
fix todo comment
zaki50 5f9dbd4
use custom deleter for shared_ptr<char> that contains char[]
zaki50 7874296
fix failing test
zaki50 eebf152
remove methods to return primitive array
zaki50 1da98b7
Merge branch 'master' into feature/primitive_list
zaki50 fda1d0e
Merge branch 'feature/primitive_list' into my/primitive_list_9_RealmList
zaki50 ae6e91d
Merge branch 'my/primitive_list_9_RealmList' into mc/primitive_list_1…
zaki50 786e63d
Merge branch 'my/primitive_list_9_RealmList' into my/primitive_list_1…
zaki50 bb43a16
Using constans defined in Table class
zaki50 4f5cb68
use assertArrayEquals() instead of assertTrue(Arrays.equals())
zaki50 5e0b43c
add changelog entry about removed methods
zaki50 a3e2407
remove unused code
zaki50 b7d0167
update comment
zaki50 f27b2a2
remove comment
zaki50 e9e960d
update exception message
zaki50 4acc4a2
update thrown.expectMessage() to check exception message
zaki50 676a11b
fix test case name
zaki50 b33bb8e
add assertion for remove/removeAll
zaki50 b7b59bd
update RealmList.toString()
zaki50 a12c0c3
update exception message
zaki50 88ed4ba
fix failing tests
zaki50 06d562d
remove special handling to byte array in RealmList
zaki50 40b1ac2
remove special type conversion via Number in toArray()
zaki50 5817352
Merge branch 'my/primitive_list_9_RealmList' into mc/primitive_list_1…
zaki50 4ff447d
fix failing tests
zaki50 2fee5f7
Merge branch 'my/primitive_list_9_RealmList' into my/primitive_list_1…
zaki50 90affd1
remove unnecessary index checks
zaki50 38bd2bc
refactor ManagedListOperator and its sub-classes
zaki50 c871e8a
use thrown.expectMessage()
zaki50 93a4037
add Javadoc comments to ManagedListOperator and its subclasses
zaki50 31eca1c
Merge branch 'master' into feature/primitive_list
zaki50 e4de8b3
Merge branch 'feature/primitive_list' into my/primitive_list_9_RealmList
zaki50 d798e2d
Merge branch 'my/primitive_list_9_RealmList' into mc/primitive_list_1…
zaki50 3f496e2
Merge branch 'my/primitive_list_9_RealmList' into my/primitive_list_1…
zaki50 c50e0a3
address review comments
zaki50 a1f3d7b
Merge branch 'my/primitive_list_9_RealmList' into mc/primitive_list_1…
zaki50 748f8f0
Merge branch 'my/primitive_list_9_RealmList' into my/primitive_list_1…
zaki50 4c63804
Primitive List feature(Part 9, RealmList) (#5213)
zaki50 9b691ac
Merge branch 'feature/primitive_list' into mc/primitive_list_13_Liste…
zaki50 41e78b8
Merge branch 'feature/primitive_list' into my/primitive_list_14_fix_s…
zaki50 30f57f9
Merge pull request #5266 from realm/my/primitive_list_14_fix_shared_p…
zaki50 e0bb50c
Merge pull request #5259 from realm/mc/primitive_list_13_Listener_on_…
zaki50 7187807
Merge branch 'master' into feature/primitive_list
cmelchior 9e287d4
fix intentation
zaki50 a8c2a22
Merge branch 'master' into cm/cm/primitivelist-schema-support
cmelchior e306e08
Merge branch 'master' into feature/primitive_list
cmelchior 51c5192
Merge branch 'feature/primitive_list' into cm/cm/primitivelist-schema…
cmelchior 0f5ef60
Add preliminary support for adding primitive lists.
cmelchior b56a46c
Add JNI support for switching between nullable and non-nullable.
cmelchior d431a73
Fix bugs in implementation and tests
cmelchior 54fdd63
Fix column indices
cmelchior ee2dacc
Add test for changing existing data
cmelchior 995a3b5
Add tests for primary key and indexed fields
cmelchior b7f0650
Add changelog
cmelchior 87b2852
Fix findbugs
cmelchior 2cd1e3e
Primitive List feature(Part15: Disable RealmList.createSnapshot() whe…
zaki50 068fbce
Merge branch 'master' into feature/primitive_list
cmelchior efa3315
Fix unit test
cmelchior b012689
Merge branch 'feature/primitive_list' into cm/cm/primitivelist-schema…
cmelchior b91cb98
PR feedback
cmelchior 787408e
More cleanup
cmelchior deb9dde
Merge branch 'master' into cm/cm/primitivelist-schema-support
cmelchior a320044
Fix wrong var name
cmelchior 97d35b5
Merge branch 'master' into cm/cm/primitivelist-schema-support
cmelchior 686716b
Remove types no longer visible
cmelchior 45bf86a
Change class type parameter for better readability
cmelchior a25e747
Better javadoc
cmelchior 5a02165
PR feedback
cmelchior a479f31
Ups
cmelchior 14d0679
Fix unit test
cmelchior 3fa8e2e
DynamicRealm support for arrays of primitives (#5351)
cmelchior ca9217c
Rename variables to primitiveType. Better error messages for wrong Cl…
cmelchior File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
334 changes: 301 additions & 33 deletions
334
realm/realm-library/src/androidTest/java/io/realm/DynamicRealmObjectTests.java
Large diffs are not rendered by default.
Oops, something went wrong.
261 changes: 239 additions & 22 deletions
261
realm/realm-library/src/androidTest/java/io/realm/RealmObjectSchemaTests.java
Large diffs are not rendered by default.
Oops, something went wrong.
475 changes: 275 additions & 200 deletions
475
realm/realm-library/src/main/cpp/io_realm_internal_Table.cpp
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think just catching the possible
ClassCastExceptionand re-throwing it with the custom message would be more reliable and less hacky.I like the message though!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The classcast exception would not catch the generic parameter, only if
RealmListwas of the wrong type. Type erasure is a pain :(There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see, I guess it'll do. Thank you! 🙂