Christoph Strobl
fb499f8c69
DATAMONGO-2450 - Apply array filters to bulk write.
...
Original pull request: #820 .
6 years ago
Mark Paluch
bcc2c94e03
DATAMONGO-2440 - Polishing.
...
Replace SpringJUnit4ClassRunner with SpringRunner.
Original pull request: #821 .
6 years ago
Mark Paluch
284f547e99
DATAMONGO-2437 - Polishing.
...
Mention changes in Aggregation _id handling in what's new. Reformat code.
Original pull request: #821 .
6 years ago
Christoph Strobl
d824f3b8b2
DATAMONGO-2437 - Fix complex id handling when reading aggregation results.
...
Removed Unwrapping complex id values.
Template.aggregate now behaves like aggregateStream or its reactive counterpart.
Original pull request: #821 .
6 years ago
Christoph Strobl
7b1a96f4a9
DATAMONGO-2448 - Bump version to 3.0 SNAPSHOT.
...
In preparation for the upcoming breaking changes when switching to the MongoDB Java Driver 4.0 and the breaking changes required for that update (expected for Milestone 2), we eagerly bump the version number to 3.0.
Original pull request: #819 .
6 years ago
Christoph Strobl
4f75fec5c5
DATAMONGO-2447 - Upgrade MongoDB Drivers to 3.12.0 (sync) and 1.13.0 (reactive).
6 years ago
Mark Paluch
61bd56dd74
DATAMONGO-2442 - Polishing.
...
Reduce visibility of test methods for JUnit 5 tests.
Original pull request: #818 .
6 years ago
Christoph Strobl
b4222c5646
DATAMONGO-2442 - Polishing.
...
Transition touched test classes to JUnit Jupiter.
Original pull request: #818 .
6 years ago
Christoph Strobl
4a45928aee
DATAMONGO-2442 - Fix thenValueOf in $cond builder.
...
We now create a field reference when calling the builder instead of using the value as is.
Original pull request: #818 .
6 years ago
Mark Paluch
e2200eccf7
DATAMONGO-2440 - Polishing.
...
Iterate over List instead of using the Stream API.
Reduce visibility of JUnit 5 test methods. Consolidate assertions.
Original pull request: #817 .
6 years ago
Christoph Strobl
96c4901e7f
DATAMONGO-2440 - Fix field target type conversion for collection values.
...
We now preserve the collection nature of the source type when applying custom target type conversions. Prior to this change collection values had been changed to single element causing query errors in MongoDB when using $in queries.
Original pull request: #817 .
6 years ago
Christoph Strobl
1393f23f3b
DATAMONGO-2423 - Polishing.
...
Update nullability annotations and reduce visibility in tests.
Original pull request: #815 .
6 years ago
Christoph Strobl
9bbe1f2a26
DATAMONGO-2423 - Nullability refinements for Update.
...
Ease non null restrictions for operators that may use null values like $set.
Original pull request: #815 .
6 years ago
Mark Paluch
eacfe2b8f7
DATAMONGO-2444 - Update copyright years to 2020.
6 years ago
Jens Schauder
674f0cca2b
DATAMONGO-2422 - Updated changelog.
6 years ago
Jens Schauder
da7b51a51e
DATAMONGO-2421 - Updated changelog.
6 years ago
Mark Paluch
a1b5175299
DATAMONGO-2430 - Upgrade to mongo-java-driver 3.11.2.
6 years ago
Mark Paluch
56fff286aa
DATAMONGO-2418 - Polishing.
...
Reformat code.
Original pull request: #814 .
6 years ago
Christoph Strobl
60112b4d14
DATAMONGO-2418 - Obtain EvaluationContextExtensions lazily when parsing Bson queries.
...
An eager evaluation of the context extension can lead to errors when e.g. the security context was not present.
Original pull request: #814 .
6 years ago
Mark Paluch
277b7a1c7c
DATAMONGO-2410 - Polishing.
...
Simplify cast. Extend test with DBObject interface.
Original pull request: #813 .
6 years ago
Christoph Strobl
c5b892f03b
DATAMONGO-2410 - Fix Document to BasicDBObject conversion.
...
Original pull request: #813 .
6 years ago
Mark Paluch
dbf43941be
DATAMONGO-765 - Polishing.
...
Reformat code. Update ticket references.
Original pull request: #806 .
6 years ago
Denis Zavedeev
1d98b77f3d
DATAMONGO-765 - Support skip and limit parameters in GridFsTemplate and ReactiveGridFsTemplate.
...
Leverage `skip` and `limit` methods exposed in `GridFSFindIterable` to support limiting and skipping results.
In particular these changes allow the `find(Query)` method to correctly consider parameters of a page request.
Original pull request: #806 .
6 years ago
Mark Paluch
cd4e4065ff
DATAMONGO-2370 - Polishing.
...
Align since version to 2.3 until we have an indication for a major version bump. Tweak docs.
Original pull request: #803 .
6 years ago
Christoph Strobl
9f4872de4f
DATAMONGO-2370 - Polishing.
...
Use JUnit Jupiter api for tests of touched classes and fix parsing errors in disabled ones.
Original pull request: #803 .
6 years ago
Christoph Strobl
7abf69e575
DATAMONGO-2370 - Add support for $round aggregation operator.
...
Original pull request: #803 .
6 years ago
Mark Paluch
588ed2b0e2
DATAMONGO-2402 - Updated changelog.
6 years ago
Mark Paluch
8a228f22cd
DATAMONGO-2401 - Updated changelog.
6 years ago
Christoph Strobl
d652b2bdb4
DATAMONGO-2414 - Introduce MongoServerCondition to replace JUnit 4 TestRules.
...
MongoServerCondition replaces the JUnit 4 TestRules (MongoVersionRule & ReplicaSet) with a JUnit Jupiter ExecutionCondition.
Original Pull Request: #807
6 years ago
Mark Paluch
f7e527e45c
DATAMONGO-2414 - Polishing.
...
Use longer timeout to cater for slower CI environments.
Original Pull Request: #807
6 years ago
Mark Paluch
aede7c9cad
DATAMONGO-2414 - Guard drain loop in AsyncInputStreamHandler with state switch.
...
We now use a non-blocking state switch to determine whether to invoke drainLoop(…) from Subscriber completion.
Previously, we relied on same thread identification assuming if the subscription thread and the completion thread were the same, that we're already running inside the drain loop.
It turns out that a I/O thread could also run in event-loop mode where subscription and completion happens on the same thread but in between there's some processing and so the the call to completion is a delayed signal and not being called on the same stack as drainLoop(…).
The same-thread assumption was in place to avoid StackOverflow caused by infinite recursions.
We now use a state lock to enter the drain loop. Any concurrent attempts to re-enter the drain loop in Subscriber completion is now prevented to make sure that we continue draining while not causing stack recursions.
Original Pull Request: #807
6 years ago
Mark Paluch
1a5de2e1db
DATAMONGO-2331 - Polishing.
...
Remove deprecated methods accepting Update in favor of methods accepting UpdateDefinition in Template APIs.
Hide AggregationUpdate constructor.
Tweak Javadoc and reference documentation.
Original pull request: #789 .
6 years ago
Christoph Strobl
cc07a1bbb4
DATAMONGO-2331 - Guard test execution.
...
Original pull request: #789 .
6 years ago
Christoph Strobl
32cbae0e5f
DATAMONGO-2331 - Add support for Update with an aggregation pipeline.
...
Now the update methods exposed by (Reactive)MongoOperations also accept an Aggregation Pipeline via AggregationUpdate.
The update can consist of the following stages:
* AggregationUpdate.set(...).toValue(...) -> $set : { ... }
* AggregationUpdate.unset(...) -> $unset : [ ... ]
* AggregationUpdate.replaceWith(...) -> $replaceWith : { ... }
AggregationUpdate update = Aggregation.newUpdate()
.set("average").toValue(ArithmeticOperators.valueOf("tests").avg())
.set("grade").toValue(ConditionalOperators.switchCases(
when(valueOf("average").greaterThanEqualToValue(90)).then("A"),
when(valueOf("average").greaterThanEqualToValue(80)).then("B"),
when(valueOf("average").greaterThanEqualToValue(70)).then("C"),
when(valueOf("average").greaterThanEqualToValue(60)).then("D"))
.defaultTo("F")
);
template.update(Student.class)
.apply(update)
.all();
Original pull request: #789 .
6 years ago
Mark Paluch
9eaf67148d
DATAMONGO-2385 - Polishing.
...
Remove null checks for arguments known to be not-null. Remove Nullable annotations from methods that never return null.
Original pull request: #802 .
6 years ago
Christoph Strobl
ff60149166
DATAMONGO-2385 - Remove unnecessary null checks in MongoConverters.
...
Original pull request: #802 .
6 years ago
Mark Paluch
f7a010827d
DATAMONGO-2409 - Polishing.
...
Adapt also ExecutableFindOperation.DistinctWithProjection.asType() to return the appropriate TerminatingDistinct.
Original pull request: #805 .
6 years ago
Christoph Strobl
1e8c4cec5b
DATAMONGO-2409 - Fix return type of Kotlin extension function for ReactiveFindOperation.DistinctWithProjection.asType().
...
Original pull request: #805 .
6 years ago
Mark Paluch
0e0b45597b
DATAMONGO-2403 - Polishing.
...
Use handle(…) to skip values instead of flatMap(…) to reduce overhead.
Original pull request: #804 .
6 years ago
Christoph Strobl
b014fe4c7c
DATAMONGO-2403 - Fix aggregation simple type result retrieval from empty document.
...
Projections used within an aggregation pipeline can result in empty documents emitted by the driver. We now guarded those cases and skip those documents within a Flux or simply return an empty Mono depending on the methods signature.
Original pull request: #804 .
6 years ago
Christoph Strobl
ead7679f21
DATAMONGO-2382 - Updated changelog.
6 years ago
Christoph Strobl
18cf94dc34
DATAMONGO-2381 - Updated changelog.
6 years ago
Christoph Strobl
30d99445e2
DATAMONGO-2393 - Remove capturing lambdas and extract methods.
...
Original Pull Request: #799
6 years ago
Mark Paluch
839aecee84
DATAMONGO-2393 - Support configurable chunk size.
...
We now allow consuming GridFS files using a configurable chunk size. The default chunk size is now 256kb.
Original Pull Request: #799
6 years ago
Mark Paluch
c6592b01b0
DATAMONGO-2393 - Polishing.
...
Extract read requests into inner class.
Original Pull Request: #799
6 years ago
Mark Paluch
48176a833c
DATAMONGO-2393 - Fix BufferOverflow in GridFS upload.
...
AsyncInputStreamAdapter now properly splits and buffers incoming DataBuffers according the read requests of AsyncInputStream.read(…) calls.
Previously, the adapter used the input buffer size to be used as the output buffer size. A larger DataBuffer than the transfer buffer handed in through read(…) caused a BufferOverflow.
Original Pull Request: #799
6 years ago
Mark Paluch
0facdcfa98
DATAMONGO-2393 - Use drain loop for same-thread processing in GridFS download stream.
...
We now rely on an outer drain-loop when GridFS reads complete on the same thread instead of using recursive subscriptions to avoid StackOverflow. Previously, we recursively invoked subscriptions that lead to an increased stack size.
Original Pull Request: #799
6 years ago
Christoph Strobl
837a9885f2
DATAMONGO-2399 - Upgrade to MongoDB Java Driver 3.11.1
6 years ago
Mark Paluch
6cc5bc627a
DATAMONGO-2388 - Polishing.
...
Use StringJoiner to create comma-delimited String. Add nullability annotations.
Original pull request: #797 .
6 years ago
Christoph Strobl
84f7f433f7
DATAMONGO-2388 - Fix CodecConfigurationException when reading index info that contains DbRef.
...
Provide the default CodecRegistry when converting partial index data to its String representation used in IndexInfo.
Original pull request: #797 .
6 years ago