Commit Graph

400 Commits

Author SHA1 Message Date
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
Ari Lazier ad7ebef1a9 use make_unique with gcc4.9 2016-01-19 13:12:24 -08:00
Mark Rowe 1ff80797ed Add information on using the build system to the README. 2016-01-19 10:55:07 -08:00
Ari Lazier fc5ed389e1 merge latest object store 2016-01-19 10:51:43 -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 0147ea7880 merge latest from master 2016-01-13 12:46:07 -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
Ari Lazier 95c21dea20 rebase from master 2016-01-05 19:33:56 -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 66fd4ce2f7 use gcc 2016-01-05 11:07:21 -08:00
Ari Lazier 5e7a952f48 just use one symlink to the binding source, make more stuff compile 2016-01-05 11:05:44 -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