HSQLDBのMD5に関するドキュメントはやや不足していますが、パスワードのmd5-ingを有効にするために、次の手順に従いました。
CREATE FUNCTION md5(VARBINARY(128))
RETURNS VARBINARY(226)
LANGUAGE JAVA
DETERMINISTIC
NO SQL
EXTERNAL NAME 'CLASSPATH:org.hsqldb.lib.MD5.digest'
パスワードを更新しようとすると、次のようになります。
UPDATE worker SET password = md5('pass123') WHERE wid=1
次のエラーが発生します。
java.sql.SQLException: routine signature not found for: PUBLIC.MD5(CHARACTER)
私はSQLにあまり精通していないので、どこで間違いを犯しているのかわかりません。