summaryrefslogtreecommitdiff
path: root/LedgerSMB/DBObject.pm
diff options
context:
space:
mode:
Diffstat (limited to 'LedgerSMB/DBObject.pm')
-rw-r--r--LedgerSMB/DBObject.pm15
1 files changed, 12 insertions, 3 deletions
diff --git a/LedgerSMB/DBObject.pm b/LedgerSMB/DBObject.pm
index 40d621c5..6a44fde8 100644
--- a/LedgerSMB/DBObject.pm
+++ b/LedgerSMB/DBObject.pm
@@ -104,9 +104,18 @@ sub exec_method {
@in_args = @{ $args{args}} if $args{args};
my @call_args;
- my $query = "SELECT proname, pronargs, proargnames FROM pg_proc WHERE proname = ?";
- my $sth = $self->{dbh}->prepare($query);
- $sth->execute($funcname) || $self->error($DBI::errstr . "in exec_method");
+ my $query = "
+ SELECT proname, pronargs, proargnames FROM pg_proc
+ WHERE proname = ?
+ AND pronamespace =
+ coalesce((SELECT oid FROM pg_namespace WHERE nspname = ?),
+ pronamespace)
+ ";
+ my $sth = $self->{dbh}->prepare(
+ $query
+ );
+ $sth->execute($funcname, $LedgerSMB::Sysconfig::db_namespace)
+ || $self->error($DBI::errstr . "in exec_method");
my $ref;
$ref = $sth->fetchrow_hashref('NAME_lc');