@@ -17,15 +17,20 @@ along with this program; if not, write to the Free Software
1717Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
1818 ********************************************************************PGR-GNU*/
1919BEGIN;
20- SELECT CASE WHEN min_version('3.6.0') THEN plan(15 ) ELSE plan(5 ) END;
20+ SELECT CASE WHEN min_version('3.6.0') THEN plan(13 ) ELSE plan(2 ) END;
2121
2222SELECT has_function('pgr_withpointsksp');
2323
2424CREATE FUNCTION withPointsKSP_types_check()
2525RETURNS SETOF TEXT AS
2626$BODY$
2727BEGIN
28- IF min_version('3.6.0') THEN
28+
29+ IF NOT min_version('3.6.0') THEN
30+ RETURN QUERY SELECT skip(1, 'pgr_withPointsKSP testing only valid signatures on 4.0.0');
31+ RETURN;
32+ END IF;
33+
2934 RETURN QUERY SELECT has_function('pgr_withpointsksp',ARRAY['text','text','bigint','bigint','integer','character','boolean','boolean','boolean']);
3035 RETURN QUERY SELECT has_function('pgr_withpointsksp',ARRAY['text','text','bigint','anyarray','integer','character','boolean','boolean','boolean']);
3136 RETURN QUERY SELECT has_function('pgr_withpointsksp',ARRAY['text','text','anyarray','bigint','integer','character','boolean','boolean','boolean']);
@@ -37,42 +42,42 @@ BEGIN
3742 RETURN QUERY SELECT function_returns('pgr_withpointsksp',ARRAY['text','text','anyarray','bigint','integer','character','boolean','boolean','boolean'],'setof record');
3843 RETURN QUERY SELECT function_returns('pgr_withpointsksp',ARRAY['text','text','anyarray','anyarray','integer','character','boolean','boolean','boolean'],'setof record');
3944 RETURN QUERY SELECT function_returns('pgr_withpointsksp',ARRAY['text','text','text','integer','character','boolean','boolean','boolean'],'setof record');
40- END IF;
41- /*Remove last 1 row on v4*/
42- RETURN QUERY SELECT CASE WHEN min_version('3.6.0')
43- THEN collect_tap(
4445
45- function_args_eq('pgr_withpointsksp',
46- $$VALUES
47- ('{"","","","","","","directed","heap_paths","details","seq","path_id","path_seq","start_vid","end_vid","node","edge","cost","agg_cost"}'::TEXT[]),
48- ('{"","","","","","directed","heap_paths","details","seq","path_id","path_seq","start_vid","end_vid","node","edge","cost","agg_cost"}'::TEXT[]),
49- ('{"","","","","","directed","heap_paths","driving_side","details","seq","path_id","path_seq","node","edge","cost","agg_cost"}'::TEXT[])
50- $$),
46+ IF min_version('4.0.0') THEN
47+
48+ RETURN QUERY SELECT function_args_eq('pgr_withpointsksp',
49+ $$VALUES
50+ ('{"","","","","","",directed,heap_paths,details,seq,path_id,path_seq,start_vid,end_vid,node,edge,cost,agg_cost}'::TEXT[]),
51+ ('{"","","","","",directed,heap_paths,details,seq,path_id,path_seq,start_vid,end_vid,node,edge,cost,agg_cost}'::TEXT[])
52+ $$);
53+
54+ RETURN QUERY SELECT function_types_eq('pgr_withpointsksp',
55+ $$VALUES
56+ ('{text,text,int8,int8,int4,bpchar,bool,bool,bool,int4,int4,int4,int8,int8,int8,int8,float8,float8}'::TEXT[]),
57+ ('{text,text,int8,anyarray,int4,bpchar,bool,bool,bool,int4,int4,int4,int8,int8,int8,int8,float8,float8}'::TEXT[]),
58+ ('{text,text,anyarray,int8,int4,bpchar,bool,bool,bool,int4,int4,int4,int8,int8,int8,int8,float8,float8}'::TEXT[]),
59+ ('{text,text,anyarray,anyarray,int4,bpchar,bool,bool,bool,int4,int4,int4,int8,int8,int8,int8,float8,float8}'::TEXT[]),
60+ ('{text,text,text,int4,bpchar,bool,bool,bool,int4,int4,int4,int8,int8,int8,int8,float8,float8}'::TEXT[])
61+ $$);
5162
52- function_types_eq('pgr_withpointsksp',
53- $$VALUES
54- ('{text,text,int8,int8,int4,bpchar,bool,bool,bool,int4,int4,int4,int8,int8,int8,int8,float8,float8}'::TEXT[]),
55- ('{text,text,int8,anyarray,int4,bpchar,bool,bool,bool,int4,int4,int4,int8,int8,int8,int8,float8,float8}'::TEXT[]),
56- ('{text,text,anyarray,int8,int4,bpchar,bool,bool,bool,int4,int4,int4,int8,int8,int8,int8,float8,float8}'::TEXT[]),
57- ('{text,text,anyarray,anyarray,int4,bpchar,bool,bool,bool,int4,int4,int4,int8,int8,int8,int8,float8,float8}'::TEXT[]),
58- ('{text,text,text,int4,bpchar,bool,bool,bool,int4,int4,int4,int8,int8,int8,int8,float8,float8}'::TEXT[]),
59- ('{text,text,int8,int8,int4,bool,bool,bpchar,bool,int4,int4,int4,int8,int8,float8,float8}'::TEXT[])
60- $$)
61- )
62- ELSE collect_tap(
63+ ELSE
6364
64- function_args_eq('pgr_withpointsksp',
65- $$SELECT '{"","","","","","directed","heap_paths","driving_side","details","seq","path_id","path_seq","node","edge","cost","agg_cost"}'::TEXT[] $$
66- ),
65+ RETURN QUERY SELECT function_args_has('pgr_withpointsksp',
66+ $$VALUES
67+ ('{"","","","","","",directed,heap_paths,details,seq,path_id,path_seq,start_vid,end_vid,node,edge,cost,agg_cost}'::TEXT[]),
68+ ('{"","","","","",directed,heap_paths,details,seq,path_id,path_seq,start_vid,end_vid,node,edge,cost,agg_cost}'::TEXT[])
69+ $$);
6770
68- function_types_eq('pgr_withpointsksp',
69- $$VALUES ('{text,text,int8,int8,int4,bool,bool,bpchar,bool,int4,int4,int4,int8,int8,float8,float8}'::TEXT[])$$
70- )
71- )END;
71+ RETURN QUERY SELECT function_types_has('pgr_withpointsksp',
72+ $$VALUES
73+ ('{text,text,int8,int8,int4,bpchar,bool,bool,bool,int4,int4,int4,int8,int8,int8,int8,float8,float8}'::TEXT[]),
74+ ('{text,text,int8,anyarray,int4,bpchar,bool,bool,bool,int4,int4,int4,int8,int8,int8,int8,float8,float8}'::TEXT[]),
75+ ('{text,text,anyarray,int8,int4,bpchar,bool,bool,bool,int4,int4,int4,int8,int8,int8,int8,float8,float8}'::TEXT[]),
76+ ('{text,text,anyarray,anyarray,int4,bpchar,bool,bool,bool,int4,int4,int4,int8,int8,int8,int8,float8,float8}'::TEXT[]),
77+ ('{text,text,text,int4,bpchar,bool,bool,bool,int4,int4,int4,int8,int8,int8,int8,float8,float8}'::TEXT[])
78+ $$);
7279
73- /* TODO remove on v4*/
74- RETURN QUERY SELECT has_function('pgr_withpointsksp',ARRAY['text','text','bigint','bigint','integer','boolean','boolean','character','boolean']);
75- RETURN QUERY SELECT function_returns('pgr_withpointsksp',ARRAY['text','text','bigint','bigint','integer','boolean','boolean','character','boolean'],'setof record');
80+ END IF;
7681END
7782$BODY$
7883LANGUAGE plpgsql VOLATILE;
0 commit comments