pg support for null in containedAll (#4026)

This commit is contained in:
Diamond Lewis
2017-07-23 11:11:02 -05:00
committed by Florent Vilmart
parent 3c79cae1b2
commit 811d8b0c7a
2 changed files with 19 additions and 2 deletions

View File

@@ -274,6 +274,21 @@ describe('Parse.Query testing', () => {
});
});
it('containedIn null array', (done) => {
const emails = ['contact@xyz.com', 'contact@zyx.com', null];
const user = new Parse.User();
user.setUsername(emails[0]);
user.setPassword('asdf');
user.signUp().then(() => {
const query = new Parse.Query(Parse.User);
query.containedIn('username', emails);
return query.find({ useMasterKey: true });
}).then((results) => {
equal(results.length, 1);
done();
}, done.fail);
});
it("containsAll number array queries", function(done) {
var NumberSet = Parse.Object.extend({ className: "NumberSet" });

View File

@@ -301,8 +301,10 @@ const buildWhereClause = ({ schema, query, index }) => {
const inPatterns = [];
values.push(fieldName);
baseArray.forEach((listElem, listIndex) => {
values.push(listElem);
inPatterns.push(`$${index + 1 + listIndex}`);
if (listElem !== null) {
values.push(listElem);
inPatterns.push(`$${index + 1 + listIndex}`);
}
});
patterns.push(`$${index}:name ${not} IN (${inPatterns.join(',')})`);
index = index + 1 + inPatterns.length;