GET_CN
Содержание раздела
Поддерживается в версиях: 7.1 / 7.0 / 6.12 / 6.11 / 6.10 / 6.9 / 6.8 / 6.7.
Запрос возвращает номер операции записи. Запрос может содержать индексированные и именованные параметры.
Доступно получение номера для операции:
- успешной с указанной меткой времени;
- последней успешной в сущности — логической таблице или простом логическом представлении на базе логической таблицы;
- последней* завершенной в логической БД.
Под операцией в простом логическом представлении понимается операция в логической таблице-источнике.
* Для логической БД возвращается максимальный номер завершенной операции, перед которой нет незавершенных операций с меньшим номером. При наличии открытой дельты максимальный номер выбирается среди операций до дельты.
Номер операции также можно запросить с помощью GET-методов /cn.
Синтаксис
Запрос по указанной операции в логической таблице или простом логическом представлении:
GET_CN([db_name.]entity_name, date_time_expression)
Запрос по последней операции в логической таблице или простом логическом представлении:
GET_CN([db_name.]entity_name)
Запрос по последней операции в логической БД, используемой по умолчанию:
GET_CN()
Любые аргументы запроса могут быть заданы как индексированные и (или) именованные параметры.
Параметры:
db_name (VARCHAR | CHAR | STRING)
-
Имя логической базы данных, которой принадлежит логическая сущность. Опционально, если выбрана логическая БД, используемая по умолчанию.
entity_name (VARCHAR | CHAR | STRING)
-
Имя сущности, по которой запрашивается информация.
Возможные значения:
- имя логической таблицы любого типа;
- имя простого логического представления, построенного на подзапросе к логической таблице.
date_time_expression (TIMESTAMP | BIGINT | INT64 | LONG)
-
Метка времени операции записи, по которой запрашивается информация.
Возможные значения:
- UTC-метка (
TIMESTAMP
) — строка в форматеYYYY-MM-DD hh:mm:ss[.SSSSSS]
; - Unix-метка (
BIGINT | INT64 | LONG
) — целое число микросекунд с 00:00:00 UTC 1 января 1970 года.
- UTC-метка (
Варианты ответа
В ответе возвращается:
- объект ResultSet c одной записью, содержащей номер операции записи, при успешном выполнении запроса;
- исключение при неуспешном выполнении запроса.
Ограничения
- Запрос доступен для сущностей:
- логических таблиц;
- простых логических представлений, построенных на подзапросе к логической таблице;
- логических БД.
- Если в запросе есть именованные параметры, их имена должны соответствовать соглашениям об именах.
Примеры
Запрос по указанной операции в таблице
Запрос с предварительным выбором логической БД:
USE marketing;
GET_CN(sales, '2023-05-27 20:00:17.876');
Запрос с указанием логической БД:
GET_CN(marketing.sales, '2023-05-27 20:00:17')
Запрос по последней операции в таблице
Запрос с предварительным выбором логической БД:
USE marketing;
GET_CN(sales);
Запрос с указанием логической БД:
GET_CN(marketing.sales)
Запрос по указанной операции в представлении
Запрос с предварительным выбором логической БД:
USE marketing;
GET_CN(sales_view_with_condition, 1737974764000000);
Запрос с указанием логической БД:
GET_CN(marketing.sales_view_with_condition, 1737974764000000)
Запрос по последней операции в логической БД
USE marketing;
GET_CN();
Запрос с индексированными параметрами
Запрос в таблице на указанный момент:
GET_CN(?, ?)
Пример cURL с запросом:
curl -X 'POST' \
'http://localhost:9090/api/v1/datamarts/query?format=json' \
-H 'x-request-id: ff365767-d80a-4154-9525-52542b80ee92' \
-H 'Content-Type: application/json' \
-d '{
"query": "GET_CN(?, ?)",
"queryId": "364682",
"params": [
{
"value": "marketing.sales",
"type": "STRING"
},
{
"value": "2024-05-10 13:12:09.34",
"type": "TIMESTAMP"
}
]
}'
Запрос с именованными параметрами
Запрос в таблице на указанный момент:
GET_CN(:table_name_with_db_name, :op_timestamp)
Пример cURL с запросом:
curl -X 'POST' \
'http://localhost:9090/api/v1/datamarts/query?format=json' \
-H 'x-request-id: fb0957ab-270e-47c6-9e86-eeee413ce055' \
-H 'Content-Type: application/json' \
-d '{
"query": "GET_CN(:table_name_with_db_name, :op_timestamp)",
"queryId": "25322",
"params": [
{
"name": "table_name_with_db_name",
"value": "marketing.sales",
"type": "STRING"
},
{
"name": "op_timestamp",
"value": "2024-05-10 13:12:09",
"type": "TIMESTAMP"
}
]
}'