Statistics for MySQL  1.1
 All Classes Files Functions Variables Typedefs Macros Pages
sqlstat.h
Go to the documentation of this file.
1 /* sqlstat.h (Statistics for MySQL) */
2 
3 /***********************************************************************
4 * This code is part of Statistics for MySQL.
5 *
6 * Copyright (C) 2011 Heinrich Schuchardt (xypron.glpk@gmx.de)
7 *
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
11 *
12 * http://www.apache.org/licenses/LICENSE-2.0
13 *
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 ***********************************************************************/
20 
51 #ifndef SQLSTAT_H
52 
53 #define SQLSTAT_H 1
54 
55 #ifdef HAVE_CONF_H
56 #include "config.h"
57 #endif // HAVE_CONF_H
58 
59 #if defined SQLWIN
60 #include "windows.h"
61 #endif //SQLWIN
62 
63 #define MYSQL_DYNAMIC_PLUGIN 1
64 
65 #include <mysql.h>
66 #include <plugin.h>
67 #include <malloc.h>
68 #include <math.h>
69 #include <string.h>
70 
71 #ifndef NOT_FIXED_DEC
72 
77 #define NOT_FIXED_DEC 31
78 #endif // NOT_FIXED_DEC
79 
80 #ifdef __cplusplus
81 extern "C"
82 {
83 #endif
84 
85 int sqlstat_plugin_init(void *p);
86 int sqlstat_plugin_deinit(void *p);
87 
89 
90 my_bool avgw_init(UDF_INIT *initid, UDF_ARGS *args, char *message);
91 void avgw_reset(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
92 void avgw_clear(UDF_INIT *initid, char *is_null, char *error);
93 void avgw_add(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
94 double avgw(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
95 void avgw_deinit(UDF_INIT *initid);
96 
97 my_bool corr_init(UDF_INIT *initid, UDF_ARGS *args, char *message);
98 void corr_reset(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
99 void corr_clear(UDF_INIT *initid, char *is_null, char *error);
100 void corr_add(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
101 double corr(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
102 void corr_deinit(UDF_INIT *initid);
103 
104 my_bool gini_init(UDF_INIT *initid, UDF_ARGS *args, char *message);
105 void gini_reset(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
106 void gini_clear(UDF_INIT *initid, char *is_null, char *error);
107 void gini_add(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
108 double gini(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
109 void gini_deinit(UDF_INIT *initid);
110 
111 my_bool median_init(UDF_INIT *initid, UDF_ARGS *args, char *message);
112 void median_reset(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
113 void median_clear(UDF_INIT *initid, char *is_null, char *error);
114 void median_add(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
115 double median(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
116 void median_deinit(UDF_INIT *initid);
117 
118 my_bool rand_mt_init(UDF_INIT *initid, UDF_ARGS *args, char *message);
119 double rand_mt(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
120 void rand_mt_deinit(UDF_INIT *initid);
121 
122 my_bool rand_norm_init(UDF_INIT *initid, UDF_ARGS *args, char *message);
123 double rand_norm(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
124 void rand_norm_deinit(UDF_INIT *initid);
125 
126 my_bool rownumber_init(UDF_INIT *initid, UDF_ARGS *args, char *message);
127 long long rownumber(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
128 void rownumber_deinit(UDF_INIT *initid);
129 
130 my_bool skewness_pop_init(UDF_INIT *initid, UDF_ARGS *args, char *message);
131 void skewness_pop_reset(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
132 void skewness_pop_clear(UDF_INIT *initid, char *is_null, char *error);
133 void skewness_pop_add(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
134 double skewness_pop(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
135 void skewness_pop_deinit(UDF_INIT *initid);
136 
137 my_bool skewness_samp_init(UDF_INIT *initid, UDF_ARGS *args, char *message);
138 void skewness_samp_reset(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
139 void skewness_samp_clear(UDF_INIT *initid, char *is_null, char *error);
140 void skewness_samp_add(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
141 double skewness_samp(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
142 void skewness_samp_deinit(UDF_INIT *initid);
143 
144 my_bool stddevw_pop_init(UDF_INIT *initid, UDF_ARGS *args, char *message);
145 void stddevw_pop_reset(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
146 void stddevw_pop_clear(UDF_INIT *initid, char *is_null, char *error);
147 void stddevw_pop_add(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
148 double stddevw_pop(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
149 void stddevw_pop_deinit(UDF_INIT *initid);
150 
151 my_bool stddevw_samp_init(UDF_INIT *initid, UDF_ARGS *args, char *message);
152 void stddevw_samp_reset(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
153 void stddevw_samp_clear(UDF_INIT *initid, char *is_null, char *error);
154 void stddevw_samp_add(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
155 double stddevw_samp(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);
156 void stddevw_samp_deinit(UDF_INIT *initid);
157 
158 #ifdef __cplusplus
159 }
160 #endif
161 
162 #endif // SQLSTAT_H
163 
void skewness_samp_add(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Add a member of the group.
void avgw_add(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Add a member of the group.
Definition: avgw.c:125
void gini_reset(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Reset function and add first group member Calls clear and add.
Definition: gini.cc:115
void avgw_deinit(UDF_INIT *initid)
Called after last access to function.
Definition: avgw.c:177
double corr(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Retrieve correlation coefficient. Called at end of group.
Definition: corr.c:172
void stddevw_pop_add(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Add a member of the group.
Definition: stddevw_pop.c:127
void avgw_reset(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Reset function and add first group member Calls clear and add.
Definition: avgw.c:94
void rownumber_deinit(UDF_INIT *initid)
Called after last access to function.
Definition: rownumber.c:104
void stddevw_samp_deinit(UDF_INIT *initid)
Called after last access to function.
Definition: stddevw_samp.c:191
double stddevw_pop(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Retrieve weighted standard deviation of population. Called at end of group.
Definition: stddevw_pop.c:160
void corr_clear(UDF_INIT *initid, char *is_null, char *error)
Called at start of group.
Definition: corr.c:113
void stddevw_pop_deinit(UDF_INIT *initid)
Called after last access to function.
Definition: stddevw_pop.c:190
void stddevw_samp_reset(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Reset function and add first group member Calls clear and add.
Definition: stddevw_samp.c:96
void corr_deinit(UDF_INIT *initid)
Called after last access to function.
Definition: corr.c:201
void gini_add(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Add a member of the group.
Definition: gini.cc:146
void stddevw_pop_reset(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Reset function and add first group member Calls clear and add.
Definition: stddevw_pop.c:95
void corr_add(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Add a member of the group.
Definition: corr.c:134
double rand_norm(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Retrieve a variate of the normal distribution.
Definition: rand_norm.cc:84
double skewness_pop(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Retrieve population moment coefficient of skewness. Called at end of group.
Definition: skewness_pop.c:163
my_bool skewness_pop_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
Called before first usage of function.
Definition: skewness_pop.c:57
my_bool gini_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
Called before first usage of function.
Definition: gini.cc:76
void skewness_pop_add(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Add a member of the group.
Definition: skewness_pop.c:129
void median_reset(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Reset function and add first group member Calls clear and add.
Definition: median.cc:88
my_bool median_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
Called before first usage of function.
Definition: median.cc:53
int sqlstat_plugin_init(void *p)
Initializes plugin.
Definition: sqlplugin.cc:44
my_bool skewness_samp_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
Called before first usage of function.
Definition: skewness_samp.c:58
void skewness_pop_deinit(UDF_INIT *initid)
Called after last access to function.
Definition: skewness_pop.c:200
void skewness_samp_deinit(UDF_INIT *initid)
Called after last access to function.
double gini(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Retrieve gini. Called at end of group.
Definition: gini.cc:176
int sqlstat_plugin_deinit(void *p)
Deinitializes plugin.
Definition: sqlplugin.cc:57
void gini_clear(UDF_INIT *initid, char *is_null, char *error)
Called at start of group.
Definition: gini.cc:129
void stddevw_pop_clear(UDF_INIT *initid, char *is_null, char *error)
Called at start of group.
Definition: stddevw_pop.c:109
double avgw(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Retrieve weighted average. Called at end of group.
Definition: avgw.c:157
my_bool rand_mt_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
Called before first usage of function.
Definition: rand_mt.cc:48
void skewness_pop_reset(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Reset function and add first group member Calls clear and add.
Definition: skewness_pop.c:96
my_bool corr_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
Called before first usage of function.
Definition: corr.c:59
int sqlstat_plugin_isloaded()
Check if plugin loaded.
Definition: sqlplugin.cc:70
void stddevw_samp_add(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Add a member of the group.
Definition: stddevw_samp.c:128
void skewness_samp_clear(UDF_INIT *initid, char *is_null, char *error)
Called at start of group.
void stddevw_samp_clear(UDF_INIT *initid, char *is_null, char *error)
Called at start of group.
Definition: stddevw_samp.c:110
void rand_mt_deinit(UDF_INIT *initid)
Called after last access to function.
Definition: rand_mt.cc:92
my_bool stddevw_pop_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
Called before first usage of function.
Definition: stddevw_pop.c:56
double rand_mt(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Retrieve Mersenne Twister random number.
Definition: rand_mt.cc:81
void skewness_samp_reset(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Reset function and add first group member Calls clear and add.
Definition: skewness_samp.c:97
void median_add(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Add a member of the group.
Definition: median.cc:119
my_bool rownumber_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
Called before first usage of function.
Definition: rownumber.c:51
void median_deinit(UDF_INIT *initid)
Called after last access to function.
Definition: median.cc:183
void corr_reset(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Reset function and add first group member Calls clear and add.
Definition: corr.c:99
void rand_norm_deinit(UDF_INIT *initid)
Called after last access to function.
Definition: rand_norm.cc:111
void avgw_clear(UDF_INIT *initid, char *is_null, char *error)
Called at start of group.
Definition: avgw.c:108
double median(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Retrieve median. Called at end of group.
Definition: median.cc:145
long long rownumber(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Retrieve row number.
Definition: rownumber.c:84
double skewness_samp(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Retrieve sample moment coefficient of skewness. Called at end of group.
double stddevw_samp(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error)
Retrieve weighted standard deviation of sample. Called at end of group.
Definition: stddevw_samp.c:161
void median_clear(UDF_INIT *initid, char *is_null, char *error)
Called at start of group.
Definition: median.cc:102
void skewness_pop_clear(UDF_INIT *initid, char *is_null, char *error)
Called at start of group.
Definition: skewness_pop.c:110
my_bool rand_norm_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
Called before first usage of function.
Definition: rand_norm.cc:46
void gini_deinit(UDF_INIT *initid)
Called after last access to function.
Definition: gini.cc:209
my_bool avgw_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
Called before first usage of function.
Definition: avgw.c:55
my_bool stddevw_samp_init(UDF_INIT *initid, UDF_ARGS *args, char *message)
Called before first usage of function.
Definition: stddevw_samp.c:57