Commit Graph

188 Commits

Author SHA1 Message Date
Ari Lazier 113510991a more grammer tests 2015-11-19 13:05:37 -08:00
Ari Lazier d455aaf402 add basic test harness for grammer validation 2015-11-19 13:05:37 -08:00
Ari Lazier bd04f5584b add macro to enable/disable debug token printing 2015-11-19 13:05:37 -08:00
Ari Lazier ed1b3c4ecf make precondition a macro 2015-11-19 13:05:37 -08:00
Ari Lazier 4d7f607f49 test and fix for date queries 2015-11-19 13:05:37 -08:00
Ari Lazier 260ca18845 support query format strings 2015-11-19 13:05:37 -08:00
Ari Lazier b97728ba33 support for querying boolean properties 2015-11-19 13:05:37 -08:00
Ari Lazier e078b22c9a add required padding around string operators, use pegtl_istring_t 2015-11-19 13:05:37 -08:00
Ari Lazier 195f2a21dd move query building to a separate file 2015-11-19 13:05:37 -08:00
Ari Lazier 39956b910b remove duplicate code, add argument expression type 2015-11-19 13:05:37 -08:00
Ari Lazier fad667f844 code cleanup, bugfixes 2015-11-19 13:05:37 -08:00
Ari Lazier d654b7d52c support for truepredicate/falsepredicate, single quote strings - all tests now pass 2015-11-19 13:05:37 -08:00
Ari Lazier 1f78bf7db6 hook it up 2015-11-19 13:05:37 -08:00
Ari Lazier d59e6b1f58 store negated predicates in parse tree 2015-11-19 13:05:37 -08:00
Ari Lazier 51f5a422fd support OR with proper precedence 2015-11-19 13:05:37 -08:00
Ari Lazier 30147821a2 parse tree construction 2015-11-19 13:05:37 -08:00
Ari Lazier 15ee92ce60 full grammar 2015-11-19 13:05:37 -08:00
Ari Lazier 93adb0cb84 compound predicates 2015-11-19 13:05:37 -08:00
Ari Lazier b515b4b6d9 beginnings of a parser 2015-11-19 13:05:37 -08:00
Ari Lazier ee6c6eb30f size_t, no std::size_t 2015-11-19 07:07:33 -08:00
Ari Lazier 031fd00024 fix for rpc constants and other pr feedback 2015-11-18 17:55:30 -08:00
Ari Lazier e3c9ec8ee7 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 9d373e630a 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 85286b8807 block refresh until the last context has finished execution 2015-11-16 11:16:09 -08:00
Ari Lazier e4732994b7 integrate latest object store changes 2015-11-13 18:20:40 -08:00
Ari Lazier 638ee4d3b4 integrate latest object store changes 2015-11-13 18:20:27 -08:00
Thomas Goyne 7701ba173d Merge pull request #16 from realm/tg-close
Add Realm::close() and call it in RealmCache::clear()
2015-11-13 11:54:42 -08:00
Thomas Goyne 883ef12c7f Add Realm::close() and call it in RealmCache::clear()
This is needed for the Swift tests due to that throwing an exception over Swift
code unavoidably results in objects being leaked.
2015-11-10 14:54:15 -08:00
Thomas Goyne e9ca54e169 Merge pull request #12 from realm/tg-core-0.94.4
Update for core 0.94.4
2015-11-05 09:44:08 -08:00
Thomas Goyne 0823a62df6 Merge pull request #13 from realm/tg-is-empty
Add ObjectStore::is_empty()
2015-11-05 09:35:48 -08:00
Thomas Goyne 62f59d9ae8 Merge pull request #15 from realm/tg-file-error-path
Include the path of the file which actually failed to open in exceptions
2015-11-05 09:35:36 -08:00
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