Skip to content
Snippets Groups Projects
  1. Jun 26, 2024
  2. Jun 21, 2024
  3. Jun 19, 2024
  4. Jun 11, 2024
  5. Jun 03, 2024
  6. May 29, 2024
  7. May 22, 2024
    • godzie44's avatar
      chore(plugins): plugin system improvements · 664f32d8
      godzie44 authored and Georgy Moshkin's avatar Georgy Moshkin committed
      - add description field to `_pico_plugin` and `_pico_service`
      - plugin loading: filter files by its extensions
      - plugin loading: check possible service collisions
      - plugin loading: now plugin searching at {plugin_dir}/{plugin_name} path
      - now all errors between plugin and picodata wrapping with `BoxError` (this protects plugin caller from UAF)
      664f32d8
  8. May 21, 2024
  9. Apr 24, 2024
    • godzie44's avatar
      feature: two-step plugin installing and removing · 6a39a360
      godzie44 authored and Yaroslav Dynnikov's avatar Yaroslav Dynnikov committed
      Now for installation and enable plugin, there are two steps instead of one
      (`pico.load_plugin` previously).
      1. Install plugin (`pico.install_plugin`):
      validate plugin, create system tables.
      2. Enable plugin (`pico.enable_plugin`):
      loads plugin into instances memory, call `on_start` callback.
      
      Same for a plugin removing process (`pico.remove_plugin` previously):
      1. Disable plugin (`pico.disable_plugin`): call `on_stop` callbacks, drop
      plugin from instances.
      2. Remove plugin (`pico.remove_plugin`):
      remove plugin meta from system tables.
      6a39a360
  10. Apr 12, 2024
  11. Apr 10, 2024
  12. Apr 09, 2024
    • godzie44's avatar
      feature: plugins · 26b11774
      godzie44 authored and Yaroslav Dynnikov's avatar Yaroslav Dynnikov committed
      Introduce a plugin system for picodata cluster.
      Plugin system contains:
      - `picoplugin` crate with plugin interfaces.
      This crate exposes plugin interfaces for user implementation and API
      that used by picodata to interact with plugin as with a code from dynamic library.
      - Support for plugin work cycle in picodata instance work cycle.
      Picodata instance interacts with running plugin by `PluginManager`
      component.
      Typically, plugins react to events that occur in instance or whole cluster.
      - New lua API with plugin CRUD actions.
          - pico.create_plugin - load a new plugin into picodata cluster
          - pico.remove_plugin - remove plugin from picodata cluster
          - pico.update_plugin_config - update plugin service configuration
      26b11774
  13. Apr 08, 2024
  14. Apr 03, 2024
  15. Mar 18, 2024
  16. Mar 12, 2024
  17. Mar 07, 2024
    • Arseniy Volynets's avatar
      feat: support grant revoke procedure from sql · df8eb430
      Arseniy Volynets authored
      - Update sbroad submodule to commit with
      grant/revoke procedure support
      - Use existing mechanisms for grant/revoke
      ACL opcodes for grant/revoke procedure
      implementation
      - Add integration tests
      - Valid combinations:
      
      all procedures: grant/revoke create/execute/drop
      specific procedure: grant/revoke execute/drop
      
      - Syntax:
      
      grant create procedure to alice option(timeout=3)
      grant execute procedure on "spam"(int) to "alex"
      grant drop procedure on foo to bob
      revoke drop procedure on foo from bob
      df8eb430
  18. Mar 04, 2024
    • Arseniy Volynets's avatar
      feat: support rename procedure from sql · dd17afb3
      Arseniy Volynets authored
      - add new ddl opcode for renaming procedure
      - update sbroad submodule to get sql support
      - syntax:
      
      alter procedure "foo" rename to "bar" option(timeout=3)
      alter procedure "foo"(int, int) rename to "bar"
      dd17afb3
  19. Feb 22, 2024
  20. Feb 12, 2024
  21. Feb 08, 2024
  22. Feb 06, 2024
  23. Feb 05, 2024
  24. Jan 30, 2024
  25. Jan 24, 2024
  26. Jan 15, 2024
  27. Dec 19, 2023
Loading