From a86add2baa31d88e8606d5a0e5c851e2b29c04a4 Mon Sep 17 00:00:00 2001 From: Egor Ivkov <e.ivkov@picodata.io> Date: Tue, 25 Jun 2024 15:47:15 +0300 Subject: [PATCH] architecture/rpc_api.md: add proc_sql_execute --- docs/architecture/rpc_api.md | 40 +++++++++++++++++++++++++++++++++--- 1 file changed, 37 insertions(+), 3 deletions(-) diff --git a/docs/architecture/rpc_api.md b/docs/architecture/rpc_api.md index 123a0b92..d4a2644b 100644 --- a/docs/architecture/rpc_api.md +++ b/docs/architecture/rpc_api.md @@ -76,8 +76,10 @@ fn proc_sql_dispatch(pattern, params, id, traceable) -> Result - `pattern`: (MP_STR) Ð·Ð°Ð¿Ñ€Ð¾Ñ SQL - `params`: (MP_ARRAY) параметры Ð´Ð»Ñ Ð¿Ð¾Ð´ÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² `pattern` в Ñлучае [параметризованного запроÑа][parametrization] -- `id`: (optional MP_STR) id SQL запроÑа -- `traceable`: (optional MP_BOOL) включение отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ ÑтатиÑтики запроÑа +- `id`: (optional MP_STR) id SQL запроÑа, + иÑпользуетÑÑ Ð´Ð»Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÑ†Ð¸Ð¸ запроÑа в таблицах ÑтатиÑтики +- `traceable`: (optional MP_BOOL) включение отÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ ÑтатиÑтики запроÑа. + Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð¿Ð¾Ð¿Ð°Ð´Ñ‘Ñ‚ в таблицы ÑтатиÑтики Ñ Ð²ÐµÑ€Ð¾ÑтноÑтью 1% при `false` и 100% при `true` Возвращаемое значение: @@ -100,7 +102,7 @@ fn proc_sql_dispatch(pattern, params, id, traceable) -> Result - [ИнÑтрукции и руководÑтва — Работа Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸ SQL](../tutorial/sql_examples.md) -[parametrization]: ../reference/sql/parametrization +[parametrization]: ../reference/sql/parametrization.md ## Service API {: #service_api } @@ -178,6 +180,38 @@ fn proc_runtime_info() -> RuntimeInfo <br>поле отÑутÑтвует в ответе еÑли инÑÑ‚Ð°Ð½Ñ Ð·Ð°Ð¿ÑƒÑ‰ÐµÐ½ без параметра [picodata run --http-listen](../reference/cli.md#run_http_listen) +-------------------------------------------------------------------------------- +### .proc_sql_execute {: #proc_sql_execute } + +```rust +fn proc_sql_execute(..) -> Result +``` + +ВыполнÑет чаÑÑ‚ÑŒ плана SQL-запроÑа на локальном инÑтанÑе. + +Ðргументы: + +Сериализованный план запроÑа. + +Возвращаемое значение: + +- (MP_MAP `DqlResult`) при чтении данных + <br>ПолÑ: + + - `metadata` (MP_ARRAY), маÑÑив опиÑаний Ñтолбцов таблицы в формате + `MP_ARRAY [ MP_MAP { name = MP_STR, type = MP_STR }, ...]` + - `rows` (MP_ARRAY), результат Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ñ‡Ð¸Ñ‚Ð°ÑŽÑ‰ÐµÐ³Ð¾ запроÑа в формате + `MP_ARRAY [ MP_ARRAY row, ...]` + +- (MP_MAP `DmlResult`) при модификации данных + <br>ПолÑ: + + - `row_count` (MP_INT), количеÑтво измененных Ñтрок + +Ð”Ð»Ñ Ð±Ð¾Ð»ÐµÐµ выÑокоуровневого RPC Ñмотрите [.proc_sql_dispatch](#proc_sql_dispatch) + +[bincode]: https://github.com/bincode-org/bincode + -------------------------------------------------------------------------------- ### .proc_raft_promote {: #proc_raft_promote } -- GitLab