Commit Graph

448 Commits

Author SHA1 Message Date
Thomas Goyne 0e11a791e9 Improve and expand the IndexSet tests
This gets index_set.cpp back up to 100% line coverage from just the
targeted unit tests.
2016-05-11 16:08:30 -07:00
Thomas Goyne dc7ddfae84 Treat Results from LinkViews as if they were sorted for diff calculations 2016-05-11 16:08:30 -07:00
Thomas Goyne 71911ee221 Add support for wrapping a LinkView in a Results 2016-05-11 16:08:30 -07:00
Thomas Goyne 1b48c71932 Speed up transaction log parsing for queries 2016-05-11 16:08:30 -07:00
Thomas Goyne 5d5f504543 Greatly speed up sorted changeset calculations 2016-05-11 16:08:30 -07:00
Thomas Goyne 88a3b6ed00 Speed up the IndexSet combining operations 2016-05-11 16:08:30 -07:00
Thomas Goyne fdeb80f970 Speed up IndexSet::count() a bit 2016-05-11 16:08:30 -07:00
Thomas Goyne 7f5277a97b Run RealmCoordinator::on_change() on a different thread when using tsan 2016-05-11 16:08:30 -07:00
Thomas Goyne 059f907a4a Make sorted move calculations a bit less gross 2016-05-11 16:08:30 -07:00
Thomas Goyne 1a8a56d10a Use binary search in IndexSet::find() 2016-05-11 16:08:30 -07:00
Thomas Goyne f1f0327146 Speed up unsorted changeset calculations by eliminating most calls to count() 2016-05-11 16:08:30 -07:00
Thomas Goyne c6def6b814 Don't parse the transaction logs on the background thread if no change info is needed 2016-05-11 16:08:30 -07:00
Thomas Goyne 9503a3fc03 Always send an empty changeset to the first call of a Results notification callback 2016-05-11 16:08:30 -07:00
Thomas Goyne b5bd00005c Skip collecting change information when it isn't needed 2016-05-11 16:08:30 -07:00
Thomas Goyne e65ad4d413 Discard moves which are turned into no-ops when merging 2016-05-11 16:08:30 -07:00
Thomas Goyne cfb9f0635c Fix calculation of moves for unsorted queries 2016-05-11 16:08:30 -07:00
Thomas Goyne d22c65f28a Partially split out the code for calculating changesets from the struct for delivering them 2016-05-11 16:08:30 -07:00
Thomas Goyne a4298dd92c Remove an unused function 2016-05-11 16:08:30 -07:00
Thomas Goyne b920f62ca5 Comment and clean up the Notifiers/BackgroundCollection 2016-05-11 16:08:30 -07:00
Thomas Goyne 4ec1090c05 Rename AsyncQuery to ResultsNotifier 2016-05-11 16:08:30 -07:00
Thomas Goyne 424f4e829f Prioritize modified rows when calculating changes for sorted results 2016-05-11 16:08:30 -07:00
Thomas Goyne a428f813d5 Skip calling callbacks if two commits cancel each other out when merged 2016-05-11 16:08:30 -07:00
Thomas Goyne a16cd7d42d Add async_query.hpp to the project 2016-05-11 16:08:30 -07:00
Thomas Goyne 9a0ec0eb28 Actually report deletions for table clears 2016-05-11 16:08:30 -07:00
Thomas Goyne e25e4c2dcd Rework handling of mixed move_last_over() and modifications to actually work 2016-05-11 16:08:30 -07:00
Thomas Goyne d46f2c65ba Refactor the transaction log parsers to eliminate some duplication 2016-05-11 16:08:30 -07:00
Thomas Goyne 8c94cd1b2c Add an afl-based fuzzer for notifications 2016-05-11 16:08:30 -07:00
Thomas Goyne f4aaa7c9de Add fine-grained notifications for Results 2016-05-11 16:08:30 -07:00
Thomas Goyne 6609bcaed7 Add fine-grained notifications for List 2016-05-11 16:08:30 -07:00
Thomas Goyne 8f7ec85605 Add minimal transaction log parsing tests 2016-05-11 16:08:30 -07:00
Thomas Goyne 6380335fc3 Extract out the parts of AsyncQuery not directly related to query running 2016-05-11 16:08:30 -07:00
Thomas Goyne deea1e8f5f Merge pull request #67 from realm/tg/tvos-ech
Watch changes for tvOS without named pipes
2016-05-11 09:58:16 -07:00
Thomas Goyne 8d115ad42d Merge pull request #68 from realm/tg/schema-validation-error
Split SchemaValidationException into SchemaValidationException and SchemaMismatchException
2016-05-11 09:58:06 -07:00
Thomas Goyne c07fb9c963 Merge pull request #64 from realm/tg/leak
Fix the initial ref count for WeakRealmNotifier
2016-05-10 11:55:06 -07:00
kishikawa katsumi 23d9c1c6e8 Split SchemaValidationException into SchemaValidationException and SchemaMismatchException
Because SchemaValidationException is thrown both case that a schema definition is incorrect and case that two schema definitions are mismatched.
In the former case, the migration does not solve the problem. But the exception message shows "Migration is required..."

Therefore the latter as MismatchException, to distinguish between the two cases.
2016-05-10 11:53:58 -07:00
kishikawa katsumi 8e24d4331f Watch changes for tvOS without named pipes 2016-05-10 11:47:37 -07:00
Thomas Goyne e4ace9ca20 Merge pull request #45 from realm/tg/coverage
Add cmake target to generate a code coverage report
2016-05-06 16:15:48 -07:00
Thomas Goyne fafc4232ad Rewrite the code coverage generation
Make lcov/gcovr an optional dependency that's only needed for Coverage
configurations, remove some pointless noisy messages when not generating
coverage, and generally simplify the whole thing.
2016-05-06 15:23:30 -07:00
Thomas Goyne 7ab91ea75e Add cmake target to generate a code coverage report 2016-05-06 12:37:59 -07:00
Thomas Goyne 56def7daa0 Merge pull request #65 from realm/tg/timestamp
Update to core 0.100.0
2016-05-05 10:25:06 -07:00
Thomas Goyne 507882d663 Update to core 0.100.1 2016-05-05 10:19:48 -07:00
Thomas Goyne 399b6d88dc Merge pull request #66 from realm/tg/unregister-realm
Use erase-remove_if in RealmCoordinator::unregister_realm()
2016-05-04 12:36:28 -07:00
Thomas Goyne 25d245deda Use erase-remove_if in RealmCoordinator::unregister_realm() 2016-05-04 10:21:44 -07:00
Ari Lazier 449c4e6519 Merge pull request #63 from realm/al-nullable-default
Optional property bug fixe/case insensitive queries
2016-04-21 11:18:48 -07:00
Thomas Goyne 273db05605 Fix the initial ref count for WeakRealmNotifier
Adding the run loop source to the run loop retains it, so the initial refcount
should be 0, not 1.
2016-04-20 15:41:05 -07:00
Ari Lazier 805fdc63a7 don't require optional or link properties when creating objects 2016-04-01 11:00:53 -07:00
Thomas Goyne d0763d541e Merge pull request #62 from realm/tg/cmake-version
Move cmake_minimum_required() to the correct place
2016-03-28 15:29:16 -07:00
Thomas Goyne c98f192879 Move cmake_minimum_required() to the correct place
It has to be before the call to project() or it doesn't do anything.
2016-03-28 14:10:15 -07:00
Ari Lazier f41d137f71 Merge pull request #60 from realm/al-latest-fixes
Latest fixes for react-native/android
2016-03-22 17:19:57 -07:00
Thomas Goyne b69dd4bd3e Merge pull request #55 from realm/tg/sanitizer
Add support for building with the various sanitizers
2016-03-22 17:17:44 -07:00