Ari Lazier
24be3ab825
remove unnedded constructors/destructor
2016-01-04 16:51:51 -08:00
Ari Lazier
3e45625748
pr fixes
2016-01-04 16:37:07 -08:00
Ari Lazier
4c7d6d8b2f
remove unnecessary const cast
2016-01-04 16:27:37 -08:00
Ari Lazier
d964c77d2d
store ObjectSchema as a pointer rather than a reference
2016-01-04 16:21:28 -08:00
Scott Kyle
a9b9e479cf
Explicitly check if row is attached
2016-01-04 16:17:28 -08:00
Ari Lazier
df901c636f
store ObjectSchema as a pointer rather than a reference
2016-01-04 16:04:01 -08:00
Ari Lazier
aa5e1bef7d
remove invalid usage of const Schema
2016-01-04 15:54:03 -08:00
Ari Lazier
148abd4b7b
merge latest object store changes
2016-01-04 15:42:32 -08:00
Scott Kyle
632f9d737e
Add methods to create snapshot of List and Results
...
The Results class was updated to match the style of List and include a flag (m_live) that determines if it should sync updates. If an object in the static Results is deleted, then it will return null.
2015-12-30 16:53:26 -08:00
Scott Kyle
602613b992
Update to Realm Core 0.95.5
2015-12-30 16:53:26 -08:00
Scott Kyle
5fe90c9904
Move RealmJS.mm to correct location
2015-12-29 14:55:20 -08:00
Ari Lazier
a73229758d
pr feedback
2015-12-18 14:37:41 -08:00
Ari Lazier
df9468f8d0
fix for copy assignment
2015-12-17 18:40:26 -08:00
Ari Lazier
9b907b336a
results should store const ObjectSchema
2015-12-17 17:32:51 -08:00
Ari Lazier
86e95fb9b1
Schema stored in Realm::Config should be const
2015-12-17 16:18:16 -08:00
Scott Kyle
41ef7c41a6
Fix crash caused by accessing invalid ObjectSchema
...
These references would eventually become invalid. The quickest fix is for them to no longer be references. The longer-term fix might be to only store the object type and dynamically retrieve the ObjectSchema only when necessary.
Fixes #181
2015-12-16 13:04:53 -08:00
Scott Kyle
4109c86343
Make Realm object properties enumerable
2015-12-08 03:26:57 -08:00
Ari Lazier
5d1e9d4dd3
pr fixes
2015-11-30 11:47:32 -08:00
Ari Lazier
71ef42bd61
move rpc react modele back to lib
2015-11-30 11:31:58 -08:00
Ari Lazier
ca843cb48b
pr fixes
2015-11-30 11:23:30 -08:00
Ari Lazier
5f584f747f
use underscore rather than dash
2015-11-30 11:23:29 -08:00
Ari Lazier
eb44b27633
move everything/rename to make room for android
2015-11-30 11:23:29 -08:00
Ari Lazier
f714d11293
Merge pull request #172 from realm/al-keypath
...
tests for keypath queries
2015-11-29 19:29:14 -08:00
Ari Lazier
7ad2786359
Merge pull request #168 from realm/al-os-merge
...
Integrate new Results class
2015-11-29 18:58:55 -08:00
Ari Lazier
cdb254ca44
tests for keypath queries
2015-11-29 18:56:50 -08:00
Ari Lazier
8a00a2f92a
call results constructor taking a table when no query is provided
2015-11-25 19:59:51 -08:00
Ari Lazier
39e3b017a4
integrate new results class
2015-11-25 19:57:15 -08:00
Ari Lazier
1b37e0945f
make None the first enum type
2015-11-25 19:10:59 -08:00
Ari Lazier
96994a24cc
use current_group() helper
2015-11-25 18:34:36 -08:00
Ari Lazier
fbb1f42c6e
don't merge predicate to negated and group
2015-11-25 18:32:13 -08:00
Ari Lazier
6449d34735
more tests
2015-11-25 12:57:56 -08:00
Ari Lazier
3fba2f3a19
add a few more tests
2015-11-25 12:54:13 -08:00
Ari Lazier
d967a8a4e4
process compound operators in the correct order
2015-11-25 12:49:31 -08:00
Ari Lazier
2324f8cc9b
fix for mixed && and || queries
2015-11-24 11:18:03 -08:00
Ari Lazier
812930285e
compount parser tests
2015-11-24 10:39:42 -08:00
Ari Lazier
63ffaf7adb
fix for reload in example
2015-11-23 19:00:31 -08:00
Ari Lazier
2096f7aa00
latest from object store branch
2015-11-23 11:26:50 -08:00
Ari Lazier
e3b638edf3
pr fixes
2015-11-23 08:56:36 -08:00
Ari Lazier
9ea8ab25c5
pr feedback
2015-11-23 08:47:09 -08:00
Ari Lazier
49955a03e3
use cpp extension for pure cpp files
2015-11-20 19:32:35 -08:00
Ari Lazier
df7474feb3
run parser tests in RealmJSTests
2015-11-20 15:16:35 -08:00
Ari Lazier
40f0e5f274
move queryTests to parser dir
2015-11-20 14:51:04 -08:00
Ari Lazier
494fbd3a06
object tests
2015-11-20 14:14:35 -08:00
Ari Lazier
7b993d2f09
turn off parser analyze
2015-11-19 15:59:16 -08:00
Ari Lazier
22ca94e36e
test and bug fixes for data queries
2015-11-19 15:17:57 -08:00
Ari Lazier
0e8ca5ed05
add binary query support
2015-11-19 13:05:37 -08:00
Ari Lazier
aa3bad1a69
more string tests and bugfix
2015-11-19 13:05:37 -08:00
Ari Lazier
be93d3dd58
first string tests and custom error messages
2015-11-19 13:05:37 -08:00
Ari Lazier
20ac833e41
bool tests
2015-11-19 13:05:37 -08:00
Ari Lazier
5784bbe6ed
start porting over objc query tests
2015-11-19 13:05:37 -08:00
Ari Lazier
2cc88b5a26
fix for not predicate
2015-11-19 13:05:37 -08:00
Ari Lazier
3828417f32
compound tests
2015-11-19 13:05:37 -08:00
Ari Lazier
5dda5f4b6b
test not, remove requirement of padding
2015-11-19 13:05:37 -08:00
Ari Lazier
f402a45a40
change argument syntax to use $ instead of {}
2015-11-19 13:05:37 -08:00
Ari Lazier
5c56a5c87c
tests for all expressions/operators
2015-11-19 13:05:37 -08:00
Ari Lazier
735b49ff2a
fix and tests for arguments
2015-11-19 13:05:37 -08:00
Ari Lazier
676b86d194
more grammer tests
2015-11-19 13:05:37 -08:00
Ari Lazier
f46e92468c
add basic test harness for grammer validation
2015-11-19 13:05:37 -08:00
Ari Lazier
7829d21bd4
add macro to enable/disable debug token printing
2015-11-19 13:05:37 -08:00
Ari Lazier
9309bbfbf8
make precondition a macro
2015-11-19 13:05:37 -08:00
Ari Lazier
f3d7855c99
test and fix for date queries
2015-11-19 13:05:37 -08:00
Ari Lazier
3a198ec507
support query format strings
2015-11-19 13:05:37 -08:00
Ari Lazier
3b698400b7
support for querying boolean properties
2015-11-19 13:05:37 -08:00
Ari Lazier
bb16ffa7fe
add required padding around string operators, use pegtl_istring_t
2015-11-19 13:05:37 -08:00
Ari Lazier
e7e4b6715e
move query building to a separate file
2015-11-19 13:05:37 -08:00
Ari Lazier
2f1c26ad73
remove duplicate code, add argument expression type
2015-11-19 13:05:37 -08:00
Ari Lazier
c776290df8
code cleanup, bugfixes
2015-11-19 13:05:37 -08:00
Ari Lazier
d8c89c7098
support for truepredicate/falsepredicate, single quote strings - all tests now pass
2015-11-19 13:05:37 -08:00
Ari Lazier
c7c0698ad0
hook it up
2015-11-19 13:05:37 -08:00
Ari Lazier
11b27dbdbf
store negated predicates in parse tree
2015-11-19 13:05:37 -08:00
Ari Lazier
4b3417736f
support OR with proper precedence
2015-11-19 13:05:37 -08:00
Ari Lazier
5bdc6eba93
parse tree construction
2015-11-19 13:05:37 -08:00
Ari Lazier
2f287d046d
full grammar
2015-11-19 13:05:37 -08:00
Ari Lazier
ed4e59c8d0
compound predicates
2015-11-19 13:05:37 -08:00
Ari Lazier
6ea80c4ecd
beginnings of a parser
2015-11-19 13:05:37 -08:00
Ari Lazier
d1a579c922
size_t, no std::size_t
2015-11-19 07:07:33 -08:00
Ari Lazier
55851f6d99
fix for rpc constants and other pr feedback
2015-11-18 17:55:30 -08:00
Ari Lazier
a12b6caedb
fixes to list.cpp/hpp based on object store pr feedback - use lowercase strings for property names
2015-11-18 14:36:46 -08:00
Scott Kyle
7b115a934b
ArrayBufferView objects now fully supported
...
Previously we were not accounting for the byte offsets and misunderstood how the Uint8Array constructor worked. The tests now confirm everything works as expected with multiple different typed arrays and slices of the data.
2015-11-17 13:32:32 -08:00
Scott Kyle
616f78ea07
Add support for data properties in RPC layer
...
The data is base64 encoded before being sent via the RPC.
2015-11-17 13:32:31 -08:00
Scott Kyle
3bf84a1b6f
Update data properties to return ArrayBuffers
...
As a convenience, the setters will take typed Arrays (e.g. Uint8Array) since that is a common representation of data in JS (as they are "views" of ArrayBuffer objects).
The tests have been updated to reflect this new behavior.
2015-11-17 13:32:31 -08:00
Ari Lazier
159931e4ec
pr fixes
2015-11-16 17:36:28 -08:00
Ari Lazier
53911fefb6
block refresh until the last context has finished execution
2015-11-16 11:16:09 -08:00
Ari Lazier
df15c5f722
integrate latest object store changes
2015-11-13 18:20:40 -08:00
Ari Lazier
52da420496
integrate latest object store changes
2015-11-13 18:20:27 -08:00
Scott Kyle
5320df9a5f
Merge pull request #116 from realm/sk-realmjs-api
...
Create API that returns constructor JSObjectRef
2015-11-03 16:39:08 -08:00
Scott Kyle
83869e2193
Prevent memory leaks when adding listeners
...
Check if the callback has already been added to the set before protecting it. Vice versa for unprotecting it when removing the listener.
2015-11-03 02:43:29 -08:00
Scott Kyle
aff11983f3
Create API that returns constructor JSObjectRef
...
Resolves #98
2015-11-02 22:51:33 -08:00
Ari Lazier
196a0a15a4
allow setting nullable properties to undefined
2015-11-02 10:08:23 -08:00
Ari Lazier
2cff7e291f
create docs dir in binding
2015-10-28 14:45:31 -07:00
Ari Lazier
841f45a7b2
change the license before starting the beta
2015-10-27 14:15:21 -07:00
Ari Lazier
ec87281cc1
don't convert undefined to null in rpc requests
2015-10-27 12:13:57 -07:00
Ari Lazier
18d65471be
fix and tests for setting null properties
2015-10-27 12:13:57 -07:00
Ari Lazier
ac1cdfdc8b
support null for basic propety types
2015-10-27 12:13:57 -07:00
Ari Lazier
e3fb40f299
enable nullable propeties without a macro
2015-10-27 12:13:57 -07:00
Ari Lazier
fc631c3e6f
wont work until we have propery object store support
2015-10-27 12:13:57 -07:00
Ari Lazier
db67fe71ea
only ignore invalid property exceptions
2015-10-27 09:39:52 -07:00
Ari Lazier
9092f9ac5f
use typed exceptions
2015-10-27 09:39:52 -07:00
Scott Kyle
0511bade62
Non-existent object getters shouldn't throw exceptions
2015-10-27 09:39:52 -07:00
Ari Lazier
a1c4cd5702
pr fixes
2015-10-27 07:48:11 -07:00
Ari Lazier
6f41c3cf68
take notification name
2015-10-26 19:18:24 -07:00
Ari Lazier
6f57500972
change notification name to change
2015-10-26 16:19:12 -07:00
Ari Lazier
246ccc7bde
add other notification methods
2015-10-26 16:15:46 -07:00
Ari Lazier
ab1965c27e
no more notification token
2015-10-26 16:03:32 -07:00
Ari Lazier
b7d47ac543
apply newest object store changes
2015-10-26 15:27:43 -07:00
Scott Kyle
d3cf748dc1
Rename RealmRPC.mm -> RealmRPC.cpp
2015-10-26 01:20:14 -07:00
Scott Kyle
0843d69a4f
Expose RealmJS API as C functions
...
We're still using Objective-C to delete test files, so we can't rename the implementation file quite yet.
2015-10-26 01:14:33 -07:00
Ari Lazier
28e21041bc
bugfix and move gcd out of rpc
2015-10-22 18:06:11 -07:00
Ari Lazier
8b5a8a731c
fix naming
2015-10-22 17:59:05 -07:00
Ari Lazier
c3c9cee0ee
make it work
2015-10-22 16:49:32 -07:00
Ari Lazier
92a9113ef6
get it to compile
2015-10-22 15:31:26 -07:00
Ari Lazier
418d6dfc1c
partial port of rpc server to cpp
2015-10-22 10:44:10 -07:00
Ari Lazier
1be81205d0
check for undefined was already covered
2015-10-21 23:06:39 -07:00
Ari Lazier
ac544205a1
test setting all primitive types to null/undefined throw
2015-10-21 23:06:39 -07:00
Ari Lazier
290a595259
update to latest core
2015-10-21 19:12:36 -07:00
Scott Kyle
9cbc695fd7
Skip throwing an exception inside ResultsSetProperty
2015-10-21 15:59:11 -07:00
Scott Kyle
bd2d1559d1
Error when assigning to Result index or length
...
Added some tests. Turns out our Chrome layer already did this too, so no changes were needed there.
Resolves #70
2015-10-21 15:25:53 -07:00
Scott Kyle
8ba3a24eae
Move RealmJSCoreTests.m to tests directory
...
Test failures were not pointing to the correct JS file path when it was in the src directory. This is where it belongs anyways.
2015-10-21 15:18:47 -07:00
Scott Kyle
34b84759c8
Fix crash when reloading app during Chrome debugging
...
Added a session ID, that actually tracks the Realm constructor in our RPC server's JS context. This conveniently let us remove the special casing for defaultPath as well as letting us call the Realm constructor with JSObjectCallAsConstructor.
Fixes #68
2015-10-20 15:10:52 -07:00
Scott Kyle
b98e89db22
Merge pull request #63 from realm/sk-chrome-apis
...
Finish implementing APIs for Chrome
2015-10-20 01:23:40 -07:00
Scott Kyle
3439b4c455
Add getter/setter for defaultPath to RPC
2015-10-19 16:59:04 -07:00
Scott Kyle
03751c35b4
Handle passing dates through RPC
2015-10-19 16:46:56 -07:00
Scott Kyle
57778ce878
Improve calling object methods through RPC
2015-10-19 16:15:38 -07:00
Scott Kyle
1b7653206a
Generalize getting/setting properties through RPC
2015-10-19 15:46:00 -07:00
Ari Lazier
5aa066e6fa
newline
2015-10-19 14:56:59 -07:00
Ari Lazier
8fed61cb8a
clean up per realm resources/threads
2015-10-19 14:25:35 -07:00
Ari Lazier
167c3e97b5
store schema and prototypes on the realm object
2015-10-19 13:39:21 -07:00
Scott Kyle
4c0cc578d5
Generalize calling methods through the RPC
2015-10-19 12:46:31 -07:00
Scott Kyle
5f52d07154
Add support for Results methods in Chrome
...
Which only consists of sortByProperty
2015-10-19 12:18:09 -07:00
Scott Kyle
78ec67cd6c
Hacky support for adding notifications in Chrome
...
Since notifications are called synchronously after a write, we fake it by calling them manually for now. The future plan will be more involved, so some of that is stubbed out.
2015-10-19 12:09:14 -07:00
Ari Lazier
fae276816f
newline
2015-10-19 10:33:59 -07:00
Ari Lazier
69ea13944f
disable schema/defaults cleanup until we can ensure we are using the correct context
2015-10-19 10:25:25 -07:00
Ari Lazier
430b2a29e5
Merge branch 'sk-test-suite' of https://github.com/realm/realm-js into sk-test-suite
2015-10-16 10:35:41 -07:00
Ari Lazier
7ae6fe4a03
make sure we have destructors for all objects
2015-10-16 10:35:26 -07:00
Ari Lazier
5edb205978
clean up prototype and defaults state
2015-10-15 20:56:12 -07:00
Scott Kyle
69bf42c4f4
Actually stop and dealloc RPC server
2015-10-15 20:52:11 -07:00
Ari Lazier
5ccc03eeb7
rename some methods for clarity - try to cleanup js objects
2015-10-15 18:48:13 -07:00
Ari Lazier
45a3c89605
remove hardcoded test paths
2015-10-15 17:28:51 -07:00
Ari Lazier
eb598a2408
fix for in chrome
2015-10-15 17:07:10 -07:00
Scott Kyle
7f5902b021
Remove dependency on JavaScriptCore for RealmReactTests
...
The test structure is now provided by a JS API, that is used by all things that run tests. Also, the tests can be run manually by tapping a button in the ReactTests app.
2015-10-15 15:19:59 -07:00
Scott Kyle
7a79ac8803
Make Xcode tests run in React environment
...
The deleteTestFiles() function is now added to the Realm object, so that it's easy for the RPC module to handle this as well. We can only do this in testing environments in the future.
2015-10-15 03:26:56 -07:00
Scott Kyle
94521b73bb
Properly serialize args to create Realm through RPC
...
An exception was thrown when parsing the JSON when only a string was passed. This is better and no longer uses the Objective-C API for converting the dictionary to a JSValue.
2015-10-15 03:00:13 -07:00
Ari Lazier
7b5be78df2
close to working test harness
2015-10-14 18:52:55 -07:00
Ari Lazier
e470c5d189
run tests from subclass
2015-10-14 15:46:46 -07:00
Scott Kyle
9916fe14a4
Change RealmReact to be a dynamic framework
...
It embeds RealmJS and GCDWebServers frameworks. This fixes #58 , where there were issues with building for devices rather than just the simulator.
Some changes were made so that RealmReact.m didn't need to be weakly linked to libReact.a since that would actually cause any executable that uses this framework from being able to compile with bitcode.
2015-10-14 02:05:02 -07:00
Ari Lazier
4cf19d0e87
Merge pull request #60 from realm/al-os
...
First pass at object_store refactor
2015-10-13 17:16:27 -07:00
Ari Lazier
7db001c3da
finish Array to List rename
2015-10-13 15:56:43 -07:00
Ari Lazier
f6e0d34022
RJSArray -> RJSList
2015-10-13 15:27:24 -07:00
Ari Lazier
385f387332
move property getters to object store code
2015-10-13 15:25:06 -07:00
Ari Lazier
77359f14e3
move List class to its own file
2015-10-13 14:44:31 -07:00
Ari Lazier
9cb9960af5
ObjectArray -> List
2015-10-13 14:41:51 -07:00
Scott Kyle
d5ae329d8a
Add Notification constructor and destructor
...
These handle the life cycle of the member variables.
2015-10-12 23:21:13 -07:00
Scott Kyle
290234cb8a
RJSException no longer requires JS strings
...
Since most often some kind of JS Error is passed into RJSException, it would mask the original error by throwing a new exception because that Error was not a string!
2015-10-12 23:17:02 -07:00
Scott Kyle
d996147b09
Protect realm and callback from GC in addNotification
...
Fixes #54
2015-10-12 17:27:44 -07:00
Ari Lazier
f4715da2a4
Merge pull request #55 from realm/al-migrations
...
Minimal migration tests - use same path for all tests
2015-10-12 17:26:51 -07:00
Ari Lazier
c81ea6e5be
pr fixes
2015-10-12 17:18:49 -07:00
Ari Lazier
8ad1b0907d
minimal tests for migrations
2015-10-12 17:01:51 -07:00
Scott Kyle
c2e51ab541
Check for NaN inside RJSValidatedValueToNumber
...
Turns out this API can return NaN without an exception. Also added tests to make sure these conversions either work or throw exceptions in the appropriate places.
2015-10-12 16:50:45 -07:00
Ari Lazier
aa035717a5
allow running all tests at the same path by invalidating all cached realm paths between test runs
2015-10-12 16:43:05 -07:00
Scott Kyle
a4194586ea
Native methods should convert to numbers/bools
...
It will still throw if unable to make the conversion. Fixes #51
2015-10-12 15:42:56 -07:00
Scott Kyle
35a8f9816c
Out of bounds getters for Results return undefined
2015-10-12 15:35:13 -07:00
Scott Kyle
6788cd6f3d
Out of bounds list item getters return undefined
...
Resolves #50
2015-10-12 15:25:39 -07:00
Scott Kyle
a5bd3264c1
Consolidate code that verifies array index bounds
2015-10-12 15:25:39 -07:00
Scott Kyle
ae9ae4dc77
Add list item setters in JS
...
Added a test and made other array tests syntactically consistent. Resolves #45
2015-10-12 15:25:39 -07:00
Scott Kyle
c600af9182
Mutating lists outside transaction should throw
2015-10-12 02:23:09 -07:00
Scott Kyle
33e0f5d8b1
Setting properties outside transaction should throw
...
Resolves #40
2015-10-12 02:02:23 -07:00
Scott Kyle
310e3d7a03
Don't store transient arrays returned by RPC
2015-10-08 15:31:29 -07:00
Scott Kyle
665e63aa6f
Handle exceptions when getting size through RPC
2015-10-08 15:30:29 -07:00
Ari Lazier
c8c8a883bf
pr fixes
2015-10-08 12:23:42 -06:00
Ari Lazier
1991d9df95
move rpc server to RealmJS
2015-10-08 11:57:07 -06:00
Ari Lazier
dbc43726f5
object methods no longer need to be publicly declared
2015-10-08 11:29:32 -06:00
Ari Lazier
417f0a0c72
don't add Results to property types
2015-10-08 11:22:52 -06:00
Ari Lazier
ed3cf01432
consolidate realm methods, code cleanup/remove some duplication
2015-10-08 10:43:38 -06:00
Scott Kyle
ebb400ed41
Support delete and deleteAll from RPC
2015-10-08 01:53:22 -07:00
Ari Lazier
d8e7c89478
list methods
2015-10-07 21:37:51 -06:00
Ari Lazier
055b0c9309
support list properties
2015-10-07 20:57:23 -06:00
Scott Kyle
e136da5117
Make RPC server return Results properly
...
Still doesn't handle returning property values.
2015-10-07 18:42:08 -07:00
Ari Lazier
a0f098bff3
rpc implementation for results
2015-10-07 17:51:06 -06:00
Ari Lazier
476b3623bb
partial rpc server implemenation
2015-10-06 13:36:56 -06:00
Ari Lazier
8ca8a24913
ARRAY -> LIST
2015-09-30 10:51:04 -07:00
Ari Lazier
aa78436f53
use capitalized names for enums/constants
2015-09-30 10:41:47 -07:00
Ari Lazier
8f466d47b1
Type -> Types
2015-09-29 15:14:39 -07:00
Ari Lazier
a7662af484
RealmType -> Realm.Type
2015-09-29 14:53:33 -07:00
Scott Kyle
4bf67b30bc
Use std::min() for consistency inside ArraySplice
2015-09-28 17:58:23 -07:00
Scott Kyle
1822b0a2d6
Use RJSVerifiedArray inside ArrayPropertyNames
2015-09-28 17:30:15 -07:00
Scott Kyle
70ee822f19
Update splice method to mimic JS standard
...
It now will return the removed elements, and clamps the first two arguments to be acceptable values rather than throwing an exception.
2015-09-28 16:00:24 -07:00
Scott Kyle
37130ceca3
Minor optimization of ArrayPropertyNames
2015-09-28 16:00:24 -07:00
Scott Kyle
38a4e993ae
Minor cleanups in ArrayPop
2015-09-28 16:00:24 -07:00
Scott Kyle
75dc7bd05e
Remove redundant call to verify_attached
2015-09-28 16:00:24 -07:00
Ari Lazier
345043f4c5
update to latest object store code
2015-09-28 15:47:32 -07:00
Thomas Goyne
ae4f9ac30c
Send changes_available() even if autorefresh is enabled
2015-09-28 15:33:45 -07:00
Ari Lazier
51e0551548
don't reset delegate when refetching an existing realm
2015-09-28 15:33:44 -07:00
Ari Lazier
18811f294f
check classname before accessing object_schema iterator for queries
2015-09-28 15:33:44 -07:00
Ari Lazier
6f2b137b1d
use latest object store changes
2015-09-28 15:33:44 -07:00
Thomas Goyne
2b15b7bfb0
Fix error in cleanup after an error during a migration
2015-09-28 15:33:44 -07:00
Thomas Goyne
ba61ffde15
Simplify column shifting for removed properties a little
2015-09-28 15:33:43 -07:00
Thomas Goyne
00d8bf4ef0
Add a Schema class, move lookup by name and internal-consistency checks there
2015-09-28 15:33:43 -07:00
Thomas Goyne
5fa1ff21f3
Make Realm::compact() more robust
...
Throw if it's called on a read-only Realm and ensure the Realm is left in a
valid state regardless of the starting state.
2015-09-28 15:33:43 -07:00
Thomas Goyne
5f5e2822e2
Reduce the scope of a variable
2015-09-28 15:33:43 -07:00
Thomas Goyne
0ec8809647
Fix a comment
2015-09-28 15:33:43 -07:00
Thomas Goyne
3f111de12e
Fix checks for what types of columns can be optional
2015-09-28 15:33:43 -07:00
Thomas Goyne
5d256728d2
USe more const refs to avoid copies
2015-09-28 15:33:42 -07:00
Thomas Goyne
c54ff5a44d
Make a bunch of things const
2015-09-28 15:33:42 -07:00
Thomas Goyne
89c8f9e125
Remove an unused function
2015-09-28 15:33:42 -07:00
Thomas Goyne
3d9d7be0d6
Share ExternalCommitHelpers between Realm instances for a single path
2015-09-28 15:33:42 -07:00
Thomas Goyne
76d62bbc57
Allow more nullable property types when supported
2015-09-28 15:33:42 -07:00
Thomas Goyne
d7fd525dc2
Honor is_nullable when creating columns
2015-09-28 15:33:41 -07:00
Thomas Goyne
f7222803df
Refactor schema initialization a bit
...
Change schema verification to operate on a pair of Schema objects rather than a
Schema and a Group to eliminate some redundant work done, defer some of the
work done for migrations to within the migration block to avoid doing it
unnecessarily, and make passing in a custom schema in the Config when creating
a Realm entirely equivalent to calling update_schema() afterwards.
2015-09-28 15:33:41 -07:00
Thomas Goyne
00c9177b56
Move the interprocess notification functionality to the object store
2015-09-28 15:33:41 -07:00
Thomas Goyne
766178d30d
Shuffle stuff around and clean some things up
2015-09-28 15:33:41 -07:00
Thomas Goyne
8350e55a0c
Improve array KVO performance a bit
2015-09-28 15:33:40 -07:00
Thomas Goyne
e65ad57e00
Skip PK uniqueness checking when first creating a Realm file
2015-09-28 15:33:40 -07:00
Thomas Goyne
fc48c88e69
Improve performance of realm_requires_update() and make more things const
2015-09-28 15:33:40 -07:00
Thomas Goyne
fc0de384a6
Port some of the KVO support functionality to the object store
2015-09-28 15:33:40 -07:00
Thomas Goyne
513d781572
Add the ability to bypass the Realm cache entirely
2015-09-28 15:33:39 -07:00
Thomas Goyne
219ef48bf4
Rework change notifications
...
Switch to an abstract class rather than std::function in preparation for having
more kinds of notifications with different arguments for KVO.
2015-09-28 15:33:39 -07:00
Thomas Goyne
7fda90c3b2
Add Realm::get_schema_version()
2015-09-28 15:33:39 -07:00
Thomas Goyne
1d25766ebb
Change realm::Schema to a vector rather than a map
...
Much faster to copy and destroy with no loss in lookup performance.
2015-09-28 15:33:38 -07:00
Thomas Goyne
d2a74958f0
Remove property.hpp include from object_schema.hpp
2015-09-28 15:33:38 -07:00
Thomas Goyne
720020ed06
Convert RLMRealmConfiguration to a wrapper around Realm::Config
2015-09-28 15:33:38 -07:00
Thomas Goyne
25f32e6f88
Use NSDMIs for realm::Property
2015-09-28 15:33:38 -07:00
Thomas Goyne
a4edbcecfa
Don't cache dynamic realms in the ObjectStore cache either
2015-09-28 15:33:37 -07:00
Thomas Goyne
861a8c2c9c
Eliminate some copies
2015-09-28 15:33:37 -07:00
Thomas Goyne
e61833c26e
Use NSDMIs for Realm
2015-09-28 15:33:37 -07:00
Thomas Goyne
938668904e
Reduce s_init_mutex's scope
2015-09-28 15:33:37 -07:00
Thomas Goyne
292d9cf820
Use NSDMIs for Realm::Config and make it moveable
2015-09-28 15:33:37 -07:00
Thomas Goyne
5d876b7caa
Store a copy of the encryption key
2015-09-28 15:33:36 -07:00
Ari Lazier
4dca0358e1
add deleteAll to Realm
2015-09-08 14:07:14 -07:00
Ari Lazier
16be837817
support defaults
2015-09-04 15:43:26 -07:00
Ari Lazier
dcc159365e
more extensive upsert tests
2015-09-04 12:41:17 -07:00
Ari Lazier
870fe78aad
support sorting by a single property
2015-09-03 15:46:31 -07:00
Ari Lazier
cc0f821a99
fix for partial update of string properties
2015-09-03 14:37:22 -07:00
Ari Lazier
ee87cbc17a
primary keys and upsert
2015-09-03 14:05:56 -07:00
Ari Lazier
df05636e7a
delete can now take a results object as an argument
2015-09-02 21:31:29 -07:00
Ari Lazier
fa52cea8c3
function cordova example
2015-09-01 15:47:06 -07:00
Ari Lazier
fbf2399140
tests and bugfixes for splice and shift
2015-08-28 15:11:50 -07:00
Ari Lazier
bd39239f00
array mutation functions
2015-08-28 14:41:30 -07:00
Ari Lazier
e84c81542f
fix for array enumeration, test array.push
2015-08-27 13:33:20 -07:00
Ari Lazier
ccd2301d9e
todo example
2015-08-24 09:22:37 -07:00
Ari Lazier
9a90c9c8a3
add querying for basic types
2015-08-17 11:40:13 -07:00
Ari Lazier
f7b4fd6f4a
test existing array functionality
2015-08-14 10:47:56 -07:00
Ari Lazier
dc0839772f
add Realm.delete
2015-08-14 09:47:33 -07:00
Ari Lazier
ca4dfa052c
proper copyright
2015-08-14 08:18:49 -07:00
Ari Lazier
afe9030333
Merge commit '070042894536c87cc3d3c7fdcb62b75e3620dc34'
2015-08-13 09:46:22 -07:00
Ari Lazier
b65db0d3d0
missing files and project fixes
2015-08-13 09:28:53 -07:00
Ari Lazier
58e1064db7
Add 'src/object-store/' from commit '043f5ff4ab77bf4a9177e4643bc097d1ff487347'
...
git-subtree-dir: src/object-store
git-subtree-mainline: 12b942fecd
git-subtree-split: 043f5ff4ab
2015-08-13 09:13:41 -07:00
Ari Lazier
12b942fecd
move js work from realm-cocoa-private
2015-08-13 09:12:48 -07:00