Skip to content

[BUG]function load can't use attribute desc in redis 7.0 #10225

@leonchen83

Description

@leonchen83

Describe the bug

A short description of the bug.

127.0.0.1:6379> FUNCTION LOAD Lua mylib desc noop "redis.register_function('myfunc', function(keys, args) return args[1] end)"
(error) ERR Unknown option given: desc

but function help show that the desc attribute

127.0.0.1:6379> function help
 1) FUNCTION <subcommand> [<arg> [value] [opt] ...]. Subcommands are:
 2) LOAD <ENGINE NAME> <LIBRARY NAME> [REPLACE] [DESC <LIBRARY DESCRIPTION>] <LIBRARY CODE>
 3)     Create a new library with the given library name and code.
 4) DELETE <LIBRARY NAME>
 5)     Delete the given library.
 6) LIST [LIBRARYNAME PATTERN] [WITHCODE]
 7)     Return general information on all the libraries:
 8)     * Library name
 9)     * The engine used to run the Library
10)     * Library description
11)     * Functions list
12)     * Library code (if WITHCODE is given)
13)     It also possible to get only function that matches a pattern using LIBRARYNAME argument.
14) STATS
15)     Return information about the current function running:
16)     * Function name
17)     * Command used to run the function
18)     * Duration in MS that the function is running
19)     If no function is running, return nil
20)     In addition, returns a list of available engines.
21) KILL
22)     Kill the current running function.
23) FLUSH [ASYNC|SYNC]
24)     Delete all the libraries.
25)     When called without the optional mode argument, the behavior is determined by the
26)     lazyfree-lazy-user-flush configuration directive. Valid modes are:
27)     * ASYNC: Asynchronously flush the libraries.
28)     * SYNC: Synchronously flush the libraries.
29) DUMP
30)     Returns a serialized payload representing the current libraries, can be restored using FUNCTION RESTORE command
31) RESTORE <PAYLOAD> [FLUSH|APPEND|REPLACE]
32)     Restore the libraries represented by the given payload, it is possible to give a restore policy to
33)     control how to handle existing libraries (default APPEND):
34)     * FLUSH: delete all existing libraries.
35)     * APPEND: appends the restored libraries to the existing libraries. On collision, abort.
36)     * REPLACE: appends the restored libraries to the existing libraries, On collision, replace the old
37)       libraries with the new libraries (notice that even on this option there is a chance of failure
38)       in case of functions name collision with another library).
39) HELP
40)     Prints this help.

To reproduce

Steps to reproduce the behavior and/or a minimal code sample.

Expected behavior

A description of what you expected to happen.

Additional information

Any additional information that is relevant to the problem.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions