12 m4_include(`SQLCommon.m4
')
32 CREATE FUNCTION MADLIB_SCHEMA.weighted_sample_transition_int64(
33 state MADLIB_SCHEMA.bytea8,
35 weight DOUBLE PRECISION
36 ) RETURNS MADLIB_SCHEMA.bytea8
42 CREATE FUNCTION MADLIB_SCHEMA.weighted_sample_merge_int64(
43 state_left MADLIB_SCHEMA.bytea8,
44 state_right MADLIB_SCHEMA.bytea8
45 ) RETURNS MADLIB_SCHEMA.bytea8
51 CREATE FUNCTION MADLIB_SCHEMA.weighted_sample_final_int64(
52 state MADLIB_SCHEMA.bytea8
71 CREATE AGGREGATE MADLIB_SCHEMA.weighted_sample(
73 /*+ weight */ DOUBLE PRECISION) (
75 SFUNC=MADLIB_SCHEMA.weighted_sample_transition_int64,
76 STYPE=MADLIB_SCHEMA.bytea8,
77 FINALFUNC=MADLIB_SCHEMA.weighted_sample_final_int64,
78 m4_ifdef(`__GREENPLUM__',`prefunc=MADLIB_SCHEMA.weighted_sample_merge_int64,
')
83 CREATE FUNCTION MADLIB_SCHEMA.weighted_sample_transition_vector(
84 state MADLIB_SCHEMA.bytea8,
85 value DOUBLE PRECISION[],
86 weight DOUBLE PRECISION
87 ) RETURNS MADLIB_SCHEMA.bytea8
93 CREATE FUNCTION MADLIB_SCHEMA.weighted_sample_merge_vector(
94 state_left MADLIB_SCHEMA.bytea8,
95 state_right MADLIB_SCHEMA.bytea8
96 ) RETURNS MADLIB_SCHEMA.bytea8
102 CREATE FUNCTION MADLIB_SCHEMA.weighted_sample_final_vector(
103 state MADLIB_SCHEMA.bytea8
104 ) RETURNS DOUBLE PRECISION[]
110 CREATE AGGREGATE MADLIB_SCHEMA.weighted_sample(
111 /*+ value */ DOUBLE PRECISION[],
112 /*+ weight */ DOUBLE PRECISION) (
114 SFUNC=MADLIB_SCHEMA.weighted_sample_transition_vector,
115 STYPE=MADLIB_SCHEMA.bytea8,
116 FINALFUNC=MADLIB_SCHEMA.weighted_sample_final_vector,
117 m4_ifdef(`__GREENPLUM__',`prefunc=MADLIB_SCHEMA.weighted_sample_merge_vector,
')