Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re^3: Returning multiple rows from pgplsql to DBI

by poj (Abbot)
on May 30, 2018 at 19:01 UTC ( [id://1215495]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Returning multiple rows from pgplsql to DBI
in thread Returning multiple rows from pgplsql to DBI

Untested but try SELECT * FROM function() with sort on the results set (not in the function). For example

sub mmgb_getAllBooks { my $self = shift; my $dbh = $self->dbh; my %parm = @_; my $p1 = $parm{mmgr_shortname} ? "character varying '$parm{mmgr_shor +tname}'" : 'NULL'; my $p2 = $parm{direction} ||= 'ASC'; my $sql = "SELECT * FROM mmgb_getAllBooks($p1) ORDER BY c7 $p2"; my $sth = $dbh->prepare($sql); $sth->execute(); return $sth->fetchall_arrayref(); }
poj

Replies are listed 'Best First'.
Re^4: Returning multiple rows from pgplsql to DBI
by anonymized user 468275 (Curate) on May 31, 2018 at 22:31 UTC
    If it works, wouldn't it be the same as RETURN QUERY SELECT ...? At some point I also have to restrict access to function calls and SELECT etc. will become forbidden for security reasons.

    One world, one people

      I don't want to write select queries at the perl end

      How will you call the plpgsql function in your module ?

      poj
        There are various ways to call a function without using select, e.g. assignment and PERFORM. Although I may be constrained for the case of returning multiple values (although at some point I will still try to get around that)

        One world, one people

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1215495]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (4)
As of 2024-04-26 00:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found