05 May 2014 08:08:59 UTC
- Distribution: DBIx-Pg-CallFunction
- Source (raw)
- Browse (raw)
- How to Contribute
- Clone repository
- Issues (1)
- Testers (163 / 39 / 0)
- KwaliteeBus factor: 0
- License: mit
- Activity24 month
- Download (31.27KB)
- MetaCPAN Explorer
- Subscribe to distribution
- This version
- Latest version
- Changes in 0.018 Do mapping of default arguments in SQL instead of Perl, as Perl returns arrays in different unpredictable ways. (Joel Jacobson)
- Changes in 0.017 Fix META.json, remove tailing comma. (Joel Jacobson)
- Changes in 0.016 Fix META.json, remove tailing newline. (Joel Jacobson)
- Changes in 0.015 Fix Makefile.PL, require Test::Exception 0.32. (Matthew Musgrove)
- Changes in 0.014 Correctly use an error object in JSON-RPC versions 1.1 and 2.0 in pg_proc_jsonrpc.
- Changes in 0.013 Use the correct datatype for comparisons against pg_proc.proname and pg_namespace.nspname, allowing indexes on said tables to be used. (Marko Tiikkaja)
- Changes in 0.012 Use croak to report execute failures from the caller's perspective with the name of the Pg function that was called. (Matthew Musgrove)
- Changes in 0.011 Added ALTER DEFAULT PRIVILEGES REVOKE ALL ON FUNCTIONS FROM PUBLIC; to documentation, to avoid granting access to stored procedures by default, which is not good when you have functions with SECURITY DEFINER, better to grant execute rights explicity for all functions. Included inc/, necessary for users without Module::Install.
- Changes in 0.010 Updated Documentation.
- Changes in 0.009 Updated Documentation.
- Changes in 0.008 Updated Documentation and made the call method private, renamed to _call.
- Changes in 0.007 Changed pg_proc_jsonrpcd into a plain PSGI App to let for e.g. Apache2, mod_perl and Plack::Handler::Apache2 handle the server task. Added how-to on how to setup pg_proc_jsonrpc.psgi.
- Changes in 0.006 Optimized _proretset SQL query Makefile.PL format changed to Module::Install Add script pg_proc_jsonrpc, starting a JSON-RPC daemon
- Changes in 0.005
- Changes in 0.004
- Changes in 0.003
- Changes in 0.002
- Changes in 0.001
Changes - List of significant changes to DBIx::Pg::CallFunction
Add initial support for handling default values. (Steeve Lennmark)
Support retrying a function call in some error cases. (Marko Tiikkaja) Retry on serialization failures and deadlocks in pg_proc_jsonrpc. (Marko Tiikkaja) Introduce an optional cache for function lookups and make pg_proc_jsonrpc use it. (Marko Tiikkaja)
Added Plack PSGI example on how to create a JSON-RPC server, exposing the PostgreSQL database as a JSON-RPC service. Added support for functions with no arguments.
Added test-case to check if error is thrown when multiple functions matches. Moved entire proretset check to SQL. Before the SQL only selected candidate functions matching the arguments, while Perl filtered out the OUT arguments and compared the arguments. Now it is all done using SQL only. Updated documentation, mention DBIx::ProcedureCall under SEE ALSO.
No changes, but had to change version number to upload to PAUSE, as you cannot upload the same file twice.
Changed license to MIT Various indentation and regex fixes Added description of the pg_catalog.pg_proc.proretset column Make sure we get the proretset value for the right function, the WHERE statement could possibly match other functions sharing the only part of the arguments, as some of the arguments could be OUT arguments. This is now fixed by comparing only the IN arguments. If two functions matches exactly the same IN argument names, an error is thrown. Thus, overloading of functions with the same argument names is not possible. Would be possible to implement, but that would make the interface more cumbersome, as you would need to specify the data types of all input arguments. Perhaps this could be added as an optional third argument to the call() function. I don't need this now, so I'll put it on the TODO until someone needs it and complains. Better to keep it simple for now.
Module Install Instructions
To install DBIx::Pg::CallFunction, copy and paste the appropriate command in to your terminal.
perl -MCPAN -e shell install DBIx::Pg::CallFunction
For more information on module installation, please visit the detailed CPAN module installation guide.