On 3/6/19 7:12 AM, Rob Sargent wrote:
On Mar 6, 2019, at 6:32 AM, Ron <ronljohnsonjr@xxxxxxxxx> 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 current schema 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 space on 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@xxxxxxxxxxx