Skip to content

Commit cf256d4

Browse files
authored
Revert "upgrade redis.clients to latest 6.0.0 (#119)" (#128)
This reverts commit 0e837cf.
1 parent 0e837cf commit cf256d4

File tree

6 files changed

+113
-79
lines changed

6 files changed

+113
-79
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
<dependency>
5959
<groupId>redis.clients</groupId>
6060
<artifactId>jedis</artifactId>
61-
<version>6.0.0</version>
61+
<version>3.10.0</version>
6262
</dependency>
6363
<dependency>
6464
<groupId>org.apache.commons</groupId>

src/main/java/com/falkordb/GraphPipeline.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
package com.falkordb;
22

33
import redis.clients.jedis.Response;
4-
import redis.clients.jedis.commands.PipelineBinaryCommands;
5-
import redis.clients.jedis.commands.PipelineCommands;
6-
import redis.clients.jedis.commands.RedisModulePipelineCommands;
4+
import redis.clients.jedis.commands.BasicRedisPipeline;
5+
import redis.clients.jedis.commands.BinaryRedisPipeline;
6+
import redis.clients.jedis.commands.BinaryScriptingCommandsPipeline;
7+
import redis.clients.jedis.commands.ClusterPipeline;
8+
import redis.clients.jedis.commands.MultiKeyBinaryRedisPipeline;
9+
import redis.clients.jedis.commands.MultiKeyCommandsPipeline;
10+
import redis.clients.jedis.commands.RedisPipeline;
11+
import redis.clients.jedis.commands.ScriptingCommandsPipeline;
712

813
import java.io.Closeable;
914
import java.util.List;
@@ -13,7 +18,10 @@
1318
* An interface which aligned to Jedis Pipeline interface
1419
*/
1520
public interface GraphPipeline extends
16-
PipelineCommands, PipelineBinaryCommands, RedisModulePipelineCommands, Closeable {
21+
MultiKeyBinaryRedisPipeline,
22+
MultiKeyCommandsPipeline, ClusterPipeline,
23+
BinaryScriptingCommandsPipeline, ScriptingCommandsPipeline,
24+
BasicRedisPipeline, BinaryRedisPipeline, RedisPipeline, Closeable {
1725

1826
/**
1927
* Execute a Cypher query.

src/main/java/com/falkordb/GraphTransaction.java

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
package com.falkordb;
22

33
import redis.clients.jedis.Response;
4-
import redis.clients.jedis.commands.PipelineBinaryCommands;
5-
import redis.clients.jedis.commands.PipelineCommands;
6-
import redis.clients.jedis.commands.RedisModulePipelineCommands;
4+
import redis.clients.jedis.commands.BasicRedisPipeline;
5+
import redis.clients.jedis.commands.BinaryRedisPipeline;
6+
import redis.clients.jedis.commands.BinaryScriptingCommandsPipeline;
7+
import redis.clients.jedis.commands.ClusterPipeline;
8+
import redis.clients.jedis.commands.MultiKeyBinaryRedisPipeline;
9+
import redis.clients.jedis.commands.MultiKeyCommandsPipeline;
10+
import redis.clients.jedis.commands.RedisPipeline;
11+
import redis.clients.jedis.commands.ScriptingCommandsPipeline;
712

813
import java.io.Closeable;
914
import java.util.List;
@@ -13,7 +18,10 @@
1318
* An interface which aligned to Jedis transactional interface
1419
*/
1520
public interface GraphTransaction extends
16-
PipelineCommands, PipelineBinaryCommands, RedisModulePipelineCommands, Closeable {
21+
MultiKeyBinaryRedisPipeline,
22+
MultiKeyCommandsPipeline, ClusterPipeline,
23+
BinaryScriptingCommandsPipeline, ScriptingCommandsPipeline,
24+
BasicRedisPipeline, BinaryRedisPipeline, RedisPipeline, Closeable {
1725

1826
/**
1927
* Execute a Cypher query.
@@ -130,6 +138,12 @@ public interface GraphTransaction extends
130138
*/
131139
void clear();
132140

141+
/**
142+
* Executes the transaction and returns a list of the executed transaction commands answers
143+
* @return a list of the executed transaction commands answers
144+
*/
145+
List<Response<?>> execGetResponse();
146+
133147
/**
134148
* Flushes all previously queued commands in a transaction and restores the connection state to normal
135149
* @return "OK" if the transaction was successfully discarded, otherwise an exception is thrown

src/main/java/com/falkordb/impl/api/GraphContextImpl.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import com.falkordb.impl.graph_cache.GraphCache;
1212
import com.falkordb.impl.resultset.ResultSetImpl;
1313

14+
import redis.clients.jedis.Client;
1415
import redis.clients.jedis.Jedis;
1516
import redis.clients.jedis.exceptions.JedisDataException;
1617
import redis.clients.jedis.util.SafeEncoder;
@@ -119,10 +120,10 @@ protected ResultSet sendReadOnlyQuery(String preparedQuery, long timeout) {
119120
*/
120121
@Override
121122
public GraphTransaction multi() {
122-
GraphTransactionImpl transaction = new GraphTransactionImpl(
123-
connection.getClient(), this, this.cache, this.graphId);
124-
transaction.multi();
125-
return transaction;
123+
Client client = connection.getClient();
124+
client.multi();
125+
client.getOne();
126+
return new GraphTransactionImpl(client, this, this.cache, this.graphId);
126127
}
127128

128129
/**
@@ -131,7 +132,8 @@ public GraphTransaction multi() {
131132
*/
132133
@Override
133134
public GraphPipeline pipelined() {
134-
return new GraphPipelineImpl(connection.getClient(), this, this.cache, this.graphId);
135+
Client client = connection.getClient();
136+
return new GraphPipelineImpl(client, this, this.cache, this.graphId);
135137
}
136138

137139
/**

src/main/java/com/falkordb/impl/api/GraphPipelineImpl.java

Lines changed: 38 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@
55
import com.falkordb.impl.Utils;
66
import com.falkordb.impl.graph_cache.GraphCache;
77
import com.falkordb.impl.resultset.ResultSetImpl;
8-
import redis.clients.jedis.*;
9-
import redis.clients.jedis.commands.ProtocolCommand;
8+
import redis.clients.jedis.Builder;
9+
import redis.clients.jedis.BuilderFactory;
10+
import redis.clients.jedis.Client;
11+
import redis.clients.jedis.Pipeline;
12+
import redis.clients.jedis.Response;
1013

11-
import java.util.Arrays;
1214
import java.util.List;
1315
import java.util.Map;
1416

@@ -21,27 +23,22 @@ public class GraphPipelineImpl extends Pipeline implements com.falkordb.GraphPip
2123
private GraphCache cache;
2224
private final String graphId;
2325

24-
public GraphPipelineImpl(Connection connection, Graph graph, GraphCache cache, String graphId){
25-
super(connection);
26+
public GraphPipelineImpl(Client client, Graph graph, GraphCache cache, String graphId){
27+
super.setClient(client);
2628
this.graph = graph;
2729
this.cache = cache;
2830
this.graphId = graphId;
2931
}
3032

31-
protected <T> Response<T> appendWithResponse(ProtocolCommand protocolCommand, List<Object> arguments, Builder<T> builder) {
32-
CommandArguments commandArguments = new CommandArguments(protocolCommand);
33-
arguments.forEach(commandArguments::add);
34-
return this.appendCommand(new CommandObject<>(commandArguments, builder));
35-
}
36-
3733
/**
3834
* Execute a Cypher query.
3935
* @param query Cypher query
4036
* @return a response which builds the result set with the query answer.
4137
*/
4238
@Override
4339
public Response<ResultSet> query(String query) {
44-
return appendWithResponse(GraphCommand.QUERY, Arrays.asList(graphId, query, Utils.COMPACT_STRING), new Builder<ResultSet>() {
40+
client.sendCommand(GraphCommand.QUERY, graphId, query, Utils.COMPACT_STRING);
41+
return getResponse(new Builder<ResultSet>() {
4542
@SuppressWarnings("unchecked")
4643
@Override
4744
public ResultSet build(Object o) {
@@ -57,7 +54,8 @@ public ResultSet build(Object o) {
5754
*/
5855
@Override
5956
public Response<ResultSet> readOnlyQuery(String query) {
60-
return appendWithResponse(GraphCommand.RO_QUERY, Arrays.asList(graphId, query, Utils.COMPACT_STRING), new Builder<ResultSet>() {
57+
client.sendCommand(GraphCommand.RO_QUERY, graphId, query, Utils.COMPACT_STRING);
58+
return getResponse(new Builder<ResultSet>() {
6159
@SuppressWarnings("unchecked")
6260
@Override
6361
public ResultSet build(Object o) {
@@ -76,8 +74,9 @@ public ResultSet build(Object o) {
7674
*/
7775
@Override
7876
public Response<ResultSet> query(String query, long timeout) {
79-
return appendWithResponse(GraphCommand.QUERY, Arrays.asList(graphId, query, Utils.COMPACT_STRING, Utils.TIMEOUT_STRING,
80-
Long.toString(timeout)), new Builder<ResultSet>() {
77+
client.sendCommand(GraphCommand.QUERY, graphId, query, Utils.COMPACT_STRING, Utils.TIMEOUT_STRING,
78+
Long.toString(timeout));
79+
return getResponse(new Builder<ResultSet>() {
8180
@SuppressWarnings("unchecked")
8281
@Override
8382
public ResultSet build(Object o) {
@@ -96,8 +95,9 @@ public ResultSet build(Object o) {
9695
*/
9796
@Override
9897
public Response<ResultSet> readOnlyQuery(String query, long timeout) {
99-
return appendWithResponse(GraphCommand.RO_QUERY, Arrays.asList(graphId, query, Utils.COMPACT_STRING, Utils.TIMEOUT_STRING,
100-
Long.toString(timeout)), new Builder<ResultSet>() {
98+
client.sendCommand(GraphCommand.RO_QUERY, graphId, query, Utils.COMPACT_STRING, Utils.TIMEOUT_STRING,
99+
Long.toString(timeout));
100+
return getResponse(new Builder<ResultSet>() {
101101
@SuppressWarnings("unchecked")
102102
@Override
103103
public ResultSet build(Object o) {
@@ -114,7 +114,9 @@ public ResultSet build(Object o) {
114114
*/
115115
@Override
116116
public Response<ResultSet> query(String query, Map<String, Object> params) {
117-
return appendWithResponse(GraphCommand.QUERY, Arrays.asList(graphId, query, Utils.COMPACT_STRING), new Builder<ResultSet>() {
117+
String preparedQuery = Utils.prepareQuery(query, params);
118+
client.sendCommand(GraphCommand.QUERY, graphId, preparedQuery, Utils.COMPACT_STRING);
119+
return getResponse(new Builder<ResultSet>() {
118120
@SuppressWarnings("unchecked")
119121
@Override
120122
public ResultSet build(Object o) {
@@ -131,7 +133,9 @@ public ResultSet build(Object o) {
131133
*/
132134
@Override
133135
public Response<ResultSet> readOnlyQuery(String query, Map<String, Object> params) {
134-
return appendWithResponse(GraphCommand.RO_QUERY, Arrays.asList(graphId, query, Utils.COMPACT_STRING), new Builder<ResultSet>() {
136+
String preparedQuery = Utils.prepareQuery(query, params);
137+
client.sendCommand(GraphCommand.RO_QUERY, graphId, preparedQuery, Utils.COMPACT_STRING);
138+
return getResponse(new Builder<ResultSet>() {
135139
@SuppressWarnings("unchecked")
136140
@Override
137141
public ResultSet build(Object o) {
@@ -152,8 +156,10 @@ public ResultSet build(Object o) {
152156
*/
153157
@Override
154158
public Response<ResultSet> query(String query, Map<String, Object> params, long timeout) {
155-
return appendWithResponse(GraphCommand.QUERY, Arrays.asList(graphId, query, Utils.COMPACT_STRING, Utils.TIMEOUT_STRING,
156-
Long.toString(timeout)), new Builder<ResultSet>() {
159+
String preparedQuery = Utils.prepareQuery(query, params);
160+
client.sendCommand(GraphCommand.QUERY, graphId, preparedQuery, Utils.COMPACT_STRING, Utils.TIMEOUT_STRING,
161+
Long.toString(timeout));
162+
return getResponse(new Builder<ResultSet>() {
157163
@SuppressWarnings("unchecked")
158164
@Override
159165
public ResultSet build(Object o) {
@@ -174,8 +180,11 @@ public ResultSet build(Object o) {
174180
*/
175181
@Override
176182
public Response<ResultSet> readOnlyQuery(String query, Map<String, Object> params, long timeout) {
177-
return appendWithResponse(GraphCommand.RO_QUERY, Arrays.asList(graphId, query, Utils.COMPACT_STRING, Utils.TIMEOUT_STRING,
178-
Long.toString(timeout)), new Builder<ResultSet>() {
183+
String preparedQuery = Utils.prepareQuery(query, params);
184+
client.sendCommand(GraphCommand.RO_QUERY, graphId, preparedQuery, Utils.COMPACT_STRING,
185+
Utils.TIMEOUT_STRING,
186+
Long.toString(timeout));
187+
return getResponse(new Builder<ResultSet>() {
179188
@SuppressWarnings("unchecked")
180189
@Override
181190
public ResultSet build(Object o) {
@@ -226,7 +235,8 @@ public Response<ResultSet> callProcedure(String procedure, List<String> args,
226235
*/
227236
@Override
228237
public Response<String> copyGraph(String destinationGraphId) {
229-
return appendWithResponse(GraphCommand.COPY, Arrays.asList(graphId, destinationGraphId), BuilderFactory.STRING);
238+
client.sendCommand(GraphCommand.COPY, graphId, destinationGraphId);
239+
return getResponse(BuilderFactory.STRING);
230240
}
231241

232242

@@ -236,11 +246,10 @@ public Response<String> copyGraph(String destinationGraphId) {
236246
*/
237247
@Override
238248
public Response<String> deleteGraph(){
239-
try {
240-
return appendWithResponse(GraphCommand.DELETE, Arrays.asList(graphId), BuilderFactory.STRING);
241-
} finally {
242-
cache.clear();
243-
}
244249

250+
client.sendCommand(GraphCommand.DELETE, graphId);
251+
Response<String> response = getResponse(BuilderFactory.STRING);
252+
cache.clear();
253+
return response;
245254
}
246255
}

0 commit comments

Comments
 (0)