Commit Graph

817 Commits

Author SHA1 Message Date
Mark Paluch
9e1ff1a747 DATAREDIS-836 - Prepare 2.1 RC1 (Lovelace). 2018-07-26 12:04:30 +02:00
Mark Paluch
70d7b30e28 DATAREDIS-836 - Updated changelog. 2018-07-26 12:04:27 +02:00
Mark Paluch
c6ecd4603d DATAREDIS-843 - Polishing.
Improve test stability to not concurrently create atomic counter instances.
2018-07-24 16:25:50 +02:00
Mark Paluch
eff0d29723 DATAREDIS-852 - Polishing.
Refactor lower/upper bound retrieval into LettuceConverters for a consistent lower/upper boundary return value. Use minus one (-1) as the upper bound index to always retrieve the last element if the upper boundary is not bounded.

Original pull request: #353.
2018-07-24 15:26:04 +02:00
michele
3a7d871119 DATAREDIS-852 - Return always a lower/upper bound range index using Range.Bound.unbounded() with Lettuce.
We now return in List, String, and ZSet commands a lower/upper bound range index to prevent NullPointerException. Previously, unbounded ranges could render null values that were attempted to cast to primitives.

Original pull request: #353.
2018-07-24 15:24:34 +02:00
Christoph Strobl
2dfe1e2b4e DATAREDIS-843 - Polishing.
Remove usage of deprecated methods, enable ignored test and move to AssertJ.

Original Pull Request: #349
2018-07-12 11:02:03 +02:00
Mark Paluch
a0d8b3a4c6 DATAREDIS-843 - Polishing.
Remove unnecessary unboxing and final keywords from arguments in method signatures.

Original Pull Request: #349
2018-07-12 11:02:03 +02:00
Mark Paluch
191244b1a4 DATAREDIS-843 - Adapt compare-and-set to changed transaction rollback response.
We now consider a transactional rollback that returns an empty EXEC result as rollback for the CAS (compare-and-set) operation. Previously, we checked only that the response of EXEC is not null. A rollback returns an empty list which was previously considered a successful CAS operation.

The code for CAS is now extracted to CompareAndSet and is reused from RedisAtomic implementations.

Original Pull Request: #349
2018-07-12 11:02:03 +02:00
Mark Paluch
322cfabb17 DATAREDIS-849 - Add support for immutable objects.
We now support immutable objects for saving (e.g. object without a provided Id) and loading (i.e. persistence constructor declares a subset of properties). New instances are created using wither methods/Kotlin copy(…) methods if an immutable object requires association with an Id.

Association of the Id to its object moved from RedisKeyValueAdapter to RedisKeyValueTemplate.
2018-07-12 10:44:33 +02:00
jsajadi
3defab118e DATAREDIS-850 - Fix assertion for expireTimeout in ReactiveStringCommands.pSetEx(…).
We now correctly assert the expireTimeout parameter.

Original pull request: #351.
2018-07-09 09:41:29 +02:00
Christoph Strobl
9e74556f74 DATAREDIS-696 - Add support for REPLACE option to RESTORE.
We bypass the lack of driver support by directly executing a custom command.

Original pull request: #344.
2018-07-02 11:44:18 +02:00
Mark Paluch
64dee51919 DATAREDIS-829 - Updated changelog. 2018-06-13 21:39:54 +02:00
Mark Paluch
7a16ead356 DATAREDIS-828 - Updated changelog. 2018-06-13 15:01:59 +02:00
Christoph Strobl
caeaab508f DATAREDIS-840 - Polishing.
Introduce dedicated Subscription.close() to unsubscribe() and punsubscribe().

Original Pull Request: #346
2018-06-12 10:34:42 +02:00
Mark Paluch
c9e1803c3a DATAREDIS-840 - Polishing.
Fix code comment. Reformat code.

Original Pull Request: #346
2018-06-12 10:24:48 +02:00
Mark Paluch
bb1dd8b379 DATAREDIS-840 - Catch unsubscribe exceptions when stopping RedisMessageListenerContainer.
We now catch exceptions that may occur during unsubscription from the subscribed patterns/channels.
Previously, RuntimeExceptions were not caught and prevented a fast shutdown of the ApplicationContext.

Original Pull Request: #346
2018-06-12 10:24:08 +02:00
Mark Paluch
afd8606e19 DATAREDIS-842 - Polishing.
Reformat code. Add author tags. Add integration test.

Original pull request: #345.
2018-06-06 12:27:12 +02:00
Ruben Cervilla
e61beb441f DATAREDIS-842 - Consider database index when connecting to Redis using Redis Sentinel.
Original pull request: #345.
2018-06-06 12:23:16 +02:00
Oliver Gierke
7bfafa3ed5 DATAREDIS-839 - Get rid of unnecessary stubbings in MappingRedisEntityInformation.
Related tickets: DATACMNS-1333.
2018-06-01 14:22:41 +02:00
Christoph Strobl
2b2995af7e DATAREDIS-771 - Polishing.
Add test and update documentation.

Original Pull Request: #342
2018-05-23 11:16:01 +02:00
Mark Paluch
86606be850 DATAREDIS-771 - Polishing.
Improve error message for unsupported PartTree keywords.

Original Pull Request: #342
2018-05-23 11:15:11 +02:00
Mark Paluch
d73a0e1677 DATAREDIS-771 - Add support for IsTrue and IsFalse keywords in repository query methods.
We now support IsTrue and IsFalse keywords usage in repository query methods to create queries with predicates for boolean fields values without requiring to pass a boolean argument.

class Person {

    @Id String id;

    @Indexed Boolean alive;
}

interface PersonRepository extends Repository<Person, String> {

    Person findByAliveIsTrue();

    Person findByAliveIsFalse();
}

Original Pull Request: #342
2018-05-23 11:14:39 +02:00
Christoph Strobl
127aa26f68 DATAREDIS-830 - Polishing.
Move Subscription initialization and update comments.

Original Pull Request: #341
2018-05-22 12:38:34 +02:00
Mark Paluch
e766b18d8e DATAREDIS-830 - Polishing.
Reformat code. Add override-comments. Encapsulate connection in LettuceSubscription. Fix typos.

Original Pull Request: #341
2018-05-22 12:38:03 +02:00
Mark Paluch
a2bc45cfa2 DATAREDIS-830 - Release Pub/Sub connection when closing LettuceSubscription.
We now release the native connection back to the connection provider when LettuceSubscription is closed. Previously, we just closed the connection which interfered with pooling as pooling connection providers still had a reference on the connection.

Original Pull Request: #341
2018-05-22 12:37:32 +02:00
Christoph Strobl
03c607a337 DATAREDIS-743 - Polishing.
Update Javadoc and comments.

Original Pull Request: #343
2018-05-22 10:46:06 +02:00
Mark Paluch
ee3c1bd9f8 DATAREDIS-743 - Polishing.
Add Javadoc. Improve ScanOptions builder.

Original Pull Request: #343
2018-05-22 10:45:08 +02:00
Mark Paluch
d4b06c2984 DATAREDIS-743 - Add Reactive SCAN, HSCAN, SSCAN, and ZSCAN support.
We now provide reactive SCAN support for keys, hashes, sets, and sorted sets. Scanning uses a cursor-based Flux and takes subscriber demand into account to issue the according scan commands once a batch of keys/values/entries was emitted. Specifying a SCAN limit controls the batch (page) size and can be used to optimize the number of roundtrips between the application and Redis.

Original Pull Request: #343
2018-05-22 10:43:37 +02:00
Christoph Strobl
df0ef20388 DATAREDIS-812 - Prepare 2.1 M3 (Lovelace). 2018-05-17 09:50:48 +02:00
Christoph Strobl
82ff655793 DATAREDIS-812 - Updated changelog. 2018-05-17 09:50:46 +02:00
Mark Paluch
d49aabf358 DATAREDIS-778 - Polishing.
Mention return type change in the what's new section.

Original pull request: #338.
2018-05-15 15:02:20 +02:00
Christoph Strobl
9b18499b5e DATAREDIS-778 - Align return types of BoundZSetOperations with ZSetOperations.
This is a binary breaking change that requires code using BoundZSetOperations to recompile.

Original pull request: #338.
2018-05-15 15:02:20 +02:00
Jay Bryant
71ab91c620 DATAREDIS-832 - Added a cover page for epub output.
I added a cover page for the epub output, now that the Spring data reference guides will
have epub output (through a commit against spring-data-build).

Original pull request: #339.
2018-05-11 15:58:47 +02:00
Mark Paluch
244a5cd360 DATAREDIS-806 - Updated changelog. 2018-05-08 15:27:21 +02:00
Mark Paluch
3dc47863fc DATAREDIS-805 - Updated changelog. 2018-05-08 12:22:52 +02:00
Christoph Strobl
90f0685cb7 DATAREDIS-824 - Polishing.
Split and add integration tests.

Original Pull Request: #340
2018-05-04 14:02:54 +02:00
Yin Jifeng
2c1ee77b87 DATAREDIS-824 - Fix potential NPE in DefaultReactiveHashOperations when deserializing values.
Avoid ByteBuffer creation for null values indicating absent keys in hash.

Original Pull Request: #340
2018-05-04 14:02:45 +02:00
Mark Paluch
42aac673f6 DATAREDIS-825 - Polishing.
Fix typos. Remove redundant mention of JDK requirements.

Original pull request: #331.
2018-05-04 11:42:53 +02:00
Jay Bryant
c285cb5f58 DATAREDIS-825 - Full editing pass for Spring Data Redis.
I edited for spelling, punctuation, grammar, clarity, and cross-references. I also pulled one piece of content that was being reused into its own file, so that I could include it rather than repeat it.

Original pull request: #331.
2018-05-04 11:08:52 +02:00
Mark Paluch
d2871ec032 DATAREDIS-562 - Add reactive BitField support.
Original pull request: #227.
2018-05-03 15:24:23 +02:00
Mark Paluch
10f8553c5a DATAREDIS-562 - Polishing.
Move BitfieldCommand to top-level type BitFieldSubCommands.
Use primitives in command objects. Add toString methods. Add utility methods to extract responses from Jedis Client. Use Connection.execute(…) to invoke BITFIELD using Jedis. Fix Overflow values to string rendering.
Convert test ticket references to new format.

Original pull request: #227.
2018-05-03 15:24:23 +02:00
Christoph Strobl
41db6a10fe DATAREDIS-562 - Add support for BITFIELD.
We now offer support for BITFIELD via RedisConnection and RedisClusterConnection using Lettuce and Jedis.

connection.bitField(key,
  create()
   .set(INT_8).valueAt(offset(0).multipliedByTypeLength()).to(100)
   .incr(signed(8)).valueAt(offset(102)).overflow(FAIL).by(1));

Original pull request: #227.
2018-05-03 15:24:23 +02:00
佳何 蔡
e631352832 DATAREDIS-819 - Fix Javadoc in ReactiveValueOperations.
Original Pull Request: #336
2018-05-03 14:01:05 +02:00
Mark Paluch
0955a4fea6 DATAREDIS-716 - Polishing.
Add OBJECT command support for Jedis Cluster.

Original pull request: #337.
2018-05-02 18:09:53 +02:00
Christoph Strobl
70a3e5dbe7 DATAREDIS-716 - Add support for OBJECT REFCOUNT, ENCODING and IDLETIME.
Original pull request: #337.
2018-05-02 15:53:24 +02:00
Mark Paluch
f8d63f4736 DATAREDIS-822 - Consider argument range in RedisCommand min/max arguments specification.
We now consider max argument specifications as upper bound and no longer as the exact number of required arguments.

Original pull request: #335.
2018-05-02 14:49:24 +02:00
Mark Paluch
abb7d9f684 DATAREDIS-697 - Polishing.
Extract Range value access to methods. Remove unused imports. Add type hint for BITPOS via execute(…).

Original pull request: #335.
2018-05-02 14:31:23 +02:00
Christoph Strobl
e9a3a5b6d9 DATAREDIS-697 - Add support for BITPOS.
We now support the BITPOS command throughout the sync and reactive api.

Original pull request: #335.
2018-05-02 14:31:09 +02:00
Christoph Strobl
8215f68d9f DATAREDIS-815 - Polishing.
Update Javadoc, add tests and missing methods for BoundValueOperations.

Original Pull Request: #334
2018-04-26 14:58:26 +02:00
Mark Paluch
e5b14193d4 DATAREDIS-815 - Add method variants accepting/returning java.time.Duration.
Original Pull Request: #334
2018-04-26 14:11:34 +02:00