Thomas Goyne
b93e5cedff
Include the path of the file which actually failed to open in exceptions
...
When the user (or our tests...) do dumb things it's sometimes not actually the
realm file itself that failed to open.
2015-11-04 17:03:24 -08:00
JP Simard
e1e9cd8cd7
Add ObjectStore::is_empty()
2015-11-04 15:31:08 -08:00
Thomas Goyne
52e7e6168b
Update for core 0.94.4
2015-11-04 15:30:36 -08:00
Kristian Dupont
271432bd1c
Merge pull request #11 from realm/kd-rename-delegate-to-bindingcontext
...
Rename RealmDelegate to BindingContext
2015-11-03 08:38:27 +01:00
Kristian Dupont
db36ca5b9c
Remove Realm suffix
2015-11-03 08:37:54 +01:00
Kristian Dupont
70e1967782
Rename realm delegate in transact_log_handler as well
2015-10-29 13:16:36 +01:00
Kristian Dupont
4973827531
Rename RealmDelegate to RealmBindingContext
2015-10-29 10:42:56 +01:00
Ari Lazier
2e2beabc40
change the license before starting the beta
2015-10-27 14:15:21 -07:00
Ari Lazier
faa1297d3b
support null for basic propety types
2015-10-27 12:13:57 -07:00
Ari Lazier
dca7e7d791
enable nullable propeties without a macro
2015-10-27 12:13:57 -07:00
Ari Lazier
ccdfaa8ae9
use typed exceptions
2015-10-27 09:39:52 -07:00
Scott Kyle
ff9b73ec2f
Non-existent object getters shouldn't throw exceptions
2015-10-27 09:39:52 -07:00
Ari Lazier
ed193d8f5c
make list members private
2015-10-26 13:32:29 -07:00
Ari Lazier
c9ef337552
make object members private
2015-10-26 13:24:27 -07:00
Ari Lazier
31819a5ee6
Merge commit '347145b4f1c40409c68af0ad61be15ee5f9d04f2' into al-os
2015-10-26 12:52:20 -07:00
Mark Rowe
347145b4f1
Merge pull request #8 from realm/mar-migrate-required-to-optional
...
Support migrating required columns to optional, preserving their contents
2015-10-21 14:40:44 -07:00
Mark Rowe
0b45772a0b
Add a test showing our behavior when migrating from an optional column to a required column.
...
Optional values are not automatically migrated to required columns since it is a lossy process.
This test case revealed an issue where the number of objects can be lost if all properties of an
object were optional and are all being migrated to required. This happens because the migration
process removes the optional columns in a first pass, and recreates them as required in a second
pass. Since this results in all columns being removed, we lose track of how many objects were
stored. We avoid this by detecting the case where we are about to remove the last column and
inserting a placeholder column that we'll remove after inserting the new columns.
2015-10-20 17:52:25 -07:00
Mark Rowe
9f1702a10f
Support migrating required columns to optional, preserving their contents.
...
Required columns are migrated to optional by creating a new nullable column,
copying the data from the required column to the optional column, then removing
the original required column.
2015-10-20 17:52:25 -07:00
Thomas Goyne
f5b790cf87
Merge pull request #6 from realm/tg-impl
...
Move things which are not part of the API to an impl directory/namespace
2015-10-20 09:59:10 -07:00
Ari Lazier
1fa7c018ea
clean up per realm resources/threads
2015-10-19 14:25:35 -07:00
Ari Lazier
dace77579b
store schema and prototypes on the realm object
2015-10-19 13:39:21 -07:00
Thomas Goyne
6dfeaf8080
Move things which are not part of the API to an impl directory/namespace
2015-10-15 11:30:08 -07:00
Ari Lazier
8a2e24daac
move property getters to object store code
2015-10-13 15:25:06 -07:00
Ari Lazier
06260bc3f0
move List class to its own file
2015-10-13 14:44:31 -07:00
Ari Lazier
286c652e42
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
b27b7941f0
pr fixes
2015-10-12 17:18:49 -07:00
Ari Lazier
ad677b7873
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
c8b6efb320
Out of bounds getters for Results return undefined
2015-10-12 15:35:13 -07:00
Scott Kyle
b70e5432b7
Setting properties outside transaction should throw
...
Resolves #40
2015-10-12 02:02:23 -07:00
Ari Lazier
d88b089b9f
update to latest object store code
2015-09-28 15:47:32 -07:00
Thomas Goyne
0c18978887
Send changes_available() even if autorefresh is enabled
2015-09-28 15:33:45 -07:00
Ari Lazier
cb7360c6a3
use latest object store changes
2015-09-28 15:33:44 -07:00
Thomas Goyne
981e7007f7
Fix error in cleanup after an error during a migration
2015-09-28 15:33:44 -07:00
Thomas Goyne
1fcc5a1be8
Simplify column shifting for removed properties a little
2015-09-28 15:33:43 -07:00
Thomas Goyne
df6d6e8618
Add a Schema class, move lookup by name and internal-consistency checks there
2015-09-28 15:33:43 -07:00
Thomas Goyne
d72d79bb05
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
a5f21e5e82
Reduce the scope of a variable
2015-09-28 15:33:43 -07:00
Thomas Goyne
9075917334
Fix a comment
2015-09-28 15:33:43 -07:00
Thomas Goyne
924482a305
Fix checks for what types of columns can be optional
2015-09-28 15:33:43 -07:00
Thomas Goyne
d3a218dac3
USe more const refs to avoid copies
2015-09-28 15:33:42 -07:00
Thomas Goyne
cc6364fff3
Make a bunch of things const
2015-09-28 15:33:42 -07:00
Thomas Goyne
fb186248a1
Remove an unused function
2015-09-28 15:33:42 -07:00
Thomas Goyne
515ce6296f
Share ExternalCommitHelpers between Realm instances for a single path
2015-09-28 15:33:42 -07:00
Thomas Goyne
873d24f3f0
Allow more nullable property types when supported
2015-09-28 15:33:42 -07:00
Thomas Goyne
663492e9da
Honor is_nullable when creating columns
2015-09-28 15:33:41 -07:00
Thomas Goyne
ce39ef965f
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
4dd72d47a0
Move the interprocess notification functionality to the object store
2015-09-28 15:33:41 -07:00
Thomas Goyne
5ffeedb233
Shuffle stuff around and clean some things up
2015-09-28 15:33:41 -07:00
Thomas Goyne
429a652eeb
Improve array KVO performance a bit
2015-09-28 15:33:40 -07:00
Thomas Goyne
2f869541c7
Skip PK uniqueness checking when first creating a Realm file
2015-09-28 15:33:40 -07:00