Skip to content
Snippets Groups Projects
  1. Jun 21, 2024
  2. Jun 03, 2024
  3. May 29, 2024
  4. May 24, 2024
  5. May 22, 2024
  6. May 03, 2024
    • godzie44's avatar
      feature: plugin topology · bb59a877
      godzie44 authored and Yaroslav Dynnikov's avatar Yaroslav Dynnikov committed
      Plugin topology is a mapping plugin service to tiers.
      
      Introduce new `pico.update_plugin_tiers` API.
      This function may be used for control
      where plugin services must be running and where not.
      
      Plugin integration tests have also been refactored.
      bb59a877
  7. 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
  8. Apr 17, 2024
  9. 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
    • Georgy Moshkin's avatar
    • Georgy Moshkin's avatar
  10. Mar 21, 2024
  11. Mar 13, 2024
    • Arseniy Volynets's avatar
      feat: support batch dml · ab377bad
      Arseniy Volynets authored and Georgy Moshkin's avatar Georgy Moshkin committed
      - Add new DML op: Batch, which allows
      using multiple dml operations in one
      CAS request
      - If request has too many dml operations,
      the batch will be splitted into multiple
      batches, so that each batch can be stored
      in raft log
      ab377bad
  12. Mar 06, 2024
  13. Feb 20, 2024
    • Arseniy Volynets's avatar
      refactor: move tracing from sbroad to picodata · 598ffbf4
      Arseniy Volynets authored
      - Update sbroad submodule to commit,
      with refactored tracing api: tracer
      can be provided by library user (us).
      - Use tracer that creates traces under
      admin, because traces are created randomly
      for 1% of the queries and the user may not
      have the privileges to create/modify tracing
      tables
      - Move tracing related logic to picodata repo.
      In particular, now all tables storing tracing
      - Add sql tests that were removed from sbroad
      during refactoring
      - added extra parameter 'query_id' to pico.sql
      lua api. 'query_id' is used to identify
      each query in tracing tables, if not specified
      hash function on query text is used.
      - changed signature of pico.sql to:
      pico.sql(pattern[, params, options)
      options={'traceable'=boolean,'query_id'=string}
      598ffbf4
  14. Feb 07, 2024
  15. Feb 05, 2024
  16. Jan 25, 2024
  17. Jan 18, 2024
  18. Dec 19, 2023
  19. Dec 07, 2023
  20. Dec 04, 2023
  21. Dec 03, 2023
  22. Nov 20, 2023
  23. Nov 16, 2023
  24. Nov 08, 2023
  25. Nov 07, 2023
  26. Nov 06, 2023
    • Kurdakov Alexander's avatar
      feat: add tier entity · 701aa4ab
      Kurdakov Alexander authored
      Transferred replication factor from Properties table to new Tier table
      
      Instance and Replicaset belongs to tier via new field tier in _pico_instance and _pico_replicaset
      
      New cli option init-cfg with path to configuration file in yaml format. For now contains only info about tiers.
      701aa4ab
  27. Nov 03, 2023
  28. Nov 01, 2023
    • Denis Smirnov's avatar
      feat!: implement entrypoints for PG extended protocol · efeb345c
      Denis Smirnov authored
      
      BREAKING CHANGE!:
      - pico.trace() function was removed. Use pico.sql() for tracing;
      - opentelemetry tables __SBROAD_STAT and __SBROAD_QUERY were renamed
        into _SQL_STAT and _SQL_QUERY tables.
      
      Introduce enrypoints for extended PG protocol:
      
      - pg_bind: bind parameters to portal (IR) by descriptor;
      - pg_close: remove portal from the storage by descriptor;
      - pg_describe: get the portal metadata and type by descriptor;
      - pg_execute: execute portal by descriptor;
      - pg_parse: parse an SQL pattern into IR (reusing LRU),
        save IR into portal storage and return the descriptor;
      - pg_portals: get a list of portal descriptors visible
        to the current user;
      
      Co-authored-by: default avatarKaitmazian Maksim <m.kaitmazian@picodata.io>
      Verified
      efeb345c
Loading