Tsurugi Advent Calendar 2025の24日目です。本日、Tsurugi 1.8.0が公開されました。
(去年の12月24日にもTsurugi 1.2.0がリリースされていたようなw)
→Tsurugi 1.8.0のリリースノート
今回の目玉は、(試験的機能ですが)UDF(ユーザー定義関数)でしょうか。
ユーザーが関数を定義して、select文から使用したりできるようになりました。
select my_function(foo) from test;
ただし、他のRDBMSであればUDFはcreate function文で作成するところですが、今回のTsurugiのUDFはgRPCで定義します。
つまり、ユーザーは、関数を(gRPC定義用の)protoファイルにサービスおよびrpcとして定義しておき、それを処理するgRPCサーバーを立てます。
その関数をTsurugiに登録しておくと、TsurugiからgRPC経由で呼び出されるという仕組みです。(Tsurugiに登録するツールは提供されています)
(したがって、Tsurugi起動中に動的にUDFを作ることは出来ません)
それと小さな話ですが、Tsurugi 1.8.0のクライアントライブラリー(Tsubakuro/JavaやTsubakuro/Rust)で、接続されたTsurugiのバージョンが取れるようになりました。
これを利用して、tgsql起動時に、接続したTsurugiのバージョンが表示されるようになりました。(ついでにtgsql自体のバージョンも表示されるようになりました)
また、Tsurugi JDBCのDatabaseMetaData.getDatabaseProductVersion()や、ODBCのSQLGetInfo(SQL_DBMS_VER)でも、Tsurugiのバージョンが取れるようになっています。