Ari Lazier
ceceeab9a5
object store pr feedback
2016-05-27 15:45:56 -07:00
Scott Kyle
b3ec066d12
Merge pull request #451 from realm/sk-test-improvements
...
Improve JS tests
2016-05-27 13:56:49 -07:00
Scott Kyle
d05542c031
Merge branch 'sk-node-notifier'
...
* sk-node-notifier:
Create a HandleScope before calling callbacks
Add a working WeakRealmNotifier for Node
2016-05-27 13:25:50 -07:00
Scott Kyle
8a52cf8ffe
Merge branch 'sk-node-notifier'
...
* sk-node-notifier:
Create a HandleScope before calling callbacks
Add a working WeakRealmNotifier for Node
2016-05-27 13:25:50 -07:00
Scott Kyle
4e457526bb
Merge branch 'sk-node-xcode'
...
* sk-node-xcode:
Consolidate RealmNode.xcodeproj into RealmJS.xcodeproj
2016-05-27 13:20:01 -07:00
Scott Kyle
5a3997d268
Fix for consecutive calls to clearTestState()
...
This bug would only happen from Chrome debug mode, where consecutive calls would crash the app because the m_objects iterator would be in a bad state. This method is faster anyways.
2016-05-26 17:58:24 -07:00
Scott Kyle
78a8311ba6
Merge branch '0.13.x'
...
* 0.13.x:
[0.13.2] Bump version
fix for upgrading optional date properties
2016-05-26 14:36:17 -07:00
Mark Rowe
f19bab76bd
Build both dynamic and static libraries.
...
The dynamic library makes it easy to verify that there are no linker
errors when building the object store, while the static library is
easier for a binding to consume.
This also tweaks how the library targets are defined to ensure that
other CMake projects that pull in the libraries automatically get the
right include paths and link to the appropriate libraries.
2016-05-26 13:41:52 -07:00
Scott Kyle
118567ca4e
[0.13.2] Bump version
2016-05-26 13:35:29 -07:00
Ari Lazier
027d4fd153
fix for upgrading optional date properties
2016-05-26 13:30:51 -07:00
Scott Kyle
39f0661535
Factor out padding rule for operators
2016-05-26 11:57:43 -07:00
Scott Kyle
1a192240df
Factor out padding rule for operators
2016-05-26 11:57:43 -07:00
Scott Kyle
d7474cabc6
Improve parsing of string tokens
...
All of the parsing behavior was confirmed to be compatible with the NSPredicate parser.
2016-05-26 01:04:41 -07:00
Scott Kyle
44576dd285
Improve parsing of string tokens
...
All of the parsing behavior was confirmed to be compatible with the NSPredicate parser.
2016-05-26 01:04:41 -07:00
Scott Kyle
ea4c4fe6f9
Merge branch '0.13.x'
...
* 0.13.x:
[0.13.1] Bump version
Fix crash and other errors with Results snapshots
fix for negative timestamps
2016-05-24 12:38:32 -07:00
Scott Kyle
47776d9b0a
[0.13.1] Bump version
2016-05-24 11:53:10 -07:00
Scott Kyle
f8ba388d14
Fix crash and other errors with Results snapshots
...
When deleteAll() is called on a Realm, it calls clear() on all of its Tables, which seems to not update TableViews unless they are synced. The is_row_attached(row_ndx) method still returns true otherwise. A workaround is here until that is fixed.
Fixes #434
2016-05-24 11:52:02 -07:00
Ari Lazier
9e05728dce
fix for negative timestamps
2016-05-24 11:45:16 -07:00
Scott Kyle
7740665d7d
Merge pull request #449 from realm/sk-crash-fix
...
Fix crash and other errors with Results snapshots
2016-05-24 11:02:53 -07:00
Scott Kyle
20b121c57d
Add FIXME referencing core issue
2016-05-24 10:42:17 -07:00
Scott Kyle
cb399e54e4
Add FIXME referencing core issue
2016-05-24 10:42:17 -07:00
Ari Lazier
47a279cc67
use mod
2016-05-24 08:25:44 -07:00
Ari Lazier
604fcc73f2
fix for negative timestamps
2016-05-24 08:23:21 -07:00
Thomas Goyne
840c46f8f3
Upgrade to core 1.0.0 and update the file exception translation to match
...
File::AccessError is now thrown for all file-related exceptions which don't
have more specific types (rather than std::runtime_error), which requires some
changes to how exception messages are built when translating them to get nice
results.
Also add `Realm::write_copy()` which just wraps `Group::write()` with error
translation.
2016-05-23 10:28:04 -07:00
Scott Kyle
2672cd901f
Fix crash and other errors with Results snapshots
...
When deleteAll() is called on a Realm, it calls clear() on all of its Tables, which seems to not update TableViews unless they are synced. The is_row_attached(row_ndx) method still returns true otherwise. A workaround is here until that is fixed.
Fixes #434
2016-05-20 13:42:17 -07:00
Scott Kyle
e14e922c39
Fix crash and other errors with Results snapshots
...
When deleteAll() is called on a Realm, it calls clear() on all of its Tables, which seems to not update TableViews unless they are synced. The is_row_attached(row_ndx) method still returns true otherwise. A workaround is here until that is fixed.
Fixes #434
2016-05-20 13:42:17 -07:00
Scott Kyle
858d67125d
Consolidate RealmNode.xcodeproj into RealmJS.xcodeproj
...
Moved it up one level since it references the whole source tree inside the src/ directory. Added the functionality to run Node tests from Xcode on the existing RealmNode target.
2016-05-19 14:50:27 -07:00
Scott Kyle
5198a5bf4b
Create a HandleScope before calling callbacks
2016-05-19 14:49:21 -07:00
Scott Kyle
5ecf13c261
Create a HandleScope before calling callbacks
2016-05-19 14:49:21 -07:00
Scott Kyle
938c7fb2f4
Add a working WeakRealmNotifier for Node
...
Uses libuv APIs to async schedule onto the default Node run loop.
2016-05-19 14:49:21 -07:00
Scott Kyle
2eacb66ac4
Add a working WeakRealmNotifier for Node
...
Uses libuv APIs to async schedule onto the default Node run loop.
2016-05-19 14:49:21 -07:00
Ari Lazier
3b6ee92224
merge master
2016-05-19 14:08:42 -07:00
Ari Lazier
1ff7c49bdb
merge master
2016-05-19 14:08:42 -07:00
Ari Lazier
50c7b6245f
make unique ptr manually
2016-05-19 14:06:14 -07:00
Ari Lazier
a81627b1d0
make unique ptr manually
2016-05-19 14:06:14 -07:00
Ari Lazier
7f5ca3cee7
fix tab
2016-05-19 13:59:50 -07:00
Ari Lazier
b06d93a27d
node fixes
2016-05-19 13:35:06 -07:00
Ari Lazier
9c7292acff
chrome debug and and react native fixes
2016-05-19 13:27:36 -07:00
Scott Kyle
ea697f9904
Include comment about string_operator_t
2016-05-19 13:12:40 -07:00
Scott Kyle
cfc96995b4
Include comment about string_operator_t
2016-05-19 13:12:40 -07:00
Scott Kyle
db7cfc0f5d
Add a few more parser tests
2016-05-19 13:08:39 -07:00
Ari Lazier
fc794bbf31
pr fixes
2016-05-19 12:22:07 -07:00
Ari Lazier
8709f04e8b
pr fixes
2016-05-19 12:22:07 -07:00
Scott Kyle
6c0608356a
Allow key paths to start with "not" in queries
...
Fixes #445
2016-05-19 01:26:13 -07:00
Scott Kyle
60723269ec
Allow key paths to start with "not" in queries
...
Fixes #445
2016-05-19 01:26:13 -07:00
Ari Lazier
592a35a69e
add isValid methods to results and list
2016-05-16 16:01:14 -07:00
Ari Lazier
fd25afe214
add isValid methods to results and list
2016-05-16 16:01:14 -07:00
Ari Lazier
6af98acd11
combine other classes
2016-05-16 15:43:46 -07:00
Ari Lazier
e76cb3b905
combine class definitions and implementations for list and results
2016-05-16 15:43:46 -07:00
Ari Lazier
5fc79d4e99
apply latest changes from master
2016-05-16 15:37:40 -07:00
Scott Kyle
fb887d92f5
[0.13.0-rc] Bump version
2016-05-16 14:48:08 -07:00
Ari Lazier
0f74101074
Merge pull request #423 from realm/al-timestamp
...
Use new timestamp format
2016-05-16 13:52:31 -07:00
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
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
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
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
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
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
Thomas Goyne
e75ff49421
Fix check for the target results being invalid in ResultsNotifier::deliver()
...
m_target_results is no longer actually set to null when the notifier is
unregistered, so check the thing which is (i.e. m_realm).
2016-05-11 16:08:30 -07:00
Thomas Goyne
238e9e3b6b
Fix tracking of which tables need change info with multiple source notifier versions
2016-05-11 16:08:30 -07:00
Thomas Goyne
ea3a2f4711
Refactor the incremental change tracking for mixed source versions
2016-05-11 16:08:30 -07:00
Thomas Goyne
69cefd052e
Deliver the new TableView even if it did not change
...
Even if the new TV has the same rows as the old one, we need to hand it over to
the destination thread to bump the outside version of the destination thread's
TV to avoid rerunning the query there.
2016-05-11 16:08:30 -07:00
Thomas Goyne
83b4d8ded2
Make RealmCoordinator::run_async_notifiers a bit less gross
2016-05-11 16:08:30 -07:00
Thomas Goyne
32b05314f5
Remove extraneous semicolons
2016-05-11 16:08:30 -07:00
Thomas Goyne
2ce0e2e37f
Remove transaction log handlers for old pk functions
2016-05-11 16:08:30 -07:00
Thomas Goyne
c12d87427a
Clean up includes and forward declarations a bit
2016-05-11 16:08:30 -07:00
Thomas Goyne
155d949793
Only track inserts and deletes for tables being queried directly
...
# Conflicts:
# src/collection_notifications.cpp
# src/collection_notifications.hpp
2016-05-11 16:08:30 -07:00
Thomas Goyne
a86265f4dc
Move CollectionChangeBuilder to background_collection.hpp
2016-05-11 16:08:30 -07:00
Thomas Goyne
bc78c02e9d
Fix quadratic runtime of move_last_over() parsing
2016-05-11 16:08:30 -07:00
Thomas Goyne
2e80716629
Improve performance of move mapping when there are a lot of deletions
2016-05-11 16:08:30 -07:00
Thomas Goyne
ae9516dbb7
Improve performance for large numbers of deletions
2016-05-11 16:08:30 -07:00
Thomas Goyne
8623aa6c6b
Actually unregister List notifiers when the List is destroyed
2016-05-11 16:08:30 -07:00
Thomas Goyne
7a75e2bae2
Use a better data structure for IndexSet
...
Switch to a chunked vector-of-vectors which makes mid-insertions on large sets
much faster, and cache the begin/end/count for each chunk to make lookups much
more cache-friendly.
2016-05-11 16:08:30 -07:00
Thomas Goyne
f600487769
Speed up CollectionChangeBuilder::move_over()
2016-05-11 16:08:30 -07:00
Thomas Goyne
f051337cd3
Rename erase_and_unshift() to erase_or_unshift()
2016-05-11 16:08:30 -07:00
Thomas Goyne
dd336120b2
Fix compilation with GCC 4.9
2016-05-11 16:08:30 -07:00
Thomas Goyne
784c34e052
Add property.hpp to HEADERS
2016-05-11 16:08:30 -07:00
Thomas Goyne
bab5540cf6
Fix incorrect results when the second-to-last row is deleted
2016-05-11 16:08:30 -07:00
Thomas Goyne
20d9da973b
Make List and Results notifications more consistent
...
Deliver the initial results for both of them and include the changeset
in the initial delivery for both, rather than having them behave weirdly
differently.
2016-05-11 16:08:30 -07:00
Thomas Goyne
7a74a22558
Fix tracking of modifications after linkview moves
2016-05-11 16:08:30 -07:00
Thomas Goyne
a0b16305c9
Fix dangling pointers to a reallocated vector when there are multiple source versions for handover
2016-05-11 16:08:30 -07:00
Thomas Goyne
ef632804ef
Clean up stale moves for linkviews even without a merge
2016-05-11 16:08:30 -07:00
Thomas Goyne
feed7c3479
Update moves when there is another move to exactly the previous move target
2016-05-11 16:08:30 -07:00
Thomas Goyne
0a3158ce74
Fix marking deletions when chaining move_last_over()
2016-05-11 16:08:30 -07:00
Thomas Goyne
1289c4806c
Fix handling of move_last_over() on the second-to-last row
2016-05-11 16:08:30 -07:00
Thomas Goyne
edc0d1fc4a
Improve and expand the changeset calculation 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
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
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
6380335fc3
Extract out the parts of AsyncQuery not directly related to query running
2016-05-11 16:08:30 -07:00
Nabil Hachicha
895c6a3056
Copying embedded Realm files using AssetManager from JNI
2016-05-11 19:56:59 +01: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
Ari Lazier
cf4fd74f52
pr fixes for build script
2016-05-10 14:01:27 -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
Scott Kyle
26d2c169a9
Support ES6 class inheritance from Realm.Object
...
Unfortunately, this was broken because our native Realm.Object constructor was not presenting itself as a function in JS. This fixes that and adds tests.
2016-05-09 16:49:05 -07:00
Scott Kyle
651449108e
Improve usage of js::PropertyAttributes
2016-05-09 16:08:04 -07:00
Ari Lazier
a960d88893
add project for building/debugging node
2016-05-09 15:16:37 -07:00
Ari Lazier
e71fb3766b
convert old date columns
2016-05-09 13:12:48 -07:00
Ari Lazier
9c7b01091f
convert old date columns
2016-05-09 13:12:48 -07:00
Scott Kyle
40855f789c
Prevent accidental leak of RealmDelegate
...
If a binding context already exists, we make sure it's a js::RealmDelegate for the same JS context. If not, then we throw an exception because this could lead to serious trouble.
Also, we update the defaults and constructors only if new ones were provided.
2016-05-06 15:40:35 -07:00
Ari Lazier
477f7b1f33
add hook for detecting file format upgrade
2016-05-05 19:39:50 -07:00
Ari Lazier
87c9dda321
add hook for detecting file format upgrade
2016-05-05 19:39:50 -07:00
Ari Lazier
28a7efcd1b
add test for current date
2016-05-05 17:36:48 -07:00
Ari Lazier
7b3fa3bc42
fix leaking realm
2016-05-05 17:10:56 -07:00
Ari Lazier
76c2d3cd54
fix leaking realm
2016-05-05 17:10:56 -07:00
Ari Lazier
3b24a4270e
fix for object link nullification
2016-05-05 14:08:58 -07:00
Ari Lazier
7a6141e066
fix for object link nullification
2016-05-05 14:08:58 -07:00
Ari Lazier
4daa1ff5a1
upgrade to latest core and object store
2016-05-05 13:09:07 -07:00
Ari Lazier
54fede2715
upgrade to latest core and object store
2016-05-05 13:09:07 -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
25d245deda
Use erase-remove_if in RealmCoordinator::unregister_realm()
2016-05-04 10:21:44 -07:00
Scott Kyle
24dab1e8d7
Heed v8 warning in Node v6 from v8::Template::Set
2016-05-04 02:14:50 -07:00
Ari Lazier
513c0fee77
Merge pull request #416 from realm/al-ignored
...
Allow setting of non-persisted properties
2016-05-03 13:47:44 -07:00
Ari Lazier
d26924e2f9
allow setting of non-persisted properties
2016-05-03 13:05:48 -07:00
Scott Kyle
c8e7ddc3af
[0.12.0-rc] Bump version
2016-05-03 12:06:15 -07:00
Scott Kyle
18a4d66903
Explicitly stop the RPCWorker in RPCServer destructor
2016-05-03 12:06:15 -07:00
Scott Kyle
32219cf0a3
Clear protected value maps in RPCServer destructor
2016-05-03 11:42:37 -07:00
Scott Kyle
741db2037f
Merge pull request #407 from realm/sk-chrome-migration
...
All tests now pass in Chrome debug mode (including migration)
2016-05-02 16:19:09 -07:00
Ari Lazier
6e4a7f1019
remove extraneous quote
2016-05-02 12:57:15 -07:00
Ari Lazier
8eef37a46f
remove extraneous quote
2016-05-02 12:57:15 -07:00
Ari Lazier
bf488274a3
improve error message when specifying invalid schema
2016-05-02 12:45:42 -07:00
Ari Lazier
0d1b22b10d
improve error message when specifying invalid schema
2016-05-02 12:45:42 -07:00
Scott Kyle
e8cd20d7bb
Use RPC callback mechanism for writes and listeners
...
The callbacks are stored by their id in the RPCServer so they are properly uniqued. This prevents the same callback from being added multiple times as a change listener.
2016-05-02 12:41:53 -07:00
Scott Kyle
889b762566
Allow protected values to be empty
...
This makes them much more friendly to being put inside of STL containers, like maps.
2016-05-02 12:33:20 -07:00
Scott Kyle
dd23c66e69
Address some PR feedback with more comments
2016-05-01 14:35:18 -07:00
Scott Kyle
32a8a2ed72
Make migration tests work in Chrome debug mode
...
All realm operations for the RPC are now done in their own thread so it can be allowed to block on waiting for callback results. The recursive and multi-threaded nature of this makes it pretty tricky, but it works!
2016-04-29 13:55:49 -07:00
Ari Lazier
2b6b0b97f4
Merge pull request #406 from realm/al-workspace
...
Add workspace and clean up xcproject layout
2016-04-29 13:53:26 -07:00
Ari Lazier
5a9e24cb06
tab to space
2016-04-29 13:11:19 -07:00
Ari Lazier
0c05259558
remove old umbrella header
2016-04-29 12:58:25 -07:00
Ari Lazier
c493a8070b
add workspace and clean up xcproject layout
2016-04-29 12:00:40 -07:00
Scott Kyle
85919dc66f
Fix realm.schema property in Chrome debug mode
2016-04-29 11:16:10 -07:00
Ari Lazier
2b35360117
add readOnly property
2016-04-28 15:50:43 -07:00
Ari Lazier
b9b3812c86
support for read-only realms
2016-04-28 15:42:28 -07:00
Ari Lazier
a2ed550dde
Merge pull request #383 from realm/al-migration
...
Basic data migrations
2016-04-28 15:40:27 -07:00
Ari Lazier
2c85f032d9
compare non-existent properties to undefined
2016-04-28 13:21:30 -07:00
Ari Lazier
af9b54074e
pr feedback
2016-04-28 13:03:38 -07:00
Ari Lazier
79446f957a
test and bug fixes
2016-04-28 12:44:48 -07:00
Ari Lazier
cff099a4af
tests and bugfixes
2016-04-28 12:16:16 -07:00
Scott Kyle
850e3a4090
Add validate_read() check to Results::set_live()
...
If the Results is detached, then this can cause a crash.
2016-04-28 09:39:53 -07:00
Scott Kyle
041530ee72
Add validate_read() check to Results::set_live()
...
If the Results is detached, then this can cause a crash.
2016-04-28 09:39:53 -07:00
Scott Kyle
cf5112467c
Fix InvalidSchemaVersionException message
2016-04-27 14:00:34 -07:00
Scott Kyle
0c4dfcb914
Fix InvalidSchemaVersionException message
2016-04-27 14:00:34 -07:00
Scott Kyle
d4d5e28d26
Improve error message for non-object ObjectSchema
2016-04-27 14:00:14 -07:00
Scott Kyle
ca87f5a3e0
Fix Node crash from calling function with empty this
2016-04-27 10:42:42 -07:00
Ari Lazier
8602787fc9
add schema getters
2016-04-27 08:31:05 -07:00
Ari Lazier
fea0b69865
add support for non-memmber functions
2016-04-27 08:30:59 -07:00
Ari Lazier
17e5946af4
support for data migrations
2016-04-27 08:30:59 -07:00
Ari Lazier
588bbc327a
remove un-needed usings
2016-04-26 17:40:56 -07:00
Ari Lazier
6e93d85420
pr fixes
2016-04-26 16:59:03 -07:00
Ari Lazier
27d973151f
pr fixes
2016-04-26 16:59:03 -07:00
Ari Lazier
cec8667e35
create RealmObject class and make isValid a member
2016-04-26 16:30:04 -07:00
Ari Lazier
b59784670b
create RealmObject class and make isValid a member
2016-04-26 16:30:04 -07:00
Ari Lazier
988f723f49
remove unnecessary catch block
2016-04-21 13:38:10 -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
75d8f5b759
bugfix for empty results, fix for realm.isValid
2016-04-19 17:29:34 -07:00
Ari Lazier
4d8d1d96e4
api to check if object has been deleted
2016-04-19 17:29:34 -07:00
Ari Lazier
3509caedd5
bugfix for empty results, fix for realm.isValid
2016-04-19 17:29:34 -07:00
Ari Lazier
6072061463
api to check if object has been deleted
2016-04-19 17:29:34 -07:00
Scott Kyle
2a58862070
Add test script for Node
2016-04-19 14:10:10 -07:00
Scott Kyle
8e5afeccc9
Fix another crash involving protected values
2016-04-19 03:58:23 -07:00
Scott Kyle
541791fd85
Fix crash by properly protecting JSC values
...
The previous implementation was lazy and ended up unprotecting values due to the move constructor being defaulted.
2016-04-19 03:18:02 -07:00
Scott Kyle
8ff23b5411
Fix build issues on Android
...
GCC was more strict with how we handled some types.
2016-04-18 18:30:55 -07:00
Scott Kyle
fc49470b3c
Fix for failing nested transaction test
2016-04-18 15:11:56 -07:00
Scott Kyle
a0424c6600
Fix some styling of exception handling in JS wrappers
2016-04-18 15:11:36 -07:00
Scott Kyle
4731610a58
Merge branch 'master' into sk-node
...
* master:
add keypath tests
pr feedback, changelog
typo
bug fix
tests
support keypath comparisons for types that support it
support for null queries
don't require optional or link properties when creating objects
[0.11.1] Bump version
Update CHANGELOG with 0.11.1 fixes
Update changelog script
Remove changes_available implementation that asserts
Get correct path to adb from Android Studio
add some simple tests for Realm.write
Update apps to use React Native 0.22
2016-04-18 14:19:06 -07:00
Scott Kyle
1ca5a43982
Revert TValue to ValueType, etc.
2016-04-18 12:18:13 -07:00
Scott Kyle
49e2b54151
Convert some more camelCase in js_realm.hpp
2016-04-18 12:17:45 -07:00
Scott Kyle
5c56a99403
Split up JS abstractions into type-specific files
2016-04-18 01:15:54 -07:00
Scott Kyle
d57483c675
Rename js_object.hpp -> js_realm_object.hpp
2016-04-18 01:14:48 -07:00
Scott Kyle
10f08747e7
Rename remained camelCase to snake_case
...
And fix some minor build warnings along the way.
2016-04-18 01:01:04 -07:00
Scott Kyle
60a3cd4399
Remove unused js_schema.cpp
2016-04-17 22:33:18 -07:00
Scott Kyle
a5bf9ed8dd
Define most of jsc::ObjectWrap separately
2016-04-17 22:12:23 -07:00
Scott Kyle
5ed2c3cf25
Define most of node::ObjectWrap separately
2016-04-17 22:00:06 -07:00
Scott Kyle
7c97a1752e
Remove need for BaseClassDefinition
2016-04-16 16:46:16 -07:00
Scott Kyle
999900ff00
Fix script that copies query-tests.json
2016-04-16 16:30:02 -07:00
Scott Kyle
2641e5a2a1
Move JSC object accessor code into header
2016-04-15 16:10:25 -07:00
Scott Kyle
133289ad85
All tests now pass on Node
2016-04-15 16:06:44 -07:00
Ari Lazier
bd4088ce91
key templates off explicitly defined classes rather than the internal type
2016-04-15 13:47:01 -07:00
Ari Lazier
760126f0d7
public before private
2016-04-15 11:59:10 -07:00
Ari Lazier
e8ca5ff92e
ObjectClass -> ClassDefinition
2016-04-15 10:50:15 -07:00
Ari Lazier
c817ac7eac
create -> create_instance
2016-04-14 11:19:01 -07:00
Ari Lazier
84559316d8
compact property getter/setter types
2016-04-14 11:06:17 -07:00
Ari Lazier
0b2a75bdc3
use different naming convention for extracted template types
2016-04-14 10:54:43 -07:00
Scott Kyle
c0c65ad620
Make all JSC tests pass again
2016-04-13 03:21:18 -07:00
Scott Kyle
05c432deb1
WIP Node support
...
The JS engine details are mostly abstracted away. This breaks JSC support until the rest of the pieces are in place. The Node version builds and runs, but crashes when creating a Realm object.
2016-04-12 11:53:30 -07:00