Symfoware Serverがデフォルトで提供する関数を利用することで、様々な演算や操作、情報の取得をSQL文で行うことができます。
しかし、システムに関する情報を取得する関数や、統計情報に関する関数など、Symfoware Serverの内部に関係する関数は、今後のSymfoware Serverのバージョンアップにともない変更されることがあります。
そのため、これらの関数を使用する際には、新たに関数を定義して、アプリケーションでは新しく定義した関数を使用するようにしてください。
以下は関数の定義例と使用例です。
例
CREATE FUNCTION my_func(relid regclass) RETURNS bigint LANGUAGE SQL AS 'SELECT pg_relation_size(relid)'; SELECT my_func(2619);
これにより、関数に変更が入った場合、アプリケーションを変更することなく、関数を再定義するだけで対応することができます。
以下は、関数を再定義して変更が入らなかったかのように対処している例です。
引数が追加された関数 pg_relation_sizeを再定義しています。
例
DROP FUNCTION my_func(regclass); CREATE FUNCTION my_func(relid regclass) RETURNS bigint LANGUAGE SQL AS 'SELECT pg_relation_size(relid,$$main$$)';