mruby Advent Calendar 2015 の12日分の記事です。(12日に投稿したとは言っていない) PostgreSQLでmrubyを用いたユーザー定義関数の実装を可能にするplmrubyの開発を進めています。plmrubyによってデータベース内での実行が必要となる複雑なロジックを、mrubyの豊かな表現力を用いて記述することが可能になります。 plmrubyはWork In Progressであり安定版はリリースされていませんが、プロシージャ言語としての基本的な機能はある程度実装済みなので、以下でその機能を紹介します。 実装済み機能 スカラ関数 一般的な関数です。複数の値を引数として、一つの値を返します。 CREATE FUNCTION plmruby_test(keys text[], vals text[]) RETURNS text AS $$ h = Hash.ne