Commit Graph

38 Commits

Author SHA1 Message Date
Thomas Goyne d1175fe364 Switch to throwing exceptions with all of the info needed to build error messages 2015-11-20 10:24:51 -08:00
Ari Lazier 638ee4d3b4 integrate latest object store changes 2015-11-13 18:20:27 -08:00
JP Simard e1e9cd8cd7 Add ObjectStore::is_empty() 2015-11-04 15:31:08 -08:00
Ari Lazier ccdfaa8ae9 use typed exceptions 2015-10-27 09:39:52 -07:00
Thomas Goyne a0f1dab71b Add a Schema class, move lookup by name and internal-consistency checks there 2015-09-09 11:25:55 -07:00
Thomas Goyne 7de20ea3a6 USe more const refs to avoid copies 2015-09-09 11:25:54 -07:00
Thomas Goyne dbac77f69b Make a bunch of things const 2015-09-09 11:25:54 -07:00
Thomas Goyne 14004504b1 Remove an unused function 2015-09-09 11:25:54 -07:00
Thomas Goyne ea5c47510b 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-09 11:25:54 -07:00
Thomas Goyne 0a41c85d0a Improve performance of realm_requires_update() and make more things const 2015-09-09 11:25:53 -07:00
Thomas Goyne e4377bb42a Change realm::Schema to a vector rather than a map
Much faster to copy and destroy with no loss in lookup performance.
2015-09-09 11:25:52 -07:00
Thomas Goyne cae4cf2fc0 Remove property.hpp include from object_schema.hpp 2015-09-09 11:25:52 -07:00
Ari Lazier 6ef8e214f3 move exception message creation to exception constructors 2015-07-30 12:22:01 -07:00
Ari Lazier 136f9a4640 add more object_schema validation 2015-07-28 12:17:58 -07:00
Ari Lazier 373375fa1b cleaup schema initialization 2015-07-28 12:17:58 -07:00
Ari Lazier 94c7ea512f update to newest object store apis 2015-07-28 12:17:57 -07:00
Ari Lazier 60700ba121 first pass refactor of RLMRealm to c++ 2015-07-28 12:17:56 -07:00
Ari Lazier c3e82a58ae use enum for dict/info keys, support per platform/language exception messages 2015-07-28 12:17:16 -07:00
Ari Lazier 107c2de9b6 add api to delete a table and remove the pk for an object type 2015-06-11 12:17:55 -07:00
Ari Lazier b3bee56f38 pr feedback 2015-06-11 10:33:46 -07:00
Ari Lazier f972ab4278 move exception classes to their own file - store exception messages and implmenet what() 2015-06-10 15:45:29 -07:00
Ari Lazier 4a87bc6505 make stuff const and use move 2015-06-10 14:39:01 -07:00
Ari Lazier 0e81927e78 fixes for pr comments 2015-06-10 14:21:43 -07:00
Ari Lazier 9f124ab37e don't verify when not told to, reuse tables in cases it isn't inconvinient 2015-06-05 18:47:19 -07:00
Ari Lazier 73b1dd549b make all string arguments const references 2015-06-05 15:52:00 -07:00
Ari Lazier 094192a869 don't validate when we only need an updated column mapping 2015-06-05 14:11:29 -07:00
Ari Lazier b5372a40e9 error handling cleanup 2015-06-05 14:11:29 -07:00
Ari Lazier 3453515601 use foreach/return pointers for optional properties 2015-06-05 14:11:29 -07:00
Ari Lazier 3c9953f4c6 validate primary keys after migrations 2015-06-05 14:11:29 -07:00
Ari Lazier 1ccf9f6192 update table indexes based on schema changes 2015-06-05 14:11:28 -07:00
Ari Lazier 85047bb96d use references instead of shared_ptr 2015-06-05 14:11:28 -07:00
Ari Lazier a82805548e remove logic for table name determination from cocoa 2015-06-05 14:11:28 -07:00
Ari Lazier 4b82701a9e make set_schema_version private 2015-06-05 14:11:28 -07:00
Ari Lazier 479179716d comment 2015-06-05 14:11:28 -07:00
Ari Lazier 6e9d9bb793 remove duplicte code and privitize methods 2015-06-05 14:11:28 -07:00
Ari Lazier a54d2216f9 refact cocoa to use c++ table creation apis 2015-06-05 14:11:28 -07:00
Ari Lazier 4994428e63 std::String -> StringData, fix header include identifier 2015-06-05 14:11:27 -07:00
Ari Lazier 84d50446b5 refactor out schema version code to c++ 2015-06-05 14:11:27 -07:00