On Fri, Mar 7, 2014 at 6:39 PM, Clemens Ladisch <clem...@ladisch.de> wrote: > Max Vlasov wrote: >> >> Nice suggestion. This probably falls into case when a small new part >> needed on sqlite side > > Actually, no change to SQLite itself would be needed. It's possible > to create an extension that provides a function that allows to register > another function that executes a custom SQL expression: > > SELECT register_simple_function('rpad', 2, 'SELECT printf(''%-*s'', ?, ?)'); > >
Brilliant :) this is a solution not requiring adding anything to sqlite. I'd only prefer not using full-features sql queries, but rather expression that is automatically wrapped in SELECT without FROM, otherwise they would create dimensions (columns, rows) when our function strictly expected one result. And also support for numbered parameters. So my example whould be implemented as SELECT register_function('complexcase', 2, 'Case when ?1 < 10 then ?2 else ?2 + 10 end'); It's interesting that such approach makes this super-function Pragma-like. It changes some internal state (reveals a new function) and also optionally returns some result, for example 1 for success. Max _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users