Commit Graph

1872 Commits

Author SHA1 Message Date
Scott Kyle eb72459cce Make sure the right node-gyp is called 2016-05-16 12:57:46 -07:00
Ari Lazier bd04185772 use const ref for argument 2016-05-16 12:50:29 -07:00
Ari Lazier 4d40896e5e make method static 2016-05-16 12:45:29 -07:00
Ari Lazier 2f69728827 pr fixes 2016-05-16 11:29:58 -07:00
Scott Kyle 7a26d192ba Merge pull request #427 from realm/sk-object-inheritance
Fix ES6 class inheritance of Realm.Object with Babel
2016-05-16 11:17:45 -07:00
Ari Lazier df716d3da1 fix for android compilation 2016-05-13 18:45:42 -07:00
Ari Lazier 3d0af084bb fix for android compilation 2016-05-13 18:45:42 -07:00
Ari Lazier e438d8b586 update object store 2016-05-13 18:04:05 -07:00
Ari Lazier 0c1fdaadda update object store 2016-05-13 18:04:05 -07:00
Scott Kyle 5bc72ab2cf Make Date testing work for Node 2016-05-13 16:30:57 -07:00
Scott Kyle 0b1a686f60 Add platform.cpp file for Node 2016-05-13 16:26:31 -07:00
Scott Kyle c803efd01b Use ".realm" extension in tests for proper cleanup 2016-05-13 15:47:57 -07:00
Ari Lazier e32df4e815 fix copy bundled files for ios 2016-05-13 15:44:25 -07:00
Ari Lazier 125dd0d1c7 merge it 2016-05-13 15:41:10 -07:00
Ari Lazier 2d2764a4d6 add missing files 2016-05-13 15:31:59 -07:00
Ari Lazier d1dcd4ff3f add additional tests 2016-05-13 15:29:59 -07:00
Scott Kyle 0250234a30 Cleanup Android platform.cpp 2016-05-13 15:25:18 -07:00
Scott Kyle 1b21f21c35 Symlink ReactTestApp assets for Android 2016-05-13 15:24:48 -07:00
Ari Lazier e7b341dfdb merge latest from master 2016-05-13 15:05:19 -07:00
Ari Lazier 4334d55767 fix for android - create notifier after opening realm 2016-05-13 14:55:36 -07:00
Ari Lazier 78f74211b1 fix for android - create notifier after opening realm 2016-05-13 14:55:36 -07:00
Ari Lazier 80904e36e1 hopeful fix for android test 2016-05-13 14:15:34 -07:00
Ari Lazier 0ce3cdf81d hopeful fix for android test 2016-05-13 14:15:34 -07:00
Ari Lazier 9c1b923797 fixes for test app 2016-05-13 13:05:39 -07:00
Scott Kyle 323583ed67 Merge pull request #417 from realm/sk-node-6
Fix issues in Node 6
2016-05-12 12:39:31 -07:00
Ari Lazier 299c82b7d2 pr feedback 2016-05-12 11:42:22 -07:00
Ari Lazier 194f238c1c add missing realm file 2016-05-12 10:24:11 -07:00
Thomas Goyne db55770bfa Move the notifications fuzzer to the tests directory 2016-05-11 16:08:30 -07:00
Thomas Goyne e6d09b513e Fix an assertion failure in IndexSet::do_add() following a table clear
We don't track insertions and deletions for tables that are merely linked to by
tables actually being observed (for performance reasons, since we don't need
that information), but the check for that was missing in one place. This would
be merely a slowdown rather than a crash, but deletions.add_shifted() can
overflow size_t if the passed-in index represents a newly inserted row and the
check for that didn't work due to not tracking insertions for the table.

The only remotely realistic way to actually have size_t overflow is to have
previously cleared the table (the table clear instruction does not include the
old size of the table, so it just marks {0, SIZE_T_MAX} as deleted).

Fixes #3537.
2016-05-11 16:08:30 -07:00
Thomas Goyne 2bcf42904a Fix some typos in comments 2016-05-11 16:08:30 -07:00
Thomas Goyne b42bf25c99 Fix compilation with latest core 2016-05-11 16:08:30 -07:00
Thomas Goyne 8d9e5db092 Give a variable a less terrible name and add a comment 2016-05-11 16:08:30 -07:00
Mark Rowe ef1c6ddc63 Add support for fine-grained notifications from backlink TVs 2016-05-11 16:08:30 -07:00
Thomas Goyne 03108713ee Make PropertyType an enum class 2016-05-11 16:08:30 -07:00
Thomas Goyne 4cf5d5db4c Report modification paths as pre-delete/inserts as required for UITableView 2016-05-11 16:08:30 -07:00
Thomas Goyne d8a69b87dc Improve change calculation performance for nontrivial object graphs
Skip doing any checking at all if none of the tables reachable from the root
table have been modified (which can happen if the table version was bumped due
to insertions, unrelated backlinks, or unlinked-to rows being deleted in linked
tables).

Add cycle checking rather than relying on the max depth to handle it, as the
worst case was O(N^16) if the cycle involved a LinkList of size N.

Track which rows have been confirmed to have not been modified.

Cache the information about the links for each of the relevant tables as
checking the table schema can get somewhat expensive.
2016-05-11 16:08:30 -07:00
Thomas Goyne f9364b50a4 Return the correct iterator from ChunkedVector::erase()
When a chunk is removed entirely it should return an iterator to the first
element in the next chunk, not the last.
2016-05-11 16:08:30 -07:00
Thomas Goyne 4df552ba2d Clean up old move info even when the row being deleted is the last one 2016-05-11 16:08:30 -07:00
Thomas Goyne 3218740fd9 Fix the check for a deleted LV in ListNotifier::add_required_change_info() 2016-05-11 16:08:30 -07:00
Thomas Goyne 632d757014 Always deliver results to the correct SharedGroup
If there are multiple Realm instances for a single file on a single thread due
to disabling caching we need to actually deliver the results to the appropriate
SharedGroup for each notifier rather than delivering them all to the first one.
2016-05-11 16:08:30 -07:00
Thomas Goyne 8879212111 Fix assertion failure when a notifier is removed before it runs 2016-05-11 16:08:30 -07:00
Thomas Goyne eee6e55eb0 Refactor SortedMoveCalculator and add more of an explanation 2016-05-11 16:08:30 -07:00
Thomas Goyne 95900f5e17 Make more member functions in CollectionNotifier pure virtual 2016-05-11 16:08:30 -07:00
Thomas Goyne 9883944df4 Pull CollectionChangeBuilder into its own file 2016-05-11 16:08:30 -07:00
Thomas Goyne 66666a75b0 Iterate backwards to pick the last valid list in select_link_list 2016-05-11 16:08:30 -07:00
Thomas Goyne 23c16f8e67 Use aggregate initialization for the base class in CollectionChangeBuilder 2016-05-11 16:08:30 -07:00
Thomas Goyne c0350b9001 Rename CollectionChangeIndices to CollectionChangeSet 2016-05-11 16:08:30 -07:00
Thomas Goyne 953e1b15a8 Rename BackgroundCollection to CollectionNotifier 2016-05-11 16:08:30 -07:00
Thomas Goyne fe5564f40e Change all of the mentions of 'query' in NotificationToken to 'notifier' 2016-05-11 16:08:30 -07:00
Thomas Goyne 31c3982bff Fix some typos 2016-05-11 16:08:30 -07:00