feat!: implement entrypoints for PG extended protocol
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:
Kaitmazian Maksim <m.kaitmazian@picodata.io>
parent
04d10dca
No related branches found
No related tags found
Showing
- CHANGELOG.md 6 additions, 0 deletionsCHANGELOG.md
- Cargo.lock 12 additions, 0 deletionsCargo.lock
- Cargo.toml 1 addition, 0 deletionsCargo.toml
- sbroad 1 addition, 1 deletionsbroad
- src/lib.rs 24 additions, 2 deletionssrc/lib.rs
- src/luamod.rs 3 additions, 2 deletionssrc/luamod.rs
- src/sql.rs 244 additions, 56 deletionssrc/sql.rs
- src/sql/exports 6 additions, 0 deletionssrc/sql/exports
- src/sql/init.lua 17 additions, 25 deletionssrc/sql/init.lua
- src/sql/pgproto.lua 171 additions, 0 deletionssrc/sql/pgproto.lua
- src/sql/pgproto.rs 403 additions, 0 deletionssrc/sql/pgproto.rs
- src/storage.rs 12 additions, 0 deletionssrc/storage.rs
- test/conftest.py 36 additions, 0 deletionstest/conftest.py
- test/int/test_basics.py 10 additions, 9 deletionstest/int/test_basics.py
- test/int/test_pgproto.py 152 additions, 0 deletionstest/int/test_pgproto.py
- test/int/test_sql.py 6 additions, 1 deletiontest/int/test_sql.py
Loading
Please register or sign in to comment