* adding database.version in the serverInfo (only MongoDB, it gives undefined when using Postgres)
* . correction of old 'features' tests
. adding engine and database in the StorageAdapter interface and implementations
* . version retrieval done in performInitialization
. PostgreSQL version
* performInitialization now returns a Promise
* allow setting readpreference when using rest api.
* take out partially complete unit test.
* oops. nit
* Include read preference option for find directly from api and adding few more tests
* Adding catch for all tests
* Keep same check for get and find
* Turn read preference case insensitive
* Includes and subqueries read preferences through API
* Fixing bugs regarding changes that were done in master branch during the last year
* Changing behavior to make includeReadPreference and subqueryReadPreference to follow readPreference by default
* it actually supports group by date fields
* Changing the field name again to see Travis logs
* Adding match stage to the test
* Adding test for group by date fields on postgres
* Add a tests that fails due to issue #5285
* Make test code much simpler
* Fix#5285 by rewriting query (replacing $nearSphere by $geoWithin)
All credit goes to @dplewis !
* move logic to transform
* Changed count to be approximate. Should help with postgres slowness
* refactored last commit to only fall back to estimate if no complex query
* handlign variables correctly
* Trying again because it was casting to lowercase table names which doesnt work for us/
* syntax error
* Adding quotations to pg query
* hopefully final pg fix
* Postgres will now use an approximate count unless there is a more complex query specified
* handling edge case
* Fix for count being very slow on large Parse Classes' collections in Postgres. Replicating fix for Mongo in issue 5264
* Fixed silly spelling error resulting from copying over notes
* Lint fixes
* limiting results to 1 on approximation
* suppress test that we can no longer run for postgres
* removed tests from Postgres that no longer apply
* made changes requested by dplewis
* fixed count errors
* updated package.json
* removed test exclude for pg
* removed object types from method
* test disabled for postgres
* returned type
* add estimate count test
* fix mongo test
* * Added fix for MongoCollection's count function, so that it uses the much more effecient estimatedDocumentCount if no queries were specified
* * Added missing options when running estimatedDocumentCount for Mongo Collections
* * Fixed issue with checking for zero query for Mongo Collections count
* Silences warnings from mongodb client
* Update count, delete and finds to recommended implementations
* With new parser, readPref will be null by default
* Update flaky specs wih async/await style
* Adds gridstore adapter spec
* Use GridFSBucketStorage adapter
* Various improvements in test name / de-duplications
* Reverts to class by class deletion, introduced fast mode that just delete data for mongo
- Speeds up are incredible Executed 1695 of 1713 specs INCOMPLETE (18 PENDING) in 4 mins 19 secs.
* Adds documentation about the deleteEverything
* Adds supports-color so spec reporter dont output colors when not supported
* Adds babelrc so breakpoints dont jump around in specs
* Rename test to avoid duplicated name
* Removes unused methods
* Better naming for it_exclude
* #4678: Converting strings to Date when schema.type is Date within aggregate function
* Added test cases to test new date match aggregate query
* Added function to parse match aggregate arguments and convert necessary values to Date objects
* Added missing return value
* Improved code quality based on suggestions and figured out why tests were failing
* Added tests from @dplewis
* Supporting project aggregation as well as exists operator
* Excluding exists match for postgres
* Handling the $group operator similar to $match and $project
* Added more tests for better code coverage
* Excluding certain tests from being run on postgres
* Excluding one more test from postgres
* clean up
* add support for geoWithin.centerSphere queries via withJSON
* added test for passing array of lat, lng instead of Parse.GeoPoint
* added postgres support
* added more tests
* improved tests and validation
* added more tests
* add failing test to demonstrate that you can't sort on a
field in an object.
* Only validate the base of the field name.
* fix test name
* Only test sort for mongo.
* pg order by nested object
* level 2 test
* Factor out operation to get a field's base name. Add comment.
* tweak comment wording so it wont make my grammar teacher angry.
* adding nor to specialQuerykeys
* adding nor suport
* adding test
* CRLF
* adding postgres NOR
* adding nor validation
* adding NOR test
* adding test amd fixing NOR cases
* revert the nor logic
* feat: Convert $regex value to RegExp object
* feat: Add lib folder
* Revert "feat: Add lib folder"
This reverts commit c9dfbcbf699ff220baeb2df5586a944d19808e5e.
* feat: Add $regex test in $all array
* test: Test regex with $all only in MongoDB
* Revert "test: Test regex with $all only in MongoDB"
This reverts commit d7194c7869dee98d924fbc2502593a198385dba1.
* feat: Add tests for containsAllStartingWith
* feat: Add postgres support
Thanks to @dplewis
* feat: Check that all values in $all must be regex or none
* test: Check that $all vaules must be regex or none
* feat: Update tests to use only REST API
* refactor: Move $all regex check to adapter
* feat: Check for valid $all values in progres
* refactor: Update function name
* fix: Postgres $all values regex checking
* fix: Check starts with as string
* fix: Define contains all regex sql function
* fix: Wrong value check
* fix: Check valid data
* fix: Check regex when there is only one value
* fix: Constains all starting with string returns empty with bad params
* fix: Pass correct regex value
* feat: Add missing tests
* feat: Add missing tests
* feat: Add more tests
* fix: Unify MongoDB and PostgreSQL functionality
* fix: Lint checks
* fix: Test broken
$regex in $all list must be { $regex: "string" }
* test for empty $all
* Fixes issue related to flow types
* Improves type inference on where clause, index
* run parse-server start on liveQueryServer only on mongo, state leaks on postgres
* Fix "undefined property '__op'" in postgres update
This causes a TypeError which becomes a regular Error,
before the update can be issued. (I think)
This happens when there is an object schema,
and there is also an unrelated field in originalUpdate
which is null or undefined.
e.g. when 'location' is a mandatory object in postgres,
and 'middleName' is an optional string,
PostgresStorageAdapter would throw when a query similar
to the below was performed:
(Object.keys(originalUpdate) would include "middleName" as a value of `k`)
query.set('location', {'country': 'US'})
query.set('middleName', undefined);
* Fix lint error
* Method to upgrade schemas in Postgres;
Adds:
- schemaUpgrade method which check the fields to add and delete from old schema;
* Remove the columns delete in schemaUpgrade method;
* ESLint fix and PostgresStorageAdapter.schemaUpgrade spec test
Adds:
- Add PostgresStorageAdapter.schemaUpgrade spec tests: creates a table,
simulates the addition of a new field and checks if its present in the database
Chores:
- ESLint eol-last fix;
* Add check columns before and after schema upgrade, and remove the unnecessary piece of code
Add:
- Check the right columns is present before schema upgrade and the new field is not,
then check if the right columns is present and the new field;
Remove:
- Piece of code unnecessary because it not need to remove diff columns;
* Optimize the schemaUpgrade method following @vitaly-t instructions, and more tests;
* If the class does not have any columns and needs an upgrade the code would
return without doing so. Fixed this.
Chore:
- Allows class with no column to be upgraded;
- Test for class with no columns being upgraded;
* Update PostgresStorageAdapter.js
rewriting method schemaUpgrade
* Update PostgresStorageAdapter.spec.js
* Update PostgresStorageAdapter.spec.js
* cosmetics
* making nicer promise pattern + if->else blocks
* removing return if unwanted data from an `UPDATE`
* Update PostgresStorageAdapter.js
* Update PostgresStorageAdapter.js
* Update PostgresStorageAdapter.js
Restoring the `UPDATE` result, as apparently it is in fact used. Ouch! 😄
* Update PostgresStorageAdapter.js
* Introduces flow types for storage
* Better typing of QueryOptions
* Adds flow types to SchemaCOntroller,
- runs flow on pre tests
- fixes flow
* Adds ClassLevelPermissions type
* Moves Controller types into a single file
* Changes import styles
* Changes import styles
* fixing method setIndexesWithSchemaFormat (#4454)
Fixing invalid database code in method `setIndexesWithSchemaFormat`:
* It must be a transaction, not a task, as it executes multiple database changes
* It should contain the initial queries inside the transaction, providing the context, not outside it;
* Replaced the code with the ES6 Generator notation
* Removing the use of batch, as the value of the result promise is irrelevant, only success/failure that matters
* nits
* Fixes tests, improves flow typing