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).
* sk-sorted-results:
Add sorted() method to List
Further improve argument checking for sorted()
Improve error message in sorted() method
Change sortedBy API as discussed
Allow sortedBy to accept array of properties
Change sortByProperty to return new Results
This uses agvtool to update the CURRENT_PROJECT_VERSION and DYLIB_CURRENT_VERSION project variables. The Info.plist files have been updated to propagate this value.
The method name changed to sortedBy to reflect that it returns a new Results object and to be more succinct. Also, the second optional argument instead reflects descending (or rather, reverse) since it's an anti-pattern to have an optional argument default to true in JS, and this also follows precedences set by other JS libraries and by Python's sorted function.
* master: (207 commits)
Convert to using new React Native MainActivity template
Create RealmReactPackage for our Android plugin
Fix doc for Android
NPM ignore react-native/android folder
Skip building Android module under Xcode
Skip building Android module for iOS tests
gitignore Android downloads folder
Update README with instructions to run on Android
Use un-patched RN for Android by installing hook into JSC
cleanup build system
Use Realm in node_modules for ReactTests on Android
Change Demo => ReactTests
adding a 'publishAndroid' task to generate the AAR with prebuilt .so files
Adjust POM_NAME
Use consistent package naming
Remove old Demo files
Add copyright to JNI file
Cleanup platform.hpp
Make our Android module buildable as a dependency
Add `npm test` command
...
fixes
enumeration test and test setup
add async store api tests
Log benchmark test errors and some other minor edits
Only delete .realm* files for tests
sql lite tests
run all the tests
worthless
Make SQLite benchmarks work
Make Realm insertion benchmark work like SQLite
run each test in release multiple times
Open each database once per benchmark test
Use same AppDelegate for benchmarks as the example
This will load the non-dev JS from the packager.
Make the benchmarks actually match their labels
Delete benchmark databases during setup phase
Some minor code style updates to benchmarks
query tests
make query test mostly work
bug fix and improved logging
remove double insertions
improved logging and bugfix
better logging
batch insersions
more reasonable counts
android
This works by installing some assembly into JSGlobalContextCreateInGroup() that will immediately jump out into our own wrapper function so we always can inject the Realm constructor into the context.
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.