Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extract the scripting engine code from the functions unit #1312

Draft
wants to merge 14 commits into
base: unstable
Choose a base branch
from

Commits on Nov 12, 2024

  1. Adds support for scripting engines as Valkey modules

    This commit extends the module API to support the addition of different
    scripting engines to run user defined functions.
    
    The scripting engine can be implemented as a Valkey module, and can be
    dynamically loaded with the `loadmodule` config directive, or with
    the `MODULE LOAD` command.
    
    The current module API support, only allows to load scripting engines to
    run functions using `FCALL` command.
    
    In a follow up PR, we will move the Lua scripting engine implmentation
    into its own module.
    
    Signed-off-by: Ricardo Dias <[email protected]>
    rjd15372 committed Nov 12, 2024
    Configuration menu
    Copy the full SHA
    331df7f View commit details
    Browse the repository at this point in the history
  2. Adds new module API test to test the scripting engine module API

    This commit adds a module with a very simple stack based scripting
    language implementation to test the new module API that allows to
    implement new scripting engines as modules.
    
    Signed-off-by: Ricardo Dias <[email protected]>
    rjd15372 committed Nov 12, 2024
    Configuration menu
    Copy the full SHA
    9c618a3 View commit details
    Browse the repository at this point in the history
  3. Adds comments to helloscripting.c structs and functions

    Signed-off-by: Ricardo Dias <[email protected]>
    rjd15372 committed Nov 12, 2024
    Configuration menu
    Copy the full SHA
    6950891 View commit details
    Browse the repository at this point in the history
  4. Fixes test failure

    Signed-off-by: Ricardo Dias <[email protected]>
    rjd15372 committed Nov 12, 2024
    Configuration menu
    Copy the full SHA
    202f8de View commit details
    Browse the repository at this point in the history
  5. Improve hello lang general comment in helloscripting.c

    Signed-off-by: Ricardo Dias <[email protected]>
    rjd15372 committed Nov 12, 2024
    Configuration menu
    Copy the full SHA
    1a05ac1 View commit details
    Browse the repository at this point in the history
  6. Added a few more tests to test the commands FUNCTION [FLUSH|DUMP|REST…

    …ORE|DELETE]
    
    Signed-off-by: Ricardo Dias <[email protected]>
    rjd15372 committed Nov 12, 2024
    Configuration menu
    Copy the full SHA
    ace2f4b View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2024

  1. Configuration menu
    Copy the full SHA
    4b3e858 View commit details
    Browse the repository at this point in the history

Commits on Nov 25, 2024

  1. Refactored code to move back the fcallCommandGeneric back to `funct…

    …ions.c`
    
    Signed-off-by: Ricardo Dias <[email protected]>
    rjd15372 committed Nov 25, 2024
    Configuration menu
    Copy the full SHA
    a09e9ff View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9a991b3 View commit details
    Browse the repository at this point in the history

Commits on Nov 26, 2024

  1. Refactor: renaming ValkeyModuleScriptingEngineFunctionLibrary back to…

    … functionLibInfo in most places
    
    Signed-off-by: Ricardo Dias <[email protected]>
    rjd15372 committed Nov 26, 2024
    Configuration menu
    Copy the full SHA
    d7ffcfe View commit details
    Browse the repository at this point in the history

Commits on Nov 27, 2024

  1. Another big refactoring.

    - Removed the `ValkeyModuleScriptingEngineFunctionLibrary` structure.
    - Changed a few structure and parameters names.
    
    Signed-off-by: Ricardo Dias <[email protected]>
    rjd15372 committed Nov 27, 2024
    Configuration menu
    Copy the full SHA
    b6be447 View commit details
    Browse the repository at this point in the history
  2. Fix cmake files

    Signed-off-by: Ricardo Dias <[email protected]>
    rjd15372 committed Nov 27, 2024
    Configuration menu
    Copy the full SHA
    ed93e4e View commit details
    Browse the repository at this point in the history
  3. Fix spell checker error

    Signed-off-by: Ricardo Dias <[email protected]>
    rjd15372 committed Nov 27, 2024
    Configuration menu
    Copy the full SHA
    c7708aa View commit details
    Browse the repository at this point in the history
  4. Extract the scripting engine code from the functions unit

    This commit creates a new unit for the scripting engine code by
    extracting the existing code from the functions unit.
    
    We're doing this refactor to prepare the code for runnning the `EVAL`
    command using different scripting engines.
    
    Signed-off-by: Ricardo Dias <[email protected]>
    rjd15372 committed Nov 27, 2024
    Configuration menu
    Copy the full SHA
    54eb99f View commit details
    Browse the repository at this point in the history