Re: postgresql 8.01, plpgsql

From: Timothy Smith <timothy(at)open-networks(dot)net>
To: Michael Fuhr <mike(at)fuhr(dot)org>, pgsql-sql(at)postgresql(dot)org
Subject: Re: postgresql 8.01, plpgsql
Date: 2005-03-15 03:38:00
Message-ID: 42365898.3020904@open-networks.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Michael Fuhr wrote:

>On Tue, Mar 15, 2005 at 11:35:13AM +1000, Timothy Smith wrote:
>
>
>
>>i have the following function in plpgsql giving stynax errors all over
>>the place.
>>
>>
>
>When I load the function you posted I get this:
>
>test=> \i foo.sql
>psql:foo.sql:87: ERROR: syntax error at or near "END" at character 2851
>psql:foo.sql:87: LINE 83: END;
>psql:foo.sql:87: ^
>
>If I add a semicolon to the NULL statement in the exception handler
>then it loads successfully.
>
>
>
>>one thing to note is i followed this example
>>http://www.zigo.dhs.org/postgresql/#insert_or_update and it gives the
>>same errors.
>>
>>
>
>I get no errors loading the example in the "Insert or Update" section
>of that page.
>
>
>
>>"ERROR: unterminated dollar-quoted string at or near "$$
>>BEGIN
>>LOOP"
>>
>>
>
>This looks like the parser is reaching EOF before the end of the
>function body. How are you loading the function? I usually store code
>in a file and use "psql -f filename" from the shell or "\i filename"
>from the psql prompt. If you're not already doing that, what happens
>when you try it?
>
>
>
ok i tried loading it from a file like you suggested and this is what i
got for MY function

\i /home/timothy/function
psql:/home/timothy/function:35: ERROR: unterminated dollar-quoted
string at or near "$$
BEGIN
LOOP
UPDATE daily_takings SET till_name = TillName,
tape = Tape,
cash = Cash,
promo_manager = GM,
venue_manager = VenueManager,
asst_manager = AsstManager,
bar_manager = BarManager,
pr_cards = PRCards,
other_promo = otherPromo,
functions = Functions,
accounts = Accounts,
spill = Spill,
o_rings = Orings,
variance = Variance
WHERE id = ID
AND till_name = TillName;" at character 604
psql:/home/timothy/function:37: ERROR: syntax error at or near "IF" at
character 3
psql:/home/timothy/function:38: ERROR: syntax error at or near "IF" at
character 7
psql:/home/timothy/function:70: ERROR: syntax error at or near "INSERT"
at character 13
psql:/home/timothy/function:71: ERROR: syntax error at or near "RETURN"
at character 4
psql:/home/timothy/function:74: ERROR: syntax error at or near
"EXCEPTION" at character 3
psql:/home/timothy/function:75: ERROR: syntax error at or near "LOOP"
at character 6
psql:/home/timothy/function:76: WARNING: there is no transaction in
progress
COMMIT
psql:/home/timothy/function:78: ERROR: unterminated dollar-quoted
string at or near "$$
LANGUAGE plpgsql;" at character 1

and similarly for the example i got

\i /home/timothy/function
psql:/home/timothy/function:1: ERROR: unterminated dollar-quoted string
at or near "$$ BEGIN LOOP UPDATE db SET b = data WHERE a = key;" at
character 63
psql:/home/timothy/function:1: ERROR: syntax error at or near "IF" at
character 2
psql:/home/timothy/function:1: ERROR: syntax error at or near "IF" at
character 6
psql:/home/timothy/function:2: ERROR: syntax error at or near "INSERT"
at character 8
psql:/home/timothy/function:2: ERROR: syntax error at or near "RETURN"
at character 2
psql:/home/timothy/function:2: ERROR: syntax error at or near
"EXCEPTION" at character 2

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Timothy Smith 2005-03-15 04:14:02 re postgresql 8.01 plpgsql
Previous Message Michael Fuhr 2005-03-15 02:41:04 Re: postgresql 8.01, plpgsql