"Jay O'Connor" <joconnor@cybermesa.com> writes:
> CREATE FUNCTION countRows (varchar, varchar) RETURNS int AS
> '
> DECLARE
> val1 ALIAS FOR $1;
> val2 ALIAS FOR $2;
> total int;
> BEGIN
> SELECT INTO total count(*) FROM mytable WHERE fieldone =
> val1 AND fieldtwo = val2;
> RETURN total;
> END;
> ' LANGUAGE PLPGSQL;
> The value returned is much higher. Actaully, it is exactly what the number
> should be without the AND query. No matter what I'. passing for the second
> variable, I get the same result (even if it's a value not in that column
> for any record)
I kinda suspect you have an unexpected variable substitution. Is the
above *exactly* how the offending function reads, or have you
editorialized on the names used?
regards, tom lane