Commit Graph

46 Commits

Author SHA1 Message Date
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 0c111a2035 Fix a comment 2015-09-09 11:25:55 -07:00
Thomas Goyne ba278c5d4f Fix checks for what types of columns can be optional 2015-09-09 11:25:54 -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 f79dec9033 Allow more nullable property types when supported 2015-09-09 11:25:54 -07:00
Thomas Goyne 0eb0bd14d7 Honor is_nullable when creating columns 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 c3649fbd17 Skip PK uniqueness checking when first creating a Realm file 2015-09-09 11:25:53 -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
JP Simard 453e4d8277 Fix crash when adding a property to a model without updating the schema version. 2015-08-13 09:42:21 -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 eb2b079e2a pr fixes 2015-07-28 12:17:57 -07:00
Ari Lazier d8e9d36c88 rebase fixes 2015-07-28 12:17:57 -07:00
Ari Lazier 2a0a5d234f run migrations and schema update through new Realm apis 2015-07-28 12:17:56 -07:00
Ari Lazier 60700ba121 first pass refactor of RLMRealm to c++ 2015-07-28 12:17:56 -07:00
Ari Lazier 26f1a0a4c8 support exception format strings 2015-07-28 12:17:16 -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
Samuel E. Giddins a29037b47f [ObjectStore] No need to template set_value, it can be overloaded 2015-06-24 11:19:43 -07:00
Samuel E. Giddins c0da7c76e1 Feature-flag null binary and string support
-DREALM_ENABLE_NULL to enable
2015-06-24 11:19:42 -07:00
Samuel E. Giddins c90f3e0210 [RLMObjectStore] Automatically migrate required properties to be optional 2015-06-24 11:19:39 -07:00
Samuel E. Giddins e19fcfd67b [RLMObjectStore] Require a migration when changing the nullability of a column 2015-06-24 11:19:39 -07:00
Samuel E. Giddins 80b1642d32 Add support for nullable string columns, and make NSString properties nullable by default 2015-06-24 11:19:38 -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 b3b3136f9a clear primary key for deleted objects 2015-06-10 14:53:24 -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 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