986 Commits

Author SHA1 Message Date
Scott Kyle
af52e9f437 Make stuff build for Node and Android 2016-06-14 17:22:04 -07:00
Ari Lazier
2e3b95f2e7 merge latest master 2016-06-14 16:40:57 -07:00
Ari Lazier
f0b533c75f add util back to header path 2016-06-14 15:11:19 -07:00
Ari Lazier
08dd1a41be always invalidate newly opened realms 2016-06-14 14:36:27 -07:00
Ari Lazier
81a32909c1 update to latest object store changes 2016-06-14 14:33:27 -07:00
Ari Lazier
5b8f43dca2 get latest from os branch 2016-06-14 13:51:40 -07:00
Scott Kyle
6d524107e0 Silence warnings about member function pointers
The base ClassDefinition defines its constructor member as null, but some subclass have a static constructor function. This allows both cases to be handled without a warning.
2016-06-13 17:24:43 -07:00
Scott Kyle
43f7329047 Remove confusing, unnecessary typedef
This is not used anywhere.
2016-06-13 17:24:43 -07:00
Scott Kyle
9bcb30e86d Add missing source files to RealmNode target 2016-06-13 17:24:43 -07:00
Ari Lazier
c7e156a7b8 Merge pull request #488 from realm/al-typos
fixes for typos and added upsert test
2016-06-13 14:51:53 -07:00
Ari Lazier
0a4e0665ae fixes for typos and added upsert test 2016-06-13 14:46:26 -07:00
Ari Lazier
3901bf53dc Merge pull request #479 from realm/al-muti-realm
fix for setting properties to objects from other realms
2016-06-13 14:44:28 -07:00
Scott Kyle
6aa9825cd1 Merge pull request #469 from realm/sk-object-store-merge
Merge latest object store (includes Android async stuff)
2016-06-13 14:38:28 -07:00
Ari Lazier
2b48ebb30a negate if statements 2016-06-13 14:07:50 -07:00
Kenneth Geisshirt
57a1015b85 Killing a few gcc warnings (#88)
* killing a few gcc warnings
2016-06-13 09:31:41 +02:00
Scott Kyle
cd20d870dd Fix crash from querying with object from another Realm 2016-06-09 15:32:37 -07:00
Scott Kyle
cdcb99a502 Improvements from PR feedback 2016-06-09 13:07:05 -07:00
Ari Lazier
81feca0ce9 fix for setting properties to objects from other realms 2016-06-08 11:22:12 -07:00
Mark Rowe
7f1be608f3 Merge pull request #85 from realm/mar/cocoa-list
Pull in changes to List from realm-cocoa
2016-06-07 15:45:08 -07:00
Thomas Goyne
5054bbc1a2 Add the path of the Realm file to the config mismatch exception message 2016-06-06 15:30:57 -07:00
Thomas Goyne
bd0913bc03 Pull in changes to List from realm/realm-cocoa@355657f168. 2016-06-06 15:09:26 -07:00
Mark Rowe
152697d199 Add the linking objects property type. 2016-06-06 11:49:29 -07:00
Mark Rowe
abca7c26e1 Add support for the concept of computed properties. 2016-06-06 11:41:34 -07:00
Chen Mulong
64e733e4d7 Fix compile errors for NDK (#82)
make_unique<TableView> causes ambiguous call with NDK's default gnustl.
Compiler fails to decide which constructor of Query to use.
2016-06-06 18:27:05 +08:00
Scott Kyle
cd0bb079b7 Implement objectForPrimaryKey() method
Resolves #328
2016-06-03 16:51:32 -07:00
Scott Kyle
cb889ea8f8 Merge pull request #466 from realm/sk-remove-gcov-config
Remove unused GCov_Build configuration
2016-06-03 16:04:29 -07:00
Thomas Goyne
f4e5049f47 Add basic string formatting for error messages
The main motivation for this is that building error messages via string
concatenation is tedious and makes it hard to judge what the actual message
looks like when there are a lot of parts being inserted, to the extent that
I've been tempted to leave out some potentially useful information because the
code was getting unwieldy.

It also has some small functional benefits: bools are printed as true/false
rather than 1/0, and it is optimized for minimizing the compiled size.
Currently it cuts ~30 KB off librealm-object-store.dylib even with the addition
of new functionality.
2016-06-03 13:19:42 -07:00
Ari Lazier
49fd092cae Fix for whitespce 2016-06-02 22:05:17 -07:00
Mark Rowe
57ee591809 Merge pull request #78 from realm/mar/weakrealmnotifier-leak
Fix a potential leak within WeakRealmNotifier
2016-06-01 13:07:56 -07:00
Mark Rowe
8685390345 Merge pull request #77 from realm/mar/results-leak
Fix move-assigning to a Results that has a notifier to not leak the Realm
2016-06-01 13:07:45 -07:00
Thomas Goyne
6d22d28fea Merge pull request #72 from realm/tg/core-1.0.0
Upgrade to core 1.0.0 and update the file exception translation to match
2016-06-01 12:02:27 -07:00
Mark Rowe
08404d7098 Express Results' asignment operators in terms of their equivalent
constructors.

This avoids having to repeat the move constructor's logic in the move
assignment operator, and allows the copy assignment operator to compile
despite `TableViewBase`'s missing copy assignment implementation. the
copy assignment implementation can be defaulted once `TableViewBase` is
fixed.
2016-06-01 11:50:25 -07:00
Mark Rowe
3e952269da Have Results default its copy constructor.
The custom implementation was an attempt to ensure that
`m_has_used_table_view` and `m_wants_background_updates` had appropriate
intial values. Thomas pointed out that we can remove the reliance on the
initial values by ensure that `prepare_async` sets
`m_wants_background_updates`, removing the need for a custom copy
constructor.
2016-06-01 11:48:35 -07:00
Mark Rowe
fc63c4f67b Merge pull request #76 from realm/mar/fix-building-tests-in-xcode
Fix building tests in Xcode
2016-06-01 11:40:14 -07:00
Mark Rowe
2a75edde8e Move Lists defaulted constructors and assignment operators out of line. 2016-06-01 11:29:32 -07:00
Scott Kyle
b5853c2590 Merge remote-tracking branch 'object-store/master' into sk-object-store-merge
* object-store/master:
  Make Realm::is_closed() work on read-only instances
  Fix for object store build issues on Android
  Implement commit helper and realm notifier for Android (#69)
  Build both dynamic and static libraries.
  moving pegtl dependency as step 1 in install doc
  update docu (install procedure)
2016-06-01 10:14:16 -07:00
Mark Rowe
702b8a31fb Avoid leaking the runloop and source if WeakRealmNotifier is move-assigned. 2016-05-31 21:54:40 -07:00
Mark Rowe
65a748de0c Fix move-assigning to a Results that has a notifier to not leak the
`Realm`, and moving from a `Results` to not result in a use-after-free.

The compiler generated move-assignment operator resulted in `m_notifier`
being assigned to without first calling `CollectionNotifier::unregister`.
This left a retain cycle in place, causing the `Realm` and other objects
to leak.

`ResultsNotifier` keeps track of which `Results` it should update when a
new `TableView` becomes available. When `Results` move-assignment
operator and move-constructor transfer ownership of the
`ResultsNotifier` to a new instance they also need to update its target
so it won't attempt to update the moved-from `Results`.
2016-05-31 19:03:29 -07:00
Mark Rowe
7e99634567 Fix building tests in Xcode.
The Xcode project generated by CMake doesn't create the dylib when built
as the dylib target does not contain any source files. Adding an empty
placeholder .cpp file to the target is sufficient to convince Xcode to
produce the dylib.
2016-05-31 17:16:52 -07:00
Mark Rowe
344fc42d4e Avoid copying Object unnecessarily. 2016-05-31 15:54:43 -07:00
Mark Rowe
efdf0e01a9 Avoid copying List unnecessarily. 2016-05-31 15:27:48 -07:00
Scott Kyle
3b9b8cbc75 Remove unused GCov_Build configuration
We've never really used this, so let's remove it until we ever actually need something like this.
2016-05-31 11:30:24 -07:00
Scott Kyle
385fe97861 Make Realm::is_closed() work on read-only instances 2016-05-31 11:27:39 -07:00
Scott Kyle
7bb8a04359 Fix for object store build issues on Android 2016-05-31 11:11:39 -07:00
Scott Kyle
560e725398 Address some issues in WeakRealmNotifier for Node 2016-05-31 10:05:14 -07:00
Yavor Georgiev
91c87e4de6 Implement commit helper and realm notifier for Android (#69)
* Implement commit helper and realm notifier for Android

* Remove non-existent include

* Shut down the current instance when move-assigning

* Only use Android logging when on Android

* Cleanup realm_ptr when it hasn't been sent over the pipe

* Assed that WeakRealmNotifier is closed on the thread it was created on

* Typo

* Fix syntax error

* changes after code review

* Use the proper preprocessor definition for Android

* Pass the correct address to write(2)

* Explicitly handle looper events

* changes after code review

* Do not return after handling ALOOPER_EVENT_HANGUP

* Handle HANGUP after INPUT
2016-05-31 17:15:32 +02:00
Ari Lazier
df040c7d99 fix for comment 2016-05-27 16:25:33 -07:00
Ari Lazier
7829cb5f33 fix for comment 2016-05-27 16:25:33 -07:00
Ari Lazier
38c6eb7b6b more pr feedback 2016-05-27 16:03:03 -07:00
Ari Lazier
3e74cd98d5 more pr feedback 2016-05-27 16:03:03 -07:00