Commit Graph

292 Commits

Author SHA1 Message Date
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 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
Thomas Goyne 854d6bea53 Merge pull request #31 from realm/tg-file-not-found
Catch File::NotFound and rethrow correctly
2016-01-07 15:19:21 -08:00
Marius Rackwitz 7e96fa9732 Catch File::NotFound and rethrow correctly 2016-01-07 15:19:03 -08:00
Scott Kyle b5fb267e11 Merge branch 'sk-snapshot-results'
* sk-snapshot-results:
  Explicitly check if row is attached
  Add methods to create snapshot of List and Results
  Update to Realm Core 0.95.5
2016-01-05 13:16:27 -08:00
Ari Lazier ff532b47c4 bdash pr fixes 2016-01-04 18:13:09 -08:00
Ari Lazier 60b3b5d2fb remove unnedded constructors/destructor 2016-01-04 16:51:51 -08:00
Ari Lazier 7c116c0629 pr fixes 2016-01-04 16:37:07 -08:00
Ari Lazier 7964aff431 remove unnecessary const cast 2016-01-04 16:27:37 -08:00
Ari Lazier 1e36beb263 store ObjectSchema as a pointer rather than a reference 2016-01-04 16:21:28 -08:00
Ari Lazier c25d08eb34 store ObjectSchema as a pointer rather than a reference 2016-01-04 16:04:01 -08:00
Ari Lazier b8d40950a7 remove invalid usage of const Schema 2016-01-04 15:54:03 -08:00
Ari Lazier ebce831522 merge latest object store changes 2016-01-04 15:42:32 -08:00
Scott Kyle 0286dea7a4 Add methods to create snapshot of List and Results
The Results class was updated to match the style of List and include a flag (m_live) that determines if it should sync updates. If an object in the static Results is deleted, then it will return null.
2015-12-30 16:53:26 -08:00
Scott Kyle f32de945ad Update to Realm Core 0.95.5 2015-12-30 16:53:26 -08:00
Thomas Goyne e8a26aa533 Fix compilation errors 2015-12-22 11:08:05 -08:00
Thomas Goyne a3058c6e97 Merge pull request #28 from realm/tg/set-unique
Add set_*_unique handlers to TransactLogHandler
2015-12-22 11:08:00 -08:00
Thomas Goyne 6199fba9f9 Add set_*_unique handlers to TransactLogHandler 2015-12-22 08:30:54 -08:00
Ari Lazier e78e33cd98 pr feedback 2015-12-18 14:37:41 -08:00
Ari Lazier 480f4effb2 fix for copy assignment 2015-12-17 18:40:26 -08:00
Ari Lazier 143564d0b9 results should store const ObjectSchema 2015-12-17 17:32:51 -08:00
Ari Lazier dc67be30fc Schema stored in Realm::Config should be const 2015-12-17 16:18:16 -08:00
Scott Kyle 253a572ca7 Fix crash caused by accessing invalid ObjectSchema
These references would eventually become invalid. The quickest fix is for them to no longer be references. The longer-term fix might be to only store the object type and dynamically retrieve the ObjectSchema only when necessary.

Fixes #181
2015-12-16 13:04:53 -08:00