Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit8b6b414

Browse files
committed
Update pltcl regress test to exercise return_null; also make use of
the fact that CREATE FUNCTION and CREATE AGGREGATE now allow arraytypes to be named like int4[] rather than _int4.
1 parent179b8e5 commit8b6b414

File tree

3 files changed

+11
-6
lines changed

3 files changed

+11
-6
lines changed

‎src/pl/tcl/test/runtest

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ psql -q -n -e $DBNAME <test_queries.sql > test.out 2>&1
2121
if diff test.expected test.out>/dev/null2>&1;then
2222
echo" Tests passed O.K."
2323
else
24-
echo" Testsfaild - look at diffs between"
24+
echo" Testsfailed - look at diffs between"
2525
echo" test.expected and test.out"
2626
fi
2727

‎src/pl/tcl/test/test.expected

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,11 @@ select tcl_sum(key1) from T_pkey2;
133133
(1 row)
134134

135135
select tcl_avg(key1) from T_pkey1 where key1 = 99;
136-
ERROR: pltcl: divide by zero
136+
tcl_avg
137+
---------
138+
139+
(1 row)
140+
137141
select tcl_sum(key1) from T_pkey1 where key1 = 99;
138142
tcl_sum
139143
---------

‎src/pl/tcl/test/test_setup.sql

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -389,22 +389,23 @@ create function tcl_int4add(int4,int4) returns int4 as '
389389
-- We use split(n) as a quick-and-dirty way of parsing the input array
390390
-- value, which comes in as a string like '{1,2}'. There are better ways...
391391

392-
createfunctiontcl_int4_accum(_int4,int4) returns_int4as'
392+
createfunctiontcl_int4_accum(int4[],int4) returnsint4[]as'
393393
set state [split $1 "{,}"]
394394
set newsum [expr {[lindex $state 1] + $2}]
395395
set newcnt [expr {[lindex $state 2] + 1}]
396396
return "{$newsum,$newcnt}"
397397
' language'pltcl';
398398

399-
createfunctiontcl_int4_avg(_int4) returns int4as'
399+
createfunctiontcl_int4_avg(int4[]) returns int4as'
400400
set state [split $1 "{,}"]
401+
if {[lindex $state 2] == 0} { return_null }
401402
return [expr {[lindex $state 1] / [lindex $state 2]}]
402403
' language'pltcl';
403404

404405
createaggregatetcl_avg (
405406
sfunc= tcl_int4_accum,
406407
basetype= int4,
407-
stype=_int4,
408+
stype=int4[],
408409
finalfunc= tcl_int4_avg,
409410
initcond='{0,0}'
410411
);
@@ -413,7 +414,7 @@ create aggregate tcl_sum (
413414
sfunc= tcl_int4add,
414415
basetype= int4,
415416
stype= int4,
416-
initcond1='0'
417+
initcond1=0
417418
);
418419

419420
createfunctiontcl_int4lt(int4,int4) returns boolas'

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp