180 opTab.addOperator(
new MyUDFFunction());
181 opTab.addOperator(
new PgUnnest());
182 opTab.addOperator(
new Any());
183 opTab.addOperator(
new All());
184 opTab.addOperator(
new Now());
185 opTab.addOperator(
new Datetime());
186 opTab.addOperator(
new PgExtract());
187 opTab.addOperator(
new Dateadd());
188 opTab.addOperator(
new Datediff());
189 opTab.addOperator(
new Datepart());
190 opTab.addOperator(
new PgDateTrunc());
191 opTab.addOperator(
new Length());
192 opTab.addOperator(
new CharLength());
193 opTab.addOperator(
new KeyForString());
194 opTab.addOperator(
new SampleRatio());
195 opTab.addOperator(
new WidthBucket());
196 opTab.addOperator(
new ArrayLength());
197 opTab.addOperator(
new PgILike());
198 opTab.addOperator(
new LTrim());
199 opTab.addOperator(
new RTrim());
200 opTab.addOperator(
new LPad());
201 opTab.addOperator(
new RPad());
202 opTab.addOperator(
new Replace());
203 opTab.addOperator(
new Reverse());
204 opTab.addOperator(
new Repeat());
205 opTab.addOperator(
new SplitPart());
206 opTab.addOperator(
new RegexpLike());
207 opTab.addOperator(
new RegexpReplace());
208 opTab.addOperator(
new RegexpSubstr());
209 opTab.addOperator(
new RegexpMatch());
210 opTab.addOperator(
new Likely());
211 opTab.addOperator(
new Unlikely());
212 opTab.addOperator(
new Sign());
214 opTab.addOperator(
new ST_IsEmpty());
215 opTab.addOperator(
new ST_IsValid());
216 opTab.addOperator(
new ST_Contains());
217 opTab.addOperator(
new ST_Equals());
218 opTab.addOperator(
new ST_Intersects());
219 opTab.addOperator(
new ST_Overlaps());
220 opTab.addOperator(
new ST_Approx_Overlaps());
221 opTab.addOperator(
new ST_Disjoint());
222 opTab.addOperator(
new ST_Within());
223 opTab.addOperator(
new ST_DWithin());
224 opTab.addOperator(
new ST_DFullyWithin());
225 opTab.addOperator(
new ST_Distance());
226 opTab.addOperator(
new ST_MaxDistance());
227 opTab.addOperator(
new ST_GeogFromText());
228 opTab.addOperator(
new ST_GeomFromText());
229 opTab.addOperator(
new ST_Transform());
230 opTab.addOperator(
new ST_X());
231 opTab.addOperator(
new ST_Y());
232 opTab.addOperator(
new ST_XMin());
233 opTab.addOperator(
new ST_XMax());
234 opTab.addOperator(
new ST_YMin());
235 opTab.addOperator(
new ST_YMax());
236 opTab.addOperator(
new ST_PointN());
237 opTab.addOperator(
new ST_StartPoint());
238 opTab.addOperator(
new ST_EndPoint());
239 opTab.addOperator(
new ST_Length());
240 opTab.addOperator(
new ST_Perimeter());
241 opTab.addOperator(
new ST_Area());
242 opTab.addOperator(
new ST_NPoints());
243 opTab.addOperator(
new ST_NRings());
244 opTab.addOperator(
new ST_SRID());
245 opTab.addOperator(
new ST_SetSRID());
246 opTab.addOperator(
new ST_Point());
247 opTab.addOperator(
new ST_Centroid());
248 opTab.addOperator(
new ST_Buffer());
249 opTab.addOperator(
new ST_Intersection());
250 opTab.addOperator(
new ST_Union());
251 opTab.addOperator(
new ST_Difference());
252 opTab.addOperator(
new CastToGeography());
253 opTab.addOperator(
new EncodeText());
254 opTab.addOperator(
new OffsetInFragment());
255 opTab.addOperator(
new ApproxCountDistinct());
256 opTab.addOperator(
new ApproxMedian());
257 opTab.addOperator(
new ApproxPercentile());
258 opTab.addOperator(
new ApproxQuantile());
259 opTab.addOperator(
new MapDAvg());
260 opTab.addOperator(
new Sample());
261 opTab.addOperator(
new LastSample());
268 opTab.addOperator(
new usTimestamp());
269 opTab.addOperator(
new nsTimestamp());
270 if (extSigs == null) {
273 HashSet<String> demangledNames =
new HashSet<String>();
275 final String demangledName =
dropSuffix(extSig.getKey());
276 final String demangledNameArity =
277 String.format(
"%s-%d", demangledName, extSig.getValue().getArgs().size());
278 if (demangledNames.contains(demangledNameArity)) {
281 demangledNames.add(demangledNameArity);
282 if (extSig.getValue().isRowUdf()) {
283 opTab.addOperator(
new ExtFunction(demangledName, extSig.getValue()));
285 opTab.addOperator(
new ExtTableFunction(demangledName, extSig.getValue()));
EXTENSION_NOINLINE double convert_meters_to_pixel_width(const double meters, int8_t *p, const int64_t psize, const int32_t ic, const int32_t isr, const int32_t osr, const double min_lon, const double max_lon, const int32_t img_width, const double min_width)
EXTENSION_INLINE int64_t HeavyDB_Geo_PolyBoundsPtr(double *bounds, int64_t size)
EXTENSION_NOINLINE double ST_XMax(int8_t *coords, int64_t size, int32_t ic, int32_t isr, int32_t osr)
EXTENSION_NOINLINE bool is_point_size_in_view(int8_t *p, const int64_t psize, const int32_t ic, const double meters, const double min_lon, const double max_lon, const double min_lat, const double max_lat)
EXTENSION_NOINLINE double ST_YMax(int8_t *coords, int64_t size, int32_t ic, int32_t isr, int32_t osr)
EXTENSION_NOINLINE double ST_XMin(int8_t *coords, int64_t size, int32_t ic, int32_t isr, int32_t osr)
static String dropSuffix(final String str)
EXTENSION_NOINLINE double convert_meters_to_pixel_height(const double meters, int8_t *p, const int64_t psize, const int32_t ic, const int32_t isr, const int32_t osr, const double min_lat, const double max_lat, const int32_t img_height, const double min_height)
EXTENSION_NOINLINE double ST_YMin(int8_t *coords, int64_t size, int32_t ic, int32_t isr, int32_t osr)
EXTENSION_INLINE int32_t HeavyDB_Geo_PolyRenderGroup(int32_t render_group)
EXTENSION_NOINLINE bool is_point_in_view(int8_t *p, const int64_t psize, const int32_t ic, const double min_lon, const double max_lon, const double min_lat, const double max_lat)
EXTENSION_NOINLINE double Truncate(const double x, const int32_t y)