=head1 NAME

Changes - List of significant changes to DBIx::Pg::CallFunction

=head2 Changes in 0.018
  Do mapping of default arguments in SQL instead of Perl,
  as Perl returns arrays in different unpredictable ways.
  (Joel Jacobson)

=head2 Changes in 0.017
  Fix META.json, remove tailing comma.
  (Joel Jacobson)

=head2 Changes in 0.016
  Fix META.json, remove tailing newline.
  (Joel Jacobson)

=head2 Changes in 0.015
  Fix Makefile.PL, require Test::Exception 0.32.
  (Matthew Musgrove)

  Add initial support for handling default values.
  (Steeve Lennmark)

=head2 Changes in 0.014
  Correctly use an error object in JSON-RPC versions 1.1 and 2.0 in

  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
  (Marko Tiikkaja)

=head2 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)

=head2 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)

=head2 Changes in 0.011
    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.

=head2 Changes in 0.010
  Updated Documentation.

=head2 Changes in 0.009
  Updated Documentation.

=head2 Changes in 0.008
  Updated Documentation and made the call method private,
    renamed to _call.

=head2 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.

=head2 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

=head2 Changes in 0.005

  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.

=head2 Changes in 0.004

  Added test-case to check if error is thrown when multiple functions
  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.

=head2 Changes in 0.003

  No changes, but had to change version number to upload to PAUSE,
    as you cannot upload the same file twice.

=head2 Changes in 0.002

  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.

=head2 Changes in 0.001

  First version.