Mark Rowe
9f1702a10f
Support migrating required columns to optional, preserving their contents.
...
Required columns are migrated to optional by creating a new nullable column,
copying the data from the required column to the optional column, then removing
the original required column.
2015-10-20 17:52:25 -07:00
Thomas Goyne
f5b790cf87
Merge pull request #6 from realm/tg-impl
...
Move things which are not part of the API to an impl directory/namespace
2015-10-20 09:59:10 -07:00
Ari Lazier
1fa7c018ea
clean up per realm resources/threads
2015-10-19 14:25:35 -07:00
Ari Lazier
dace77579b
store schema and prototypes on the realm object
2015-10-19 13:39:21 -07:00
Thomas Goyne
6dfeaf8080
Move things which are not part of the API to an impl directory/namespace
2015-10-15 11:30:08 -07:00
Ari Lazier
8a2e24daac
move property getters to object store code
2015-10-13 15:25:06 -07:00
Ari Lazier
06260bc3f0
move List class to its own file
2015-10-13 14:44:31 -07:00
Ari Lazier
286c652e42
Merge pull request #55 from realm/al-migrations
...
Minimal migration tests - use same path for all tests
2015-10-12 17:26:51 -07:00
Ari Lazier
b27b7941f0
pr fixes
2015-10-12 17:18:49 -07:00
Ari Lazier
ad677b7873
allow running all tests at the same path by invalidating all cached realm paths between test runs
2015-10-12 16:43:05 -07:00
Scott Kyle
c8b6efb320
Out of bounds getters for Results return undefined
2015-10-12 15:35:13 -07:00
Scott Kyle
b70e5432b7
Setting properties outside transaction should throw
...
Resolves #40
2015-10-12 02:02:23 -07:00
Ari Lazier
d88b089b9f
update to latest object store code
2015-09-28 15:47:32 -07:00
Thomas Goyne
0c18978887
Send changes_available() even if autorefresh is enabled
2015-09-28 15:33:45 -07:00
Ari Lazier
cb7360c6a3
use latest object store changes
2015-09-28 15:33:44 -07:00
Thomas Goyne
981e7007f7
Fix error in cleanup after an error during a migration
2015-09-28 15:33:44 -07:00
Thomas Goyne
1fcc5a1be8
Simplify column shifting for removed properties a little
2015-09-28 15:33:43 -07:00
Thomas Goyne
df6d6e8618
Add a Schema class, move lookup by name and internal-consistency checks there
2015-09-28 15:33:43 -07:00
Thomas Goyne
d72d79bb05
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
a5f21e5e82
Reduce the scope of a variable
2015-09-28 15:33:43 -07:00
Thomas Goyne
9075917334
Fix a comment
2015-09-28 15:33:43 -07:00
Thomas Goyne
924482a305
Fix checks for what types of columns can be optional
2015-09-28 15:33:43 -07:00
Thomas Goyne
d3a218dac3
USe more const refs to avoid copies
2015-09-28 15:33:42 -07:00
Thomas Goyne
cc6364fff3
Make a bunch of things const
2015-09-28 15:33:42 -07:00
Thomas Goyne
fb186248a1
Remove an unused function
2015-09-28 15:33:42 -07:00
Thomas Goyne
515ce6296f
Share ExternalCommitHelpers between Realm instances for a single path
2015-09-28 15:33:42 -07:00
Thomas Goyne
873d24f3f0
Allow more nullable property types when supported
2015-09-28 15:33:42 -07:00
Thomas Goyne
663492e9da
Honor is_nullable when creating columns
2015-09-28 15:33:41 -07:00
Thomas Goyne
ce39ef965f
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
4dd72d47a0
Move the interprocess notification functionality to the object store
2015-09-28 15:33:41 -07:00
Thomas Goyne
5ffeedb233
Shuffle stuff around and clean some things up
2015-09-28 15:33:41 -07:00
Thomas Goyne
429a652eeb
Improve array KVO performance a bit
2015-09-28 15:33:40 -07:00
Thomas Goyne
2f869541c7
Skip PK uniqueness checking when first creating a Realm file
2015-09-28 15:33:40 -07:00
Thomas Goyne
9129add439
Improve performance of realm_requires_update() and make more things const
2015-09-28 15:33:40 -07:00
Thomas Goyne
9403c6f837
Port some of the KVO support functionality to the object store
2015-09-28 15:33:40 -07:00
Thomas Goyne
524edf04c6
Add the ability to bypass the Realm cache entirely
2015-09-28 15:33:39 -07:00
Thomas Goyne
aae979ce58
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
ce8060b4b3
Add Realm::get_schema_version()
2015-09-28 15:33:39 -07:00
Thomas Goyne
6df3719925
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
bf3d9bd452
Remove property.hpp include from object_schema.hpp
2015-09-28 15:33:38 -07:00
Thomas Goyne
6b43c4ca31
Convert RLMRealmConfiguration to a wrapper around Realm::Config
2015-09-28 15:33:38 -07:00
Thomas Goyne
169bdb6648
Use NSDMIs for realm::Property
2015-09-28 15:33:38 -07:00
Thomas Goyne
c6d82ad436
Don't cache dynamic realms in the ObjectStore cache either
2015-09-28 15:33:37 -07:00
Thomas Goyne
06ce25053d
Eliminate some copies
2015-09-28 15:33:37 -07:00
Thomas Goyne
6a491eaf1b
Use NSDMIs for Realm
2015-09-28 15:33:37 -07:00
Thomas Goyne
9c224fb141
Reduce s_init_mutex's scope
2015-09-28 15:33:37 -07:00
Thomas Goyne
d6566ff3c1
Use NSDMIs for Realm::Config and make it moveable
2015-09-28 15:33:37 -07:00
Thomas Goyne
5c1e20a7b1
Store a copy of the encryption key
2015-09-28 15:33:36 -07:00
Ari Lazier
513e4834bc
Merge pull request #4 from realm/tg-realm
...
Merge objectstore changes from obj-c
2015-09-18 18:03:16 +02:00
Thomas Goyne
f6467778e0
Send changes_available() even if autorefresh is enabled
2015-09-10 14:15:57 -07:00