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

Commit5801fb0

Browse files
committed
Implement is_null/is_not_null functions
1 parent1ea1934 commit5801fb0

File tree

5 files changed

+182
-46
lines changed

5 files changed

+182
-46
lines changed

‎Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ OBJS = vops.o
66
EXTENSION = vops
77
DATA = vops--1.0.sql
88
PGFILEDESC = "vops - vectorized operations"
9-
CUSTOM_COPT = -O3
9+
#CUSTOM_COPT = -O3
1010

11-
REGRESS =
11+
REGRESS =test.sql
1212

1313
ifdefUSE_PGXS
1414
PG_CONFIG = pg_config

‎sql/test.out

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
CREATE EXTENSION
2+
CREATE TABLE
3+
CREATE TABLE
4+
INSERT 0 6
5+
populate
6+
----------
7+
8+
(1 row)
9+
10+
unnest
11+
--------
12+
(2)
13+
(3)
14+
(4)
15+
(3 rows)
16+
17+
countall
18+
----------
19+
4
20+
(1 row)
21+
22+
count
23+
-------
24+
60
25+
(1 row)
26+
27+
count
28+
-------
29+
4
30+
(1 row)
31+
32+
count | count | sum | avg | min | max | variance | var_pop | var_samp | stddev | stddev_pop | stddev_samp
33+
-------+-------+-----+-----+-----+-----+------------------+---------+------------------+------------------+------------------+------------------
34+
4 | 4 | 10 | 2.5 | 1 | 4 | 1.66666666666667 | 1.25 | 1.66666666666667 | 1.29099444873581 | 1.11803398874989 | 1.29099444873581
35+
(1 row)
36+
37+
count | count | sum | avg | min | max | variance | var_pop | var_samp | stddev | stddev_pop | stddev_samp
38+
-------+-------+-----+-----+-----+-----+------------------+---------+------------------+------------------+------------------+------------------
39+
4 | 4 | 10 | 2.5 | 1 | 4 | 1.66666666666667 | 1.25 | 1.66666666666667 | 1.29099444873581 | 1.11803398874989 | 1.29099444873581
40+
(1 row)
41+
42+
count | count | sum | avg | min | max | variance | var_pop | var_samp | stddev | stddev_pop | stddev_samp
43+
-------+-------+-----+-----+-----+-----+----------+-------------------+----------+--------+-------------------+-------------
44+
3 | 3 | 9 | 3 | 2 | 4 | 1 | 0.666666666666667 | 1 | 1 | 0.816496580927726 | 1
45+
(1 row)
46+
47+
count | count | sum | avg | min | max | variance | var_pop | var_samp | stddev | stddev_pop | stddev_samp
48+
-------+-------+-----+-----+-----+-----+----------+-------------------+----------+--------+-------------------+-------------
49+
3 | 3 | 9 | 3 | 2 | 4 | 1 | 0.666666666666667 | 1 | 1 | 0.816496580927726 | 1
50+
(1 row)
51+

‎sql/test.sql

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
create extension vops;
2+
createtables(xreal);
3+
createtablev(x vops_float4);
4+
insert into svalues(1.0),(2.0),(null),(3.0),(null),(4.0);
5+
select populate(destination:='v'::regclass, source:='s'::regclass);
6+
select unnest(v.*)from vwhere x>1;
7+
select countall(*)from vwhere xis not null;
8+
selectcount(*)from vwhere x isnull;
9+
selectcount(*)from vwhere xis not null;
10+
selectcount(*),count(x),sum(x),avg(x),min(x),max(x),variance(x),var_pop(x),var_samp(x),stddev(x),stddev_pop(x),stddev_samp(x)from vwhere x>=0.0;
11+
selectcount(*),count(x),sum(x),avg(x),min(x),max(x),variance(x),var_pop(x),var_samp(x),stddev(x),stddev_pop(x),stddev_samp(x)from swhere x>=0.0;
12+
selectcount(*),count(x),sum(x),avg(x),min(x),max(x),variance(x),var_pop(x),var_samp(x),stddev(x),stddev_pop(x),stddev_samp(x)from vwhere x>1.0;
13+
selectcount(*),count(x),sum(x),avg(x),min(x),max(x),variance(x),var_pop(x),var_samp(x),stddev(x),stddev_pop(x),stddev_samp(x)from swhere x>1.0;

‎vops--1.0.sql

Lines changed: 27 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ CREATE AGGREGATE variance(vops_char) (
260260
CREATEAGGREGATEstddev_pop(vops_char) (
261261
SFUNC= vops_char_var_accumulate,
262262
STYPE= internal,
263-
FINALFUNC=vops_var_pop_final,
263+
FINALFUNC=vops_stddev_pop_final,
264264
COMBINEFUNC= vops_var_combine,
265265
SERIALFUNC= vops_var_serial,
266266
DESERIALFUNC= vops_var_deserial,
@@ -270,7 +270,7 @@ CREATE AGGREGATE stddev_pop(vops_char) (
270270
CREATEAGGREGATEstddev_samp(vops_char) (
271271
SFUNC= vops_char_var_accumulate,
272272
STYPE= internal,
273-
FINALFUNC=vops_var_samp_final,
273+
FINALFUNC=vops_stddev_samp_final,
274274
COMBINEFUNC= vops_var_combine,
275275
SERIALFUNC= vops_var_serial,
276276
DESERIALFUNC= vops_var_deserial,
@@ -280,7 +280,7 @@ CREATE AGGREGATE stddev_samp(vops_char) (
280280
CREATEAGGREGATEstddev(vops_char) (
281281
SFUNC= vops_char_var_accumulate,
282282
STYPE= internal,
283-
FINALFUNC=vops_var_samp_final,
283+
FINALFUNC=vops_stddev_samp_final,
284284
COMBINEFUNC= vops_var_combine,
285285
SERIALFUNC= vops_var_serial,
286286
DESERIALFUNC= vops_var_deserial,
@@ -447,7 +447,7 @@ CREATE AGGREGATE variance(vops_int2) (
447447
CREATEAGGREGATEstddev_pop(vops_int2) (
448448
SFUNC= vops_int2_var_accumulate,
449449
STYPE= internal,
450-
FINALFUNC=vops_var_pop_final,
450+
FINALFUNC=vops_stddev_pop_final,
451451
COMBINEFUNC= vops_var_combine,
452452
SERIALFUNC= vops_var_serial,
453453
DESERIALFUNC= vops_var_deserial,
@@ -457,7 +457,7 @@ CREATE AGGREGATE stddev_pop(vops_int2) (
457457
CREATEAGGREGATEstddev_samp(vops_int2) (
458458
SFUNC= vops_int2_var_accumulate,
459459
STYPE= internal,
460-
FINALFUNC=vops_var_samp_final,
460+
FINALFUNC=vops_stddev_samp_final,
461461
COMBINEFUNC= vops_var_combine,
462462
SERIALFUNC= vops_var_serial,
463463
DESERIALFUNC= vops_var_deserial,
@@ -467,7 +467,7 @@ CREATE AGGREGATE stddev_samp(vops_int2) (
467467
CREATEAGGREGATEstddev(vops_int2) (
468468
SFUNC= vops_int2_var_accumulate,
469469
STYPE= internal,
470-
FINALFUNC=vops_var_samp_final,
470+
FINALFUNC=vops_stddev_samp_final,
471471
COMBINEFUNC= vops_var_combine,
472472
SERIALFUNC= vops_var_serial,
473473
DESERIALFUNC= vops_var_deserial,
@@ -648,7 +648,7 @@ CREATE AGGREGATE variance(vops_int4) (
648648
CREATEAGGREGATEstddev_pop(vops_int4) (
649649
SFUNC= vops_int4_var_accumulate,
650650
STYPE= internal,
651-
FINALFUNC=vops_var_pop_final,
651+
FINALFUNC=vops_stddev_pop_final,
652652
COMBINEFUNC= vops_var_combine,
653653
SERIALFUNC= vops_var_serial,
654654
DESERIALFUNC= vops_var_deserial,
@@ -658,7 +658,7 @@ CREATE AGGREGATE stddev_pop(vops_int4) (
658658
CREATEAGGREGATEstddev_samp(vops_int4) (
659659
SFUNC= vops_int4_var_accumulate,
660660
STYPE= internal,
661-
FINALFUNC=vops_var_samp_final,
661+
FINALFUNC=vops_stddev_samp_final,
662662
COMBINEFUNC= vops_var_combine,
663663
SERIALFUNC= vops_var_serial,
664664
DESERIALFUNC= vops_var_deserial,
@@ -668,7 +668,7 @@ CREATE AGGREGATE stddev_samp(vops_int4) (
668668
CREATEAGGREGATEstddev(vops_int4) (
669669
SFUNC= vops_int4_var_accumulate,
670670
STYPE= internal,
671-
FINALFUNC=vops_var_samp_final,
671+
FINALFUNC=vops_stddev_samp_final,
672672
COMBINEFUNC= vops_var_combine,
673673
SERIALFUNC= vops_var_serial,
674674
DESERIALFUNC= vops_var_deserial,
@@ -845,7 +845,7 @@ CREATE AGGREGATE variance(vops_date) (
845845
CREATEAGGREGATEstddev_pop(vops_date) (
846846
SFUNC= vops_date_var_accumulate,
847847
STYPE= internal,
848-
FINALFUNC=vops_var_pop_final,
848+
FINALFUNC=vops_stddev_pop_final,
849849
COMBINEFUNC= vops_var_combine,
850850
SERIALFUNC= vops_var_serial,
851851
DESERIALFUNC= vops_var_deserial,
@@ -855,7 +855,7 @@ CREATE AGGREGATE stddev_pop(vops_date) (
855855
CREATEAGGREGATEstddev_samp(vops_date) (
856856
SFUNC= vops_date_var_accumulate,
857857
STYPE= internal,
858-
FINALFUNC=vops_var_samp_final,
858+
FINALFUNC=vops_stddev_samp_final,
859859
COMBINEFUNC= vops_var_combine,
860860
SERIALFUNC= vops_var_serial,
861861
DESERIALFUNC= vops_var_deserial,
@@ -865,7 +865,7 @@ CREATE AGGREGATE stddev_samp(vops_date) (
865865
CREATEAGGREGATEstddev(vops_date) (
866866
SFUNC= vops_date_var_accumulate,
867867
STYPE= internal,
868-
FINALFUNC=vops_var_samp_final,
868+
FINALFUNC=vops_stddev_samp_final,
869869
COMBINEFUNC= vops_var_combine,
870870
SERIALFUNC= vops_var_serial,
871871
DESERIALFUNC= vops_var_deserial,
@@ -1042,7 +1042,7 @@ CREATE AGGREGATE variance(vops_timestamp) (
10421042
CREATEAGGREGATEstddev_pop(vops_timestamp) (
10431043
SFUNC= vops_timestamp_var_accumulate,
10441044
STYPE= internal,
1045-
FINALFUNC=vops_var_pop_final,
1045+
FINALFUNC=vops_stddev_pop_final,
10461046
COMBINEFUNC= vops_var_combine,
10471047
SERIALFUNC= vops_var_serial,
10481048
DESERIALFUNC= vops_var_deserial,
@@ -1052,7 +1052,7 @@ CREATE AGGREGATE stddev_pop(vops_timestamp) (
10521052
CREATEAGGREGATEstddev_samp(vops_timestamp) (
10531053
SFUNC= vops_timestamp_var_accumulate,
10541054
STYPE= internal,
1055-
FINALFUNC=vops_var_samp_final,
1055+
FINALFUNC=vops_stddev_samp_final,
10561056
COMBINEFUNC= vops_var_combine,
10571057
SERIALFUNC= vops_var_serial,
10581058
DESERIALFUNC= vops_var_deserial,
@@ -1062,7 +1062,7 @@ CREATE AGGREGATE stddev_samp(vops_timestamp) (
10621062
CREATEAGGREGATEstddev(vops_timestamp) (
10631063
SFUNC= vops_timestamp_var_accumulate,
10641064
STYPE= internal,
1065-
FINALFUNC=vops_var_samp_final,
1065+
FINALFUNC=vops_stddev_samp_final,
10661066
COMBINEFUNC= vops_var_combine,
10671067
SERIALFUNC= vops_var_serial,
10681068
DESERIALFUNC= vops_var_deserial,
@@ -1240,7 +1240,7 @@ CREATE AGGREGATE variance(vops_int8) (
12401240
CREATEAGGREGATEstddev_pop(vops_int8) (
12411241
SFUNC= vops_int8_var_accumulate,
12421242
STYPE= internal,
1243-
FINALFUNC=vops_var_pop_final,
1243+
FINALFUNC=vops_stddev_pop_final,
12441244
COMBINEFUNC= vops_var_combine,
12451245
SERIALFUNC= vops_var_serial,
12461246
DESERIALFUNC= vops_var_deserial,
@@ -1250,7 +1250,7 @@ CREATE AGGREGATE stddev_pop(vops_int8) (
12501250
CREATEAGGREGATEstddev_samp(vops_int8) (
12511251
SFUNC= vops_int8_var_accumulate,
12521252
STYPE= internal,
1253-
FINALFUNC=vops_var_samp_final,
1253+
FINALFUNC=vops_stddev_samp_final,
12541254
COMBINEFUNC= vops_var_combine,
12551255
SERIALFUNC= vops_var_serial,
12561256
DESERIALFUNC= vops_var_deserial,
@@ -1260,7 +1260,7 @@ CREATE AGGREGATE stddev_samp(vops_int8) (
12601260
CREATEAGGREGATEstddev(vops_int8) (
12611261
SFUNC= vops_int8_var_accumulate,
12621262
STYPE= internal,
1263-
FINALFUNC=vops_var_samp_final,
1263+
FINALFUNC=vops_stddev_samp_final,
12641264
COMBINEFUNC= vops_var_combine,
12651265
SERIALFUNC= vops_var_serial,
12661266
DESERIALFUNC= vops_var_deserial,
@@ -1427,7 +1427,7 @@ CREATE AGGREGATE variance(vops_float4) (
14271427
CREATEAGGREGATEstddev_pop(vops_float4) (
14281428
SFUNC= vops_float4_var_accumulate,
14291429
STYPE= internal,
1430-
FINALFUNC=vops_var_pop_final,
1430+
FINALFUNC=vops_stddev_pop_final,
14311431
COMBINEFUNC= vops_var_combine,
14321432
SERIALFUNC= vops_var_serial,
14331433
DESERIALFUNC= vops_var_deserial,
@@ -1437,7 +1437,7 @@ CREATE AGGREGATE stddev_pop(vops_float4) (
14371437
CREATEAGGREGATEstddev_samp(vops_float4) (
14381438
SFUNC= vops_float4_var_accumulate,
14391439
STYPE= internal,
1440-
FINALFUNC=vops_var_samp_final,
1440+
FINALFUNC=vops_stddev_samp_final,
14411441
COMBINEFUNC= vops_var_combine,
14421442
SERIALFUNC= vops_var_serial,
14431443
DESERIALFUNC= vops_var_deserial,
@@ -1447,7 +1447,7 @@ CREATE AGGREGATE stddev_samp(vops_float4) (
14471447
CREATEAGGREGATEstddev(vops_float4) (
14481448
SFUNC= vops_float4_var_accumulate,
14491449
STYPE= internal,
1450-
FINALFUNC=vops_var_samp_final,
1450+
FINALFUNC=vops_stddev_samp_final,
14511451
COMBINEFUNC= vops_var_combine,
14521452
SERIALFUNC= vops_var_serial,
14531453
DESERIALFUNC= vops_var_deserial,
@@ -1614,7 +1614,7 @@ CREATE AGGREGATE variance(vops_float8) (
16141614
CREATEAGGREGATEstddev_pop(vops_float8) (
16151615
SFUNC= vops_float8_var_accumulate,
16161616
STYPE= internal,
1617-
FINALFUNC=vops_var_pop_final,
1617+
FINALFUNC=vops_stddev_pop_final,
16181618
COMBINEFUNC= vops_var_combine,
16191619
SERIALFUNC= vops_var_serial,
16201620
DESERIALFUNC= vops_var_deserial,
@@ -1624,7 +1624,7 @@ CREATE AGGREGATE stddev_pop(vops_float8) (
16241624
CREATEAGGREGATEstddev_samp(vops_float8) (
16251625
SFUNC= vops_float8_var_accumulate,
16261626
STYPE= internal,
1627-
FINALFUNC=vops_var_samp_final,
1627+
FINALFUNC=vops_stddev_samp_final,
16281628
COMBINEFUNC= vops_var_combine,
16291629
SERIALFUNC= vops_var_serial,
16301630
DESERIALFUNC= vops_var_deserial,
@@ -1634,7 +1634,7 @@ CREATE AGGREGATE stddev_samp(vops_float8) (
16341634
CREATEAGGREGATEstddev(vops_float8) (
16351635
SFUNC= vops_float8_var_accumulate,
16361636
STYPE= internal,
1637-
FINALFUNC=vops_var_samp_final,
1637+
FINALFUNC=vops_stddev_samp_final,
16381638
COMBINEFUNC= vops_var_combine,
16391639
SERIALFUNC= vops_var_serial,
16401640
DESERIALFUNC= vops_var_deserial,
@@ -1716,3 +1716,6 @@ create function reduce(bigint) returns setof vops_aggregates as 'MODULE_PATHNAME
17161716
createfunctionunnest(anyelement) returns setof recordas'MODULE_PATHNAME','vops_unnest' language C parallel safe strict immutable;
17171717

17181718
create cast (vops_boolas bool) with function filter(vops_bool)AS IMPLICIT;
1719+
1720+
createfunctionis_null(anyelement) returns vops_boolas'MODULE_PATHNAME','vops_is_null' language C parallel safe immutable;
1721+
createfunctionis_not_null(anyelement) returns vops_boolas'MODULE_PATHNAME','vops_is_not_null' language C parallel safe immutable;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp