On 3/6/19 7:12 AM, Rob Sargent wrote:
>
>
>> On Mar 6, 2019, at 6:32 AM, Ron <ronljohnsonjr@gmail.com> wrote:
>>
>> On 3/6/19 1:45 AM, Rob Sargent wrote:
>> [snip]
>>> This construct had been working until recent changes but I cannot relate the message to any deformity in the
currentschema or code.
>>> Any pointers appreciated.
>>
>> What were the recent changes?
>>
>> --
>> Angular momentum makes the world go 'round.
>>
>
> diff optimalMonoPed.sql optimalMonoPed.sql.~20359ea9e67ddf009db89b94140f67988862f247~
> 13,14d12
> < imkr int;
> < jmkr int;
> 53c51
> < --
> ---
>> --
> 67,68d64
> < select imkr=min(ordinal), jmkr=max(ordinal) from mrkidx where ordinal between segp.firstmarker and
segp.lastmarker;
> < raise notice 'seg % start=% i=% end=% j=%', segp.id, segp.firstmarker, imkr, segp.lastmarker, jmkr;
>
> In other words two variables dropped along with the select which set them for their only use in a NOTICE, plus white
spaceon a comment line.
>
> So yes the problem must be in the caller.
>
> A not on line numbers: Using \ef on this function presents a slight variation of my code: it rearranges the “language
plpgsql”from after the final END; (old style I guess) to before the AS. So line 65 is actually what I thought was line
64.
I believe language plpgsql is not considered part of the function body
so it is not included in the line count:
https://www.postgresql.org/docs/10/plpgsql-structure.html
When tracking a line number down I usually do:
\ef some_function line_number
which counts the line in the function body not the file. So for example:
Using set nu in Vi:
1 CREATE OR REPLACE FUNCTION public.ts_update()
2 RETURNS trigger
3 LANGUAGE plpgsql
4 AS $function$
5 BEGIN
6 NEW.ts_update := timeofday();
7 RETURN NEW;
8 END;
9 $function$
\ef ts_update 4
CREATE OR REPLACE FUNCTION public.ts_update()
RETURNS trigger
LANGUAGE plpgsql
AS $function$
BEGIN
NEW.ts_update := timeofday();
RETURN NEW; <--- This row is marked
END;
$function$
> Still not the real problem of course. (I’ll update my ways re: coding functions)
>
>
>
--
Adrian Klaver
adrian.klaver@aklaver.com