Scott Kyle
8e110081cd
Merge pull request #29 from realm/test-failures
...
Test failures now report the real failure location
2015-09-28 18:12:05 -07:00
Scott Kyle
8182c4816f
Add comment to explain regex in TestFailureError
2015-09-28 18:09:59 -07:00
Scott Kyle
4bf67b30bc
Use std::min() for consistency inside ArraySplice
2015-09-28 17:58:23 -07:00
Scott Kyle
1822b0a2d6
Use RJSVerifiedArray inside ArrayPropertyNames
2015-09-28 17:30:15 -07:00
Scott Kyle
675e26e200
Test failures now report the real failure location
...
In the case of test failures, a TestFailureError object is thrown, which removes the last two stack frames so the true source of the failure is revealed to the native code.
Clicking on a failure in the Xcode sidebar will take you to exactly where it occurred now.
Fixes #28
2015-09-28 16:09:03 -07:00
Scott Kyle
70ee822f19
Update splice method to mimic JS standard
...
It now will return the removed elements, and clamps the first two arguments to be acceptable values rather than throwing an exception.
2015-09-28 16:00:24 -07:00
Scott Kyle
37130ceca3
Minor optimization of ArrayPropertyNames
2015-09-28 16:00:24 -07:00
Scott Kyle
38a4e993ae
Minor cleanups in ArrayPop
2015-09-28 16:00:24 -07:00
Scott Kyle
75dc7bd05e
Remove redundant call to verify_attached
2015-09-28 16:00:24 -07:00
Ari Lazier
7007a9a9bb
Merge pull request #24 from realm/tg-realm
...
Merge latest object store changes
2015-09-28 15:56:23 -07:00
Ari Lazier
345043f4c5
update to latest object store code
2015-09-28 15:47:32 -07:00
Ari Lazier
eeadfbfaba
removing files in the wrong place
2015-09-28 15:38:44 -07:00
Thomas Goyne
ae4f9ac30c
Send changes_available() even if autorefresh is enabled
2015-09-28 15:33:45 -07:00
Thomas Goyne
16065f65ad
Add a bit of documentation for RealmDelegate
2015-09-28 15:33:44 -07:00
Ari Lazier
51e0551548
don't reset delegate when refetching an existing realm
2015-09-28 15:33:44 -07:00
Ari Lazier
18811f294f
check classname before accessing object_schema iterator for queries
2015-09-28 15:33:44 -07:00
Ari Lazier
6f2b137b1d
use latest object store changes
2015-09-28 15:33:44 -07:00
Thomas Goyne
2b15b7bfb0
Fix error in cleanup after an error during a migration
2015-09-28 15:33:44 -07:00
Thomas Goyne
ba61ffde15
Simplify column shifting for removed properties a little
2015-09-28 15:33:43 -07:00
Thomas Goyne
00d8bf4ef0
Add a Schema class, move lookup by name and internal-consistency checks there
2015-09-28 15:33:43 -07:00
Thomas Goyne
5fa1ff21f3
Make Realm::compact() more robust
...
Throw if it's called on a read-only Realm and ensure the Realm is left in a
valid state regardless of the starting state.
2015-09-28 15:33:43 -07:00
Thomas Goyne
5f5e2822e2
Reduce the scope of a variable
2015-09-28 15:33:43 -07:00
Thomas Goyne
0ec8809647
Fix a comment
2015-09-28 15:33:43 -07:00
Thomas Goyne
3f111de12e
Fix checks for what types of columns can be optional
2015-09-28 15:33:43 -07:00
Thomas Goyne
5d256728d2
USe more const refs to avoid copies
2015-09-28 15:33:42 -07:00
Thomas Goyne
c54ff5a44d
Make a bunch of things const
2015-09-28 15:33:42 -07:00
Thomas Goyne
89c8f9e125
Remove an unused function
2015-09-28 15:33:42 -07:00
Thomas Goyne
3d9d7be0d6
Share ExternalCommitHelpers between Realm instances for a single path
2015-09-28 15:33:42 -07:00
Thomas Goyne
76d62bbc57
Allow more nullable property types when supported
2015-09-28 15:33:42 -07:00
Thomas Goyne
d7fd525dc2
Honor is_nullable when creating columns
2015-09-28 15:33:41 -07:00
Thomas Goyne
f7222803df
Refactor schema initialization a bit
...
Change schema verification to operate on a pair of Schema objects rather than a
Schema and a Group to eliminate some redundant work done, defer some of the
work done for migrations to within the migration block to avoid doing it
unnecessarily, and make passing in a custom schema in the Config when creating
a Realm entirely equivalent to calling update_schema() afterwards.
2015-09-28 15:33:41 -07:00
Thomas Goyne
00c9177b56
Move the interprocess notification functionality to the object store
2015-09-28 15:33:41 -07:00
Thomas Goyne
766178d30d
Shuffle stuff around and clean some things up
2015-09-28 15:33:41 -07:00
Thomas Goyne
8350e55a0c
Improve array KVO performance a bit
2015-09-28 15:33:40 -07:00
Thomas Goyne
e65ad57e00
Skip PK uniqueness checking when first creating a Realm file
2015-09-28 15:33:40 -07:00
Thomas Goyne
fc48c88e69
Improve performance of realm_requires_update() and make more things const
2015-09-28 15:33:40 -07:00
Thomas Goyne
fc0de384a6
Port some of the KVO support functionality to the object store
2015-09-28 15:33:40 -07:00
Thomas Goyne
513d781572
Add the ability to bypass the Realm cache entirely
2015-09-28 15:33:39 -07:00
Thomas Goyne
219ef48bf4
Rework change notifications
...
Switch to an abstract class rather than std::function in preparation for having
more kinds of notifications with different arguments for KVO.
2015-09-28 15:33:39 -07:00
Thomas Goyne
7fda90c3b2
Add Realm::get_schema_version()
2015-09-28 15:33:39 -07:00
Thomas Goyne
1d25766ebb
Change realm::Schema to a vector rather than a map
...
Much faster to copy and destroy with no loss in lookup performance.
2015-09-28 15:33:38 -07:00
Thomas Goyne
d2a74958f0
Remove property.hpp include from object_schema.hpp
2015-09-28 15:33:38 -07:00
Thomas Goyne
720020ed06
Convert RLMRealmConfiguration to a wrapper around Realm::Config
2015-09-28 15:33:38 -07:00
Thomas Goyne
25f32e6f88
Use NSDMIs for realm::Property
2015-09-28 15:33:38 -07:00
Thomas Goyne
a4edbcecfa
Don't cache dynamic realms in the ObjectStore cache either
2015-09-28 15:33:37 -07:00
Thomas Goyne
861a8c2c9c
Eliminate some copies
2015-09-28 15:33:37 -07:00
Thomas Goyne
e61833c26e
Use NSDMIs for Realm
2015-09-28 15:33:37 -07:00
Thomas Goyne
938668904e
Reduce s_init_mutex's scope
2015-09-28 15:33:37 -07:00
Thomas Goyne
292d9cf820
Use NSDMIs for Realm::Config and make it moveable
2015-09-28 15:33:37 -07:00
Thomas Goyne
5d876b7caa
Store a copy of the encryption key
2015-09-28 15:33:36 -07:00