Commit Graph

363 Commits

Author SHA1 Message Date
Mark Rowe c7f4133414 Merge pull request #50 from realm/mar/cmake-linux-and-local-core
Support building on Linux and with local builds of core
2016-03-02 16:39:07 -08:00
Thomas Goyne d73c7dba88 Merge pull request #42 from realm/tg/async-query
Add support for async queries
2016-03-02 15:13:18 -08:00
Mark Rowe 3602cf7588 Factor duplicated logic out into a macro. 2016-03-02 01:16:11 -08:00
Mark Rowe ccdc3b0754 Add info to the README about using a local build of core. 2016-03-02 01:02:11 -08:00
Mark Rowe 8c56d13382 Support building on Linux.
By default, Linux uses a locally-built version of core that is prepared
in an independent working copy of the realm-core git repository.

Support is also added for using an existing local build of core on both
OS X and Linux . This can be done by running
`cmake -DREALM_CORE_VERSION=/path/to/realm-core`. The generated build
system will invoke `sh build.sh build` within the given directory prior
to building the object store.
2016-03-02 01:02:11 -08:00
Ari Lazier 062db0e95d Merge pull request #43 from realm/al/contains-test
Test contains can be used as a property name in the parser
2016-03-01 13:45:43 -08:00
Thomas Goyne 086192f8d3 Add minimal Results notification tests 2016-02-26 10:24:46 -08:00
Thomas Goyne 773e7db14d Add a helper class to generate temp paths for tests 2016-02-26 09:47:51 -08:00
Thomas Goyne b7b2822082 Make it possible to disable the commit notifier background worker
This makes it much easier to write tests which test the work done on the
background thread.
2016-02-25 11:19:00 -08:00
Thomas Goyne cfc88b6fd5 Rename CachedRealm to WeakRealmNotfier 2016-02-24 16:58:11 -08:00
Thomas Goyne 143cc3b696 Fix compilation with GCC 4.9
4.9 does not correctly implement C++14 aggregate initialization.
2016-02-24 16:58:11 -08:00
Thomas Goyne 99037a7c72 Add an AtomicSharedPtr implementation for gcc 4.9 2016-02-24 16:58:11 -08:00
Thomas Goyne 1e35324d97 Avoid holding locks while calling transaction::advance()
It can call user code due to change notifications, which leads to
deadlocks if that code then tries to add async queries (and advancing is
a potentially expensive operation, so doing it while holding a lock
inhibits parallelism anyway).
2016-02-24 16:58:11 -08:00
Thomas Goyne 8284340729 Remove redundant check in RealmCoordinator::advance_helper_shared_group_to_latest() 2016-02-24 16:58:11 -08:00
Thomas Goyne 4e18a99dfd Update some out-of-date comments 2016-02-24 16:58:10 -08:00
Thomas Goyne aa67216574 Write a much better comment about thread stuff for AsyncQuery 2016-02-24 16:58:10 -08:00
Thomas Goyne ad46e307a2 Update the comments for Realm::Internal 2016-02-24 16:58:10 -08:00
Thomas Goyne 1430fcf474 Rename AsyncFriend to Interal 2016-02-24 16:58:10 -08:00
Thomas Goyne c46a2a34de Fix typos and minor errors in comments 2016-02-24 16:58:10 -08:00
Thomas Goyne db7d6fa2a8 Don't hold onto the tableview between runs of async queries
Updating the table view in advance_read() can be very expensive, and the
updated data is never actually used.
2016-02-24 16:58:10 -08:00
Thomas Goyne a95eb50915 Don't create background queries for Results on threads without runloops 2016-02-24 16:58:09 -08:00
Thomas Goyne 3e90c30571 Add more tests and fix bugs 2016-02-24 16:58:09 -08:00
Thomas Goyne 8c4f2a4f30 Reduce the scope of class friendships 2016-02-24 16:58:09 -08:00
Thomas Goyne 13e1054553 Don't continue to run queries in the background if the result is unused 2016-02-24 16:58:09 -08:00
Thomas Goyne 934263f76a Automatically create the async query when converting to a TableView 2016-02-24 16:58:09 -08:00
Thomas Goyne 8f668fdf09 Use a single AsyncQuery per Results regardless of number of callbacks added 2016-02-24 16:58:08 -08:00
Thomas Goyne d165458601 Add support for running queries asynchronously 2016-02-24 16:58:08 -08:00
Thomas Goyne 565e39a287 Merge pull request #47 from realm/tg/core-0.96.2
Update to core 0.96.2
2016-02-24 10:12:04 -08:00
Thomas Goyne bceec93a69 Update to core 0.96.2 2016-02-23 15:01:35 -08:00
Thomas Goyne d87c41b352 Merge pull request #46 from realm/tg/remove-inorrect-move
Remove an incorrect std::move()
2016-02-19 09:42:53 -08:00
Thomas Goyne 52386c08e6 Merge pull request #44 from realm/tg/core-tarball-path
Fix dependency information for the core tarball
2016-02-19 09:42:31 -08:00
Thomas Goyne ae9d41f9ce Remove an incorrect std::move() 2016-02-18 19:05:02 -08:00
Thomas Goyne 055de67185 Fix dependency information for the core tarball 2016-02-18 19:02:54 -08:00
Thomas Goyne 87655793b7 Merge pull request #40 from realm/tg/list
Wrap more of LinkView in List
2016-02-16 17:35:58 -08:00
Ari Lazier b1fd7abe74 more keyword tests 2016-02-16 12:19:26 -08:00
Ari Lazier c57eb99eb2 test query with not as a property name 2016-02-16 12:10:50 -08:00
Ari Lazier 48510805d7 test contains can be used as a property name in the parser 2016-02-16 11:56:29 -08:00
Thomas Goyne 7c350031d6 Merge pull request #37 from realm/tg/index-set-tests
Add IndexSet tests
2016-02-16 10:07:11 -08:00
Thomas Goyne f5ae1bdf80 Merge pull request #39 from realm/tg/validate-schema-changes
Handle allowed schema changes in the transaction log observer
2016-02-16 10:07:01 -08:00
Thomas Goyne a99cbb7b84 Merge pull request #41 from realm/tg/index_of
Remove the Query version of Results::index_of()
2016-02-12 17:37:24 -08:00
Thomas Goyne 5f5510e170 Remove the Query version of Results::index_of()
It didn't work for queries based on a LinkView because for those the arguments
to count() are indexes in the LinkView rather than table rows, and there's
currently no way to check if a query is based on a LinkView.
2016-02-10 10:52:33 -08:00
Thomas Goyne f7957b7633 Merge pull request #22 from realm/tg-realm-coordinator
Extract cache management and inter-Realm sharing to RealmCoordinator
2016-02-10 10:20:51 -08:00
Thomas Goyne 638b4ec35e Actually update the coordinator's copy of the schema 2016-02-08 14:46:42 -08:00
Thomas Goyne a3dab7e4b1 Add wrappers for platform-specific headers and normalize include paths
Building the objectstore code now only requires adding the root `src` directory
to the include paths.
2016-02-08 14:46:42 -08:00
Thomas Goyne 74eb195e7f Add wrappers for a bunch more LinkView methods 2016-02-03 18:05:56 -08:00
Thomas Goyne fdc67777bb Make List default constructable 2016-02-03 18:05:56 -08:00
Thomas Goyne 4c5389dbac Return RowExpr from List::get() 2016-02-03 18:05:55 -08:00
Thomas Goyne 8e58fc693c Call verify_attached() from verify_in_transaction() 2016-02-03 18:05:55 -08:00
Thomas Goyne 27acf3f109 Fix spelling of verify_in_transaction 2016-02-03 18:05:55 -08:00
Thomas Goyne 9152198962 Change List::realm() to List::get_realm() for consistency 2016-02-03 18:05:55 -08:00