Управление запросами | Tcs

Version:

1.x
Руководство пользователя Управление запросами

Управление запросами

Просмотр списка активных запросов

Это возможность не поддерживается в текущей версии TCS.

Отмена запроса

Это возможность не поддерживается в текущей версии TCS.

Отправка нескольких SQL-инструкций (multi-statement)

На HTTP-адрес /sql можно отправлять сразу несколько SQL-инструкций, разделенных точкой с запятой (;). Это могут быть любые SQL-инструкции, поддерживаемые TCS.

Примечание

Отправка нескольких нескольких SQL-инструкций через SQL-драйвер не поддерживается.

TCS обрабатывает инструкции в указанном порядке и возвращает список статусов.

Если обработка какой-либо инструкции заканчивается ошибкой, то TCS прекращает обработку инструкций и возвращает список статусов.

Пример запроса:

POST http://localhost:7777/sql HTTP/1.1
Content-Type: application/json

SELECT name FROM users; INSERT INTO names SELECT name FROM users; SELECT * FROM names ORDER BY name

Если, например, вторая инструкция (INSERT INTO names SELECT name FROM users) завершится ошибкой, то третья инструкция тоже не выполнится.

Управление транзакциями

В текущей версии TCS транзакции не поддерживаются ни через HTTP, ни через *DBC-интерфейс.

Включение схемы данных в ответ

По умолчанию, ответы на запросы к TCS содержат массив данных без указания схемы. Например:

$ curl -u tcs:tcs  -d 'insert into t values(1)' http://127.0.0.1:7777/sql
{"responses":[{"is_success":true,"rows":[{"count":1}],"timings":{"collect":"494.295µs"}}]}%

При необходимости можно включить в ответ схему данных. Для этого в заголовке запроса нужно указать параметр x-tcs-include-schema: true. Тогда в начале ответа возвращается схема данных в формате колонка:тип. Причем схема данных включается в ответ, даже если возвращается 0 строк. Например:

$ curl -u tcs:tcs  -d 'insert into t values(1)' -H 'x-tcs-include-schema: true' http://127.0.0.1:7777/sql
{"responses":[{"is_success":true,"schema":[{"name":"count","type":"UInt64"}],"rows":[{"count":1}],"timings":{"collect":"311.063µs"}}]}

Примечание

Параметре x-tcs-include-schema: true – это единственный параметр, который текущая версия TCS поддерживает в запросах.

Работа со сложными запросами

TCS не накладывает ограничений на следующее:

  • глубина вложенности подзапросов;

  • количество таблиц\представлений, участвующих в запросе;

  • количество полей данных в результате;

  • количество подзапросов.

Разрешено использовать подзапросы, а также расчетные значения подзапросов в последующих подзапросах.

Работа с пользовательскими функциями и процедурами

Текущая версия TCS не поддерживает работу с пользовательскими функциями/процедурами.

Found what you were looking for?
Feedback