Why I cannot call a function from within an SQL function?

From: Eus <eus(at)member(dot)fsf(dot)org>
To: Postgresql General Mailing List <pgsql-general(at)postgresql(dot)org>
Subject: Why I cannot call a function from within an SQL function?
Date: 2009-02-20 13:02:39
Message-ID: 468327.17300.qm@web37602.mail.mud.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi Ho!

The following query works well:

select count (*)
from item_audit
where audit_ts >= '2008-05-30 00:00:00'
and audit_ts <= '2008-10-30 00:00:00'
and 'wst' != (select split_part(category, '-', 2)
from description
where split_part(category, '-', 1) = 'item'
and shorthand = status
)

But, when I transform it into the following SQL function, the function cannot be created barking:

ERROR: syntax error at or near "-"
LINE 6: and $1 != (select split_part(category, '-', 2)"

create or replace function get_I(text, timestamp, timestamp) returns bigint as
'select count (*)
from item_audit as ia
where audit_ts >= $2
and audit_ts <= $3
and $1 != (select split_part(category, '-', 2)
from description
where split_part(category, '-', 1) = 'item'
and shorthand = ia.status
)
' language sql;

What's wrong?

Thank you.

Best regards,
Eus (FSF member #4445)

In this digital era, where computing technology is pervasive, your freedom depends on the software controlling those computing devices.

Join free software movement today! It is free as in freedom, not as in free beer!

Join: http://www.fsf.org/jf?referrer=4445

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Eus 2009-02-20 13:14:45 Re: Why I cannot call a function from within an SQL function?
Previous Message Michael Akinde 2009-02-20 11:24:49 Re: Large object loading stalls