Commit Graph

363 Commits

Author SHA1 Message Date
Thomas Goyne 6276266d67 Make List const-correct 2016-02-03 18:05:55 -08:00
Thomas Goyne 1cbbf1958f Check the thread in all of List's methods 2016-02-03 18:05:55 -08:00
Thomas Goyne 243ae32187 Fix incorrect error message 2016-02-03 18:05:55 -08:00
Thomas Goyne 0819f72b1b Remove call to sync_if_needed() on a LinkView 2016-02-03 18:05:55 -08:00
Thomas Goyne 62d573c1d9 Remove std:: from size_t in list.* 2016-02-03 18:05:55 -08:00
Thomas Goyne 356c17ba11 Remove list.hpp's dependency on shared_realm.hpp 2016-02-03 18:05:54 -08:00
Thomas Goyne 07c40b4517 Reformat list.{hpp,cpp} to match core style 2016-02-03 18:05:44 -08:00
Thomas Goyne ad5db72767 Destroy all notifiers before closing realms in clear_cache() 2016-01-25 17:46:40 -08:00
Thomas Goyne e557babaad Fix the generic implementation of ExternalCommitHelper 2016-01-25 17:46:39 -08:00
Thomas Goyne 4eb49ce6dc Add a not-very-useful generic CachedRealm implementation 2016-01-25 17:46:39 -08:00
Thomas Goyne 112c778d8e Extract the non-Apple specific parts of CachedRealm to a base class 2016-01-25 17:46:39 -08:00
Thomas Goyne 178c562f2c Add an untested non-Apple ExternalCommitHelper implementation 2016-01-25 17:46:39 -08:00
Thomas Goyne 4c195c92e0 Remove some unused cruft from ExternalCommitHelper 2016-01-25 17:46:39 -08:00
Thomas Goyne 513b3d770c Add a short explanation of CachedRealm 2016-01-25 17:46:39 -08:00
Thomas Goyne 89bd55a535 Actually remove the Realm from the cache when close() is called 2016-01-25 17:46:38 -08:00
Thomas Goyne 9b8a0d5346 Log uncaught exceptions in the notifier thread
By default the thread just silently goes away.
2016-01-25 17:46:38 -08:00
Thomas Goyne ebfca16d00 Eliminate a config copy when opening Realms 2016-01-25 17:46:38 -08:00
Thomas Goyne e30e2ff278 Simplify RealmCoordinator::get_coordinator() 2016-01-25 17:46:38 -08:00
Thomas Goyne 7a0c83929f Use an unordered map for the Realm coordinator cache 2016-01-25 17:46:38 -08:00
Thomas Goyne d6daa052e8 Decouple Realm instance tracking from interprocess notifications 2016-01-25 17:46:38 -08:00
Thomas Goyne 2ed90e6d79 Check for invalid schema changes even when KVO is not used 2016-01-25 10:58:30 -08:00
Thomas Goyne d5e00c9315 Handle allowed schema changes in the transaction log observer 2016-01-25 10:56:06 -08:00
Thomas Goyne f3397d48c0 Add IndexSet tests
And fix a bug that resulted in ranges not being merged.
2016-01-25 10:36:54 -08:00
Thomas Goyne c3a9489b02 Fix a potential deadlock when opening a realm 2016-01-25 10:13:44 -08:00
Thomas Goyne e87a507223 Extract cache management and inter-Realm sharing to RealmCoordinator 2016-01-25 10:13:44 -08:00
Thomas Goyne 5e71c4178e Merge pull request #17 from realm/tg-multiprocess-schema-init
Fix race condition in multiprocess schema init
2016-01-25 10:04:10 -08:00
Thomas Goyne 016112da8c Merge pull request #20 from realm/tg-read-only-realm
Fix opening read-only Realms in read-only directories
2016-01-25 10:01:45 -08:00
Thomas Goyne 4a971b0102 Merge pull request #35 from realm/tg/cmake-fixes
Add headers and core's CPP flags to cmake
2016-01-25 10:01:34 -08:00
Thomas Goyne 4607e75f90 Merge pull request #36 from realm/tg/schema-literal
Make Schema constructable from initializer lists
2016-01-25 10:01:26 -08:00
Thomas Goyne 8d10a65088 Make Schema constructable from initializer lists
This enables the following syntax for defining object schemas, which is useful for writing tests:

    Schema schema = {
        {"origin", "", {
            {"array", PropertyTypeArray, "target"}
        }},
        {"target", "", {
            {"prop1", PropertyTypeInt},
            {"prop2", PropertyTypeFloat},
        }},
    };
2016-01-22 11:55:05 -08:00
Thomas Goyne 0e08e05238 Only set REALM_DEBUG for debug builds 2016-01-21 13:56:41 -08:00
Thomas Goyne 9d1a3da411 Add the required preprocessor flags for using core 2016-01-21 11:06:23 -08:00
Thomas Goyne 62a729fbfd Add headers to CMakeLists 2016-01-21 11:06:14 -08:00
Thomas Goyne 4b001e1842 Extract some logic to a helper function to avoid recursion in update_schema() 2016-01-20 16:26:30 -08:00
Thomas Goyne 8d7b5d8d08 Remove the tracking of if any changes were made from update_realm_with_schema()
It was no longer actually used for anything since we now check if any changes
are actually needed before calling it (to avoid beginning a write transaction
when not needed).
2016-01-20 16:26:30 -08:00
Thomas Goyne 9c2d4703ed Reshuffle the updating of m_config in Realm::update_schema() 2016-01-20 16:26:30 -08:00
Thomas Goyne 6c25eeb85c Fix race condition in multiprocess schema init
If the schema was initialized by a different process between when the old
schema was read and the write transaction was began, the schema init code would
see the updated schema version but not re-read the schema, resulting in it
thinking that a migration was required when the schema actually matched.
2016-01-20 16:26:29 -08:00
kishikawa katsumi 0bae415718 Read-only Realm should be opened even in immutable directory Realm files in an app bundle should be opened if marked as read-only 2016-01-20 16:25:10 -08:00
Mark Rowe 415bfe4d35 Merge pull request #33 from realm/mar/cmake
Add a CMake build system
2016-01-20 15:48:53 -08:00
Mark Rowe 1ff80797ed Add information on using the build system to the README. 2016-01-19 10:55:07 -08:00
Mark Rowe fbb386a735 Improve things a little for Linux. 2016-01-19 10:41:25 -08:00
Mark Rowe 548701c2fd Remove a bogus forward-declaration. 2016-01-19 10:41:25 -08:00
Mark Rowe 9d43f8952e Rework `download_realm_core` to avoid re-downloading core on clean builds. 2016-01-19 10:41:25 -08:00
Mark Rowe c4191d8af6 Hook the parser tests into the CMake build system. 2016-01-19 10:41:25 -08:00
Mark Rowe 9cf26ed2cb Add an initial pass at a CMake-based build system.
It currently creates a dynamic library, and builds on OS X only.
2016-01-19 10:41:25 -08:00
Ari Lazier dd2c87c3b7 Merge pull request #29 from realm/al-js-fixes
Outstanding ObjectStore changes from the JS branch
2016-01-19 10:32:58 -08:00
Ari Lazier a2befeeffb Merge pull request #32 from realm/alazier-readme
Create README.md
2016-01-12 15:39:37 -08:00
Ari Lazier 8f8982c448 Create README.md 2016-01-12 11:02:30 -08:00
Ari Lazier d4f5f45e56 fix for member initializtion ordering 2016-01-08 13:05:13 -08:00
Ari Lazier d0715cc8e4 pr fixes 2016-01-08 11:37:05 -08:00