From 155acfdffb48f58817905b3a3ca1ce997cf74206 Mon Sep 17 00:00:00 2001 From: M Sazzadul Hoque <7600764+sazzad16@users.noreply.github.com> Date: Thu, 17 Aug 2023 22:13:21 +0600 Subject: [PATCH] Deprecate RedisGraph support (#3504) * Deprecate Redis Graph support * in RedisGraphPipelineCommands --- .../redis/clients/jedis/CommandObjects.java | 6 ++++ .../redis/clients/jedis/UnifiedJedis.java | 15 +++++++++ .../redis/clients/jedis/graph/GraphCache.java | 2 ++ .../jedis/graph/GraphCommandObjects.java | 4 +++ .../clients/jedis/graph/GraphProtocol.java | 3 ++ .../clients/jedis/graph/GraphQueryParams.java | 7 ++-- .../redis/clients/jedis/graph/Header.java | 4 ++- .../redis/clients/jedis/graph/Record.java | 3 ++ .../jedis/graph/RedisGraphCommands.java | 32 +++++++++++++++++++ .../graph/RedisGraphPipelineCommands.java | 14 ++++++++ .../jedis/graph/RedisGraphQueryUtil.java | 6 ++++ .../redis/clients/jedis/graph/ResultSet.java | 4 ++- .../clients/jedis/graph/ResultSetBuilder.java | 4 +++ .../redis/clients/jedis/graph/Statistics.java | 4 +++ .../clients/jedis/graph/entities/Edge.java | 6 ++-- .../jedis/graph/entities/GraphEntity.java | 2 ++ .../clients/jedis/graph/entities/Node.java | 2 ++ .../clients/jedis/graph/entities/Path.java | 2 ++ .../clients/jedis/graph/entities/Point.java | 2 ++ .../jedis/graph/entities/Property.java | 2 ++ 20 files changed, 117 insertions(+), 7 deletions(-) diff --git a/src/main/java/redis/clients/jedis/CommandObjects.java b/src/main/java/redis/clients/jedis/CommandObjects.java index 94fed19d57..14b042f3a1 100644 --- a/src/main/java/redis/clients/jedis/CommandObjects.java +++ b/src/main/java/redis/clients/jedis/CommandObjects.java @@ -4187,26 +4187,32 @@ public final CommandObject> tdigestByRevRank(String key, long... ra // RedisBloom commands // RedisGraph commands + @Deprecated public final CommandObject> graphList() { return new CommandObject<>(commandArguments(GraphCommand.LIST), BuilderFactory.STRING_LIST); } + @Deprecated public final CommandObject> graphProfile(String graphName, String query) { return new CommandObject<>(commandArguments(GraphCommand.PROFILE).key(graphName).add(query), BuilderFactory.STRING_LIST); } + @Deprecated public final CommandObject> graphExplain(String graphName, String query) { return new CommandObject<>(commandArguments(GraphCommand.EXPLAIN).key(graphName).add(query), BuilderFactory.STRING_LIST); } + @Deprecated public final CommandObject>> graphSlowlog(String graphName) { return new CommandObject<>(commandArguments(GraphCommand.SLOWLOG).key(graphName), BuilderFactory.ENCODED_OBJECT_LIST_LIST); } + @Deprecated public final CommandObject graphConfigSet(String configName, Object value) { return new CommandObject<>(commandArguments(GraphCommand.CONFIG).add(GraphKeyword.SET).add(configName).add(value), BuilderFactory.STRING); } + @Deprecated public final CommandObject> graphConfigGet(String configName) { return new CommandObject<>(commandArguments(GraphCommand.CONFIG).add(GraphKeyword.GET).add(configName), BuilderFactory.ENCODED_OBJECT_MAP); } diff --git a/src/main/java/redis/clients/jedis/UnifiedJedis.java b/src/main/java/redis/clients/jedis/UnifiedJedis.java index b62156cd98..86758bd421 100644 --- a/src/main/java/redis/clients/jedis/UnifiedJedis.java +++ b/src/main/java/redis/clients/jedis/UnifiedJedis.java @@ -4699,76 +4699,91 @@ public List tdigestByRevRank(String key, long... ranks) { // RedisGraph commands @Override + @Deprecated public ResultSet graphQuery(String name, String query) { return executeCommand(graphCommandObjects.graphQuery(name, query)); } @Override + @Deprecated public ResultSet graphReadonlyQuery(String name, String query) { return executeCommand(graphCommandObjects.graphReadonlyQuery(name, query)); } @Override + @Deprecated public ResultSet graphQuery(String name, String query, long timeout) { return executeCommand(graphCommandObjects.graphQuery(name, query, timeout)); } @Override + @Deprecated public ResultSet graphReadonlyQuery(String name, String query, long timeout) { return executeCommand(graphCommandObjects.graphReadonlyQuery(name, query, timeout)); } @Override + @Deprecated public ResultSet graphQuery(String name, String query, Map params) { return executeCommand(graphCommandObjects.graphQuery(name, query, params)); } @Override + @Deprecated public ResultSet graphReadonlyQuery(String name, String query, Map params) { return executeCommand(graphCommandObjects.graphReadonlyQuery(name, query, params)); } @Override + @Deprecated public ResultSet graphQuery(String name, String query, Map params, long timeout) { return executeCommand(graphCommandObjects.graphQuery(name, query, params, timeout)); } @Override + @Deprecated public ResultSet graphReadonlyQuery(String name, String query, Map params, long timeout) { return executeCommand(graphCommandObjects.graphReadonlyQuery(name, query, params, timeout)); } @Override + @Deprecated public String graphDelete(String name) { return executeCommand(graphCommandObjects.graphDelete(name)); } @Override + @Deprecated public List graphList() { return executeCommand(commandObjects.graphList()); } @Override + @Deprecated public List graphProfile(String graphName, String query) { return executeCommand(commandObjects.graphProfile(graphName, query)); } @Override + @Deprecated public List graphExplain(String graphName, String query) { return executeCommand(commandObjects.graphExplain(graphName, query)); } @Override + @Deprecated public List> graphSlowlog(String graphName) { return executeCommand(commandObjects.graphSlowlog(graphName)); } @Override + @Deprecated public String graphConfigSet(String configName, Object value) { return executeCommand(commandObjects.graphConfigSet(configName, value)); } @Override + @Deprecated public Map graphConfigGet(String configName) { return executeCommand(commandObjects.graphConfigGet(configName)); } diff --git a/src/main/java/redis/clients/jedis/graph/GraphCache.java b/src/main/java/redis/clients/jedis/graph/GraphCache.java index 5ee78def0b..e168e3ee4c 100644 --- a/src/main/java/redis/clients/jedis/graph/GraphCache.java +++ b/src/main/java/redis/clients/jedis/graph/GraphCache.java @@ -3,7 +3,9 @@ /** * Store a local cache in the client, for a specific graph. Holds the labels, property names and * relationship types. + * @deprecated Redis Graph support is deprecated. */ +@Deprecated interface GraphCache { /** diff --git a/src/main/java/redis/clients/jedis/graph/GraphCommandObjects.java b/src/main/java/redis/clients/jedis/graph/GraphCommandObjects.java index 905f4bb24d..a9a49c9081 100644 --- a/src/main/java/redis/clients/jedis/graph/GraphCommandObjects.java +++ b/src/main/java/redis/clients/jedis/graph/GraphCommandObjects.java @@ -19,6 +19,10 @@ import redis.clients.jedis.graph.GraphProtocol.GraphCommand; import redis.clients.jedis.providers.ConnectionProvider; +/** + * @deprecated Redis Graph support is deprecated. + */ +@Deprecated public class GraphCommandObjects { private final RedisGraphCommands graph; diff --git a/src/main/java/redis/clients/jedis/graph/GraphProtocol.java b/src/main/java/redis/clients/jedis/graph/GraphProtocol.java index 0e06eb0bc8..6884466c10 100644 --- a/src/main/java/redis/clients/jedis/graph/GraphProtocol.java +++ b/src/main/java/redis/clients/jedis/graph/GraphProtocol.java @@ -4,8 +4,10 @@ import redis.clients.jedis.commands.ProtocolCommand; import redis.clients.jedis.util.SafeEncoder; +@Deprecated public class GraphProtocol { + @Deprecated public enum GraphCommand implements ProtocolCommand { QUERY, @@ -29,6 +31,7 @@ public byte[] getRaw() { } } + @Deprecated public enum GraphKeyword implements Rawable { CYPHER, diff --git a/src/main/java/redis/clients/jedis/graph/GraphQueryParams.java b/src/main/java/redis/clients/jedis/graph/GraphQueryParams.java index 82738d2485..f670c1e5c1 100644 --- a/src/main/java/redis/clients/jedis/graph/GraphQueryParams.java +++ b/src/main/java/redis/clients/jedis/graph/GraphQueryParams.java @@ -2,15 +2,16 @@ import java.util.HashMap; import java.util.Map; -import java.util.function.Function; import redis.clients.jedis.CommandArguments; -import redis.clients.jedis.commands.ProtocolCommand; import redis.clients.jedis.exceptions.JedisException; -import redis.clients.jedis.graph.GraphProtocol.GraphCommand; import redis.clients.jedis.graph.GraphProtocol.GraphKeyword; import redis.clients.jedis.params.IParams; +/** + * @deprecated Redis Graph support is deprecated. + */ +@Deprecated public class GraphQueryParams implements IParams { private boolean readonly; diff --git a/src/main/java/redis/clients/jedis/graph/Header.java b/src/main/java/redis/clients/jedis/graph/Header.java index f69b16df09..a9ed7e0314 100644 --- a/src/main/java/redis/clients/jedis/graph/Header.java +++ b/src/main/java/redis/clients/jedis/graph/Header.java @@ -3,8 +3,10 @@ import java.util.List; /** - * Query response header interface. Represents the response schema (column names and types) + * Query response header interface. Represents the response schema (column names and types). + * @deprecated Redis Graph support is deprecated. */ +@Deprecated public interface Header { List getSchemaTypes(); diff --git a/src/main/java/redis/clients/jedis/graph/Record.java b/src/main/java/redis/clients/jedis/graph/Record.java index cbcf78fc96..9e02fd9849 100644 --- a/src/main/java/redis/clients/jedis/graph/Record.java +++ b/src/main/java/redis/clients/jedis/graph/Record.java @@ -6,7 +6,10 @@ * Container for RedisGraph result values. * * List records are returned from RedisGraph statement execution, contained within a ResultSet. + * + * @deprecated Redis Graph support is deprecated. */ +@Deprecated public interface Record { /** diff --git a/src/main/java/redis/clients/jedis/graph/RedisGraphCommands.java b/src/main/java/redis/clients/jedis/graph/RedisGraphCommands.java index 07f78b7b8d..45115a7bfa 100644 --- a/src/main/java/redis/clients/jedis/graph/RedisGraphCommands.java +++ b/src/main/java/redis/clients/jedis/graph/RedisGraphCommands.java @@ -3,6 +3,10 @@ import java.util.List; import java.util.Map; +/** + * @deprecated Redis Graph support is deprecated. + */ +@Deprecated public interface RedisGraphCommands { /** @@ -11,7 +15,9 @@ public interface RedisGraphCommands { * @param name a graph to perform the query on * @param query Cypher query * @return a result set + * @deprecated Redis Graph support is deprecated. */ + @Deprecated ResultSet graphQuery(String name, String query); /** @@ -20,7 +26,9 @@ public interface RedisGraphCommands { * @param name a graph to perform the query on * @param query Cypher query * @return a result set + * @deprecated Redis Graph support is deprecated. */ + @Deprecated ResultSet graphReadonlyQuery(String name, String query); /** @@ -30,7 +38,9 @@ public interface RedisGraphCommands { * @param query Cypher query * @param timeout * @return a result set + * @deprecated Redis Graph support is deprecated. */ + @Deprecated ResultSet graphQuery(String name, String query, long timeout); /** @@ -40,7 +50,9 @@ public interface RedisGraphCommands { * @param query Cypher query * @param timeout * @return a result set + * @deprecated Redis Graph support is deprecated. */ + @Deprecated ResultSet graphReadonlyQuery(String name, String query, long timeout); /** @@ -50,7 +62,9 @@ public interface RedisGraphCommands { * @param query Cypher query. * @param params parameters map. * @return a result set. + * @deprecated Redis Graph support is deprecated. */ + @Deprecated ResultSet graphQuery(String name, String query, Map params); /** @@ -60,7 +74,9 @@ public interface RedisGraphCommands { * @param query Cypher query. * @param params parameters map. * @return a result set. + * @deprecated Redis Graph support is deprecated. */ + @Deprecated ResultSet graphReadonlyQuery(String name, String query, Map params); /** @@ -71,7 +87,9 @@ public interface RedisGraphCommands { * @param params parameters map. * @param timeout * @return a result set. + * @deprecated Redis Graph support is deprecated. */ + @Deprecated ResultSet graphQuery(String name, String query, Map params, long timeout); /** @@ -82,7 +100,9 @@ public interface RedisGraphCommands { * @param params parameters map. * @param timeout * @return a result set. + * @deprecated Redis Graph support is deprecated. */ + @Deprecated ResultSet graphReadonlyQuery(String name, String query, Map params, long timeout); /** @@ -90,32 +110,44 @@ public interface RedisGraphCommands { * * @param name graph to delete * @return delete running time statistics + * @deprecated Redis Graph support is deprecated. */ + @Deprecated String graphDelete(String name); /** * Lists all graph keys in the keyspace. * @return graph keys + * @deprecated Redis Graph support is deprecated. */ + @Deprecated List graphList(); /** * Executes a query and produces an execution plan augmented with metrics for each operation's execution. + * @deprecated Redis Graph support is deprecated. */ + @Deprecated List graphProfile(String graphName, String query); /** * Constructs a query execution plan but does not run it. Inspect this execution plan to better understand how your * query will get executed. + * @deprecated Redis Graph support is deprecated. */ + @Deprecated List graphExplain(String graphName, String query); /** * Returns a list containing up to 10 of the slowest queries issued against the given graph ID. + * @deprecated Redis Graph support is deprecated. */ + @Deprecated List> graphSlowlog(String graphName); + @Deprecated String graphConfigSet(String configName, Object value); + @Deprecated Map graphConfigGet(String configName); } diff --git a/src/main/java/redis/clients/jedis/graph/RedisGraphPipelineCommands.java b/src/main/java/redis/clients/jedis/graph/RedisGraphPipelineCommands.java index ecc97a6c8f..b270fc79c8 100644 --- a/src/main/java/redis/clients/jedis/graph/RedisGraphPipelineCommands.java +++ b/src/main/java/redis/clients/jedis/graph/RedisGraphPipelineCommands.java @@ -4,25 +4,39 @@ import java.util.Map; import redis.clients.jedis.Response; +/** + * @deprecated Redis Graph support is deprecated. + */ +@Deprecated public interface RedisGraphPipelineCommands { + @Deprecated Response graphQuery(String name, String query); + @Deprecated Response graphReadonlyQuery(String name, String query); + @Deprecated Response graphQuery(String name, String query, long timeout); + @Deprecated Response graphReadonlyQuery(String name, String query, long timeout); + @Deprecated Response graphQuery(String name, String query, Map params); + @Deprecated Response graphReadonlyQuery(String name, String query, Map params); + @Deprecated Response graphQuery(String name, String query, Map params, long timeout); + @Deprecated Response graphReadonlyQuery(String name, String query, Map params, long timeout); + @Deprecated Response graphDelete(String name); + @Deprecated Response> graphProfile(String graphName, String query); } diff --git a/src/main/java/redis/clients/jedis/graph/RedisGraphQueryUtil.java b/src/main/java/redis/clients/jedis/graph/RedisGraphQueryUtil.java index a98cb49745..d762dc47f6 100644 --- a/src/main/java/redis/clients/jedis/graph/RedisGraphQueryUtil.java +++ b/src/main/java/redis/clients/jedis/graph/RedisGraphQueryUtil.java @@ -6,6 +6,10 @@ import java.util.Map; import java.util.stream.Collectors; +/** + * @deprecated Redis Graph support is deprecated. + */ +@Deprecated public class RedisGraphQueryUtil { public static final List DUMMY_LIST = Collections.emptyList(); @@ -22,7 +26,9 @@ private RedisGraphQueryUtil() { * @param query - query * @param params - query parameters * @return query with parameters header + * @deprecated Redis Graph support is deprecated. */ + @Deprecated public static String prepareQuery(String query, Map params) { StringBuilder sb = new StringBuilder("CYPHER "); for (Map.Entry entry : params.entrySet()) { diff --git a/src/main/java/redis/clients/jedis/graph/ResultSet.java b/src/main/java/redis/clients/jedis/graph/ResultSet.java index da0a5bcce1..795afa207a 100644 --- a/src/main/java/redis/clients/jedis/graph/ResultSet.java +++ b/src/main/java/redis/clients/jedis/graph/ResultSet.java @@ -1,8 +1,10 @@ package redis.clients.jedis.graph; /** - * Hold a query result + * Hold a query result. + * @deprecated Redis Graph support is deprecated. */ +@Deprecated public interface ResultSet extends Iterable { public enum ColumnType { diff --git a/src/main/java/redis/clients/jedis/graph/ResultSetBuilder.java b/src/main/java/redis/clients/jedis/graph/ResultSetBuilder.java index 6f0f38ebb2..9269331cb4 100644 --- a/src/main/java/redis/clients/jedis/graph/ResultSetBuilder.java +++ b/src/main/java/redis/clients/jedis/graph/ResultSetBuilder.java @@ -17,6 +17,10 @@ import redis.clients.jedis.graph.entities.*; import redis.clients.jedis.util.SafeEncoder; +/** + * @deprecated Redis Graph support is deprecated. + */ +@Deprecated class ResultSetBuilder extends Builder { private final GraphCache graphCache; diff --git a/src/main/java/redis/clients/jedis/graph/Statistics.java b/src/main/java/redis/clients/jedis/graph/Statistics.java index f6ad5240f9..332e426bfc 100644 --- a/src/main/java/redis/clients/jedis/graph/Statistics.java +++ b/src/main/java/redis/clients/jedis/graph/Statistics.java @@ -1,5 +1,9 @@ package redis.clients.jedis.graph; +/** + * @deprecated Redis Graph support is deprecated. + */ +@Deprecated public interface Statistics { int nodesCreated(); diff --git a/src/main/java/redis/clients/jedis/graph/entities/Edge.java b/src/main/java/redis/clients/jedis/graph/entities/Edge.java index c02d810000..9595ee8168 100644 --- a/src/main/java/redis/clients/jedis/graph/entities/Edge.java +++ b/src/main/java/redis/clients/jedis/graph/entities/Edge.java @@ -3,9 +3,11 @@ import java.util.Objects; /** - * A class represent an edge (graph entity). In addition to the base class id and properties, an edge shows its source, - * destination and relationship type + * A class represent an edge (graph entity). In addition to the base class id and properties, an + * edge shows its source, destination and relationship type. + * @deprecated Redis Graph support is deprecated. */ +@Deprecated public class Edge extends GraphEntity { //members diff --git a/src/main/java/redis/clients/jedis/graph/entities/GraphEntity.java b/src/main/java/redis/clients/jedis/graph/entities/GraphEntity.java index e075a670d3..8a6b40ad36 100644 --- a/src/main/java/redis/clients/jedis/graph/entities/GraphEntity.java +++ b/src/main/java/redis/clients/jedis/graph/entities/GraphEntity.java @@ -5,7 +5,9 @@ /** * This is an abstract class for representing a graph entity. A graph entity has an id and a set of * properties. The properties are mapped and accessed by their names. + * @deprecated Redis Graph support is deprecated. */ +@Deprecated public abstract class GraphEntity { protected long id; diff --git a/src/main/java/redis/clients/jedis/graph/entities/Node.java b/src/main/java/redis/clients/jedis/graph/entities/Node.java index 68e6015f4c..7265c8202c 100644 --- a/src/main/java/redis/clients/jedis/graph/entities/Node.java +++ b/src/main/java/redis/clients/jedis/graph/entities/Node.java @@ -6,7 +6,9 @@ /** * * A class represent an node (graph entity). In addition to the base class id and properties, a node has labels. + * @deprecated Redis Graph support is deprecated. */ +@Deprecated public class Node extends GraphEntity { //members diff --git a/src/main/java/redis/clients/jedis/graph/entities/Path.java b/src/main/java/redis/clients/jedis/graph/entities/Path.java index ff6471a3db..2efecb309f 100644 --- a/src/main/java/redis/clients/jedis/graph/entities/Path.java +++ b/src/main/java/redis/clients/jedis/graph/entities/Path.java @@ -5,7 +5,9 @@ /** * This class represents a path in the graph. + * @deprecated Redis Graph support is deprecated. */ +@Deprecated public final class Path { private final List nodes; diff --git a/src/main/java/redis/clients/jedis/graph/entities/Point.java b/src/main/java/redis/clients/jedis/graph/entities/Point.java index 552d141c52..a5edd513c4 100644 --- a/src/main/java/redis/clients/jedis/graph/entities/Point.java +++ b/src/main/java/redis/clients/jedis/graph/entities/Point.java @@ -5,7 +5,9 @@ /** * This class represents a (geographical) point in the graph. + * @deprecated Redis Graph support is deprecated. */ +@Deprecated public final class Point { private static final double EPSILON = 1e-5; diff --git a/src/main/java/redis/clients/jedis/graph/entities/Property.java b/src/main/java/redis/clients/jedis/graph/entities/Property.java index cb02899cd1..1f23ad978f 100644 --- a/src/main/java/redis/clients/jedis/graph/entities/Property.java +++ b/src/main/java/redis/clients/jedis/graph/entities/Property.java @@ -4,7 +4,9 @@ /** * A Graph entity property. Has a name, type, and value. + * @deprecated Redis Graph support is deprecated. */ +@Deprecated public class Property { private final String name;