S-JIS[2025-12-25/2026-01-04]

Tsurugi ユーザー定義関数

Tsurugi(TsurugiDB)SQLのユーザー定義関数(UDF)のメモ。


概要

Tsurugi 1.8.0で、試験的機能としてユーザー定義関数(UDF)が使えるようになった。

ユーザーが関数を作っておき、select文などから呼び出すことが出来る。

select my_function(foo) from test;

UDFの使い方は他のRDBMSと同じだが、作り方は異なる。
他のRDBMSではcreate function文でUDFを定義するが、TsurugiのUDFはgRPCを利用する。
(gRPCは、Googleが開発した、RPC(Remote Procedure Call、別の場所にある関数を呼び出す仕組み)のフレームワーク)

ユーザーはprotoファイルで関数を定義し、その処理を行うgRPCサーバーを用意する。
gRPCサーバーを作るプログラミング言語は(gRPCが対応しているものなら)何でも良い。

TsurugiはgRPCクライアントとして振る舞う。
SQL文の中でUDFが呼ばれると、TsurugiはgRPCサーバーの関数を呼び出す。


このため、TsurugiのUDFはTsurugi起動前に作成しておく必要がある。
(Tsurugiの実行中に動的にUDFを作ることは出来ない)


UDFの作成手順

TsurugiのUDFは以下の手順で作成する。

  1. protoファイルを作成する。(UDFの定義を行う)
  2. protoファイルをビルドし、gRPCサーバー(gRPCサービス)を作る。
  3. UDFをTsurugiに登録する。
  4. gRPCサーバーを起動する。
  5. Tsurugiを起動する。

SQLへ戻る / Tsurugiへ戻る / 技術メモへ戻る
メールの送信先:ひしだま