Spec-Zone.ru › DuckDB

Сканирование замены

API сканирования замены позволяет зарегистрировать обратный вызов, который вызывается при чтении таблицы, отсутствующей в каталоге. Например, при выполнении запроса такого как SELECT * FROM my_table и my_table не существует, обратный вызов сканирования замены будет вызван с my_table в качестве параметра. Затем сканирование замены может вставить функцию таблицы со специфическим параметром для замены чтения таблицы.

Обзор справки API

void duckdb_add_replacement_scan(duckdb_database db, duckdb_replacement_callback_t replacement, void *extra_data, duckdb_delete_callback_t delete_callback);
void duckdb_replacement_scan_set_function_name(duckdb_replacement_scan_info info, const char *function_name);
void duckdb_replacement_scan_add_parameter(duckdb_replacement_scan_info info, duckdb_value parameter);
void duckdb_replacement_scan_set_error(duckdb_replacement_scan_info info, const char *error);

duckdb_add_replacement_scan

Добавляет определение сканирования замены в указанную базу данных.

Синтаксис
void duckdb_add_replacement_scan(
  duckdb_database db,
  duckdb_replacement_callback_t replacement,
  void *extra_data,
  duckdb_delete_callback_t delete_callback
);
Параметры
  • db: Объект базы данных, к которому добавляется сканирование замены
  • replacement: Обратный вызов сканирования замены
  • extra_data: Дополнительные данные, передаваемые обратно в указанный обратный вызов
  • delete_callback: Обратный вызов удаления для вызова по дополнительным данным, если таковые имеются


duckdb_replacement_scan_set_function_name

Устанавливает имя функции замены. Если эта функция вызывается в обратном вызове замены, выполняется сканирование замены. Если она не вызывается, обратный вызов замены не выполняется.

Синтаксис
void duckdb_replacement_scan_set_function_name(
  duckdb_replacement_scan_info info,
  const char *function_name
);
Параметры
  • info: Объект информации
  • function_name: Имя функции для подстановки.


duckdb_replacement_scan_add_parameter

Добавляет параметр к функции сканирования замены.

Синтаксис
void duckdb_replacement_scan_add_parameter(
  duckdb_replacement_scan_info info,
  duckdb_value parameter
);
Параметры
  • info: Объект информации
  • parameter: Параметр для добавления.


duckdb_replacement_scan_set_error

Сообщает, что при выполнении сканирования замены произошла ошибка.

Синтаксис
void duckdb_replacement_scan_set_error(
  duckdb_replacement_scan_info info,
  const char *error
);
Параметры
  • info: Объект информации
  • error: Сообщение об ошибке


© Copyright 2018–2024 Stichting DuckDB Foundation
Licensed under the MIT License.
https://duckdb.org/docs/api/c/replacement_scans.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API