merge master

This commit is contained in:
Ari Lazier 2016-05-19 14:08:42 -07:00
commit 1ff7c49bdb
5 changed files with 18 additions and 20 deletions

View File

@ -1,16 +1,4 @@
x.x.x Release notes (yyyy-MM-dd)
=============================================================
### Breaking changes
* None
### Enhancements
* Added `isValid()` method to `Results` and `List` to ensure objects have not been deleted or
invalidated
### Bugfixes
* None
0.13.0 Release notes (2016-5-16)
0.13.0 Release notes (2016-5-19)
=============================================================
### Breaking changes
* With this release we have switched over to a new cross platform compatible date format.
@ -28,6 +16,7 @@ x.x.x Release notes (yyyy-MM-dd)
* Fix a memory leak caused by constructing a Realm instance of an already opened Realm.
* Fix for better supporting hot module reloading.
* Fix for some warnings when using `ListView` with React Native 0.25+
* Fix for queries that use a keypath starting with "not".
0.12.0 Release notes (2016-5-4)
=============================================================

View File

@ -233,8 +233,7 @@ Realm.defaultPath;
* @property {number} "double" - Property may be assigned any number, and will have no loss
* of precision.
* @property {string} "string" - Property value may be any arbitrary string.
* @property {Date} "date" - Property may be assigned any `Date` instance, but will be stored
* with second-level precision (a fix for this is in progress).
* @property {Date} "date" - Property may be assigned any `Date` instance.
* @property {ArrayBuffer} "data" - Property may either be assigned an `ArrayBuffer`
* or `ArrayBufferView` (e.g. `DataView`, `Int8Array`, `Float32Array`, etc.) instance,
* but will always be returned as an `ArrayBuffer`.

View File

@ -1,7 +1,7 @@
{
"name": "realm",
"description": "Realm is a mobile database: an alternative to SQLite and key-value stores",
"version": "0.13.0-rc",
"version": "0.13.0",
"license": "Apache-2.0",
"homepage": "https://realm.io",
"keywords": [

View File

@ -24,6 +24,9 @@
#include <pegtl/analyze.hh>
#include <pegtl/trace.hh>
// String operators (e.g. AND, OR, NOT) can't be followed by [A-z0-9_].
#define string_operator_t(s) seq< pegtl_istring_t(s), not_at< identifier_other > >
using namespace pegtl;
namespace realm {
@ -93,11 +96,11 @@ struct group_pred : if_must< one< '(' >, pad< pred, blank >, one< ')' > > {};
struct true_pred : pegtl_istring_t("truepredicate") {};
struct false_pred : pegtl_istring_t("falsepredicate") {};
struct not_pre : seq< sor< one< '!' >, pegtl_istring_t("not") > > {};
struct not_pre : seq< sor< one< '!' >, string_operator_t("not") > > {};
struct atom_pred : seq< opt< not_pre >, pad< sor< group_pred, true_pred, false_pred, comparison_pred >, blank > > {};
struct and_op : pad< sor< two< '&' >, pegtl_istring_t("and") >, blank > {};
struct or_op : pad< sor< two< '|' >, pegtl_istring_t("or") >, blank > {};
struct and_op : pad< sor< two< '&' >, string_operator_t("and") >, blank > {};
struct or_op : pad< sor< two< '|' >, string_operator_t("or") >, blank > {};
struct or_ext : if_must< or_op, pred > {};
struct and_ext : if_must< and_op, pred > {};

View File

@ -66,6 +66,9 @@ static std::vector<std::string> valid_queries = {
"!(0=0)",
"! (0=0)",
"NOT0=0", // keypath NOT0
"NOT0.a=0", // keypath NOT0
"NOT0a.b=0", // keypath NOT0a
"not-1=1",
"not 0=0",
"NOT(0=0)",
"not (0=0)",
@ -121,6 +124,7 @@ static std::vector<std::string> invalid_queries = {
"(0=0))",
"! =0",
"NOTNOT(0=0)",
"not.a=0",
"(!!0=0)",
"0=0 !",
@ -130,7 +134,10 @@ static std::vector<std::string> invalid_queries = {
"a==a &| a==a",
"a==a && OR a==a",
"a==aORa==a",
//"a=1ANDNOT b=2",
"a==a ORa==a",
"a==a AND==a",
"a==a ANDa==a",
"a=1ANDNOT b=2",
"truepredicate &&",
"truepredicate & truepredicate",