Commit Graph

48 Commits

Author SHA1 Message Date
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 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 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 2f869541c7 Skip PK uniqueness checking when first creating a Realm file 2015-09-28 15:33:40 -07:00
Thomas Goyne 9129add439 Improve performance of realm_requires_update() and make more things const 2015-09-28 15:33:40 -07:00
Thomas Goyne 6df3719925 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
Ari Lazier a099682f0e more extensive upsert tests 2015-09-04 12:41:17 -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