OmniSciDB  72c90bc290
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
BoundingBoxIntersectJoinSupportedFunction Struct Reference

#include <ExpressionRewrite.h>

Static Public Member Functions

static bool is_bbox_intersect_supported_func (std::string_view target_func_name)
 
static bool is_many_to_many_func (std::string_view target_func_name)
 
static bool is_poly_mpoly_rewrite_target_func (std::string_view target_func_name)
 
static bool is_point_poly_rewrite_target_func (std::string_view target_func_name)
 
static bool is_poly_point_rewrite_target_func (std::string_view target_func_name)
 
static bool is_range_join_rewrite_target_func (std::string_view target_func_name)
 

Static Public Attributes

static constexpr std::string_view ST_CONTAINS_POLYGON_POINT_sv
 
static constexpr std::string_view ST_CONTAINS_POLYGON_POLYGON_sv
 
static constexpr std::string_view ST_CONTAINS_MULTIPOLYGON_POINT_sv
 
static constexpr std::string_view ST_INTERSECTS_POINT_POLYGON_sv
 
static constexpr std::string_view ST_INTERSECTS_POINT_MULTIPOLYGON_sv
 
static constexpr std::string_view ST_INTERSECTS_POLYGON_POINT_sv
 
static constexpr std::string_view ST_INTERSECTS_POLYGON_POLYGON_sv
 
static constexpr std::string_view ST_INTERSECTS_POLYGON_MULTIPOLYGON_sv
 
static constexpr std::string_view ST_INTERSECTS_MULTIPOLYGON_MULTIPOLYGON_sv
 
static constexpr std::string_view ST_INTERSECTS_MULTIPOLYGON_POLYGON_sv
 
static constexpr std::string_view ST_INTERSECTS_MULTIPOLYGON_POINT_sv
 
static constexpr std::string_view ST_APPROX_OVERLAPS_MULTIPOLYGON_POINT_sv
 
static constexpr std::string_view ST_INTERSECTSBOX_sv {"ST_IntersectsBox"}
 
static constexpr std::string_view ST_DISTANCE_sv {"ST_Distance"}
 
static constexpr std::string_view ST_CCONTAINS_MULTIPOLYGON_POINT_sv
 
static constexpr std::string_view ST_CCONTAINS_POLYGON_POINT_sv
 
static constexpr std::string_view ST_CINTERSECTS_POLYGON_POINT_sv
 
static constexpr std::string_view ST_CINTERSECTS_MULTIPOLYGON_POINT_sv
 
static constexpr std::string_view ST_DWITHIN_POINT_POINT_sv {"ST_DWithin_Point_Point"}
 
static constexpr std::array
< std::string_view, 18 > 
BBOX_INTERSECT_SUPPORTED_FUNC
 
static constexpr std::array
< std::string_view, 5 > 
MANY_TO_MANY_BBOX_INTERSECT_FUNC
 
static constexpr std::array
< std::string_view, 5 > 
POLY_MPOLY_REWRITE_TARGET_FUNC
 
static constexpr std::array
< std::string_view, 9 > 
POLY_POINT_REWRITE_TARGET_FUNC
 
static constexpr std::array
< std::string_view, 2 > 
POINT_POLY_REWRITE_TARGET_FUNC
 
static constexpr std::array
< std::string_view, 2 > 
RANGE_JOIN_REWRITE_TARGET_FUNC
 

Detailed Description

Definition at line 73 of file ExpressionRewrite.h.

Member Function Documentation

static bool BoundingBoxIntersectJoinSupportedFunction::is_bbox_intersect_supported_func ( std::string_view  target_func_name)
inlinestatic

Definition at line 164 of file ExpressionRewrite.h.

References anonymous_namespace{QueryMemoryDescriptor.cpp}::any_of(), and BBOX_INTERSECT_SUPPORTED_FUNC.

Referenced by convert_bbox_intersect_join(), and JoinCoveredQualVisitor::visitFunctionOper().

164  {
165  return std::any_of(
168  [target_func_name](std::string_view func_name) {
169  return target_func_name == func_name;
170  });
171  }
static constexpr std::array< std::string_view, 18 > BBOX_INTERSECT_SUPPORTED_FUNC
bool any_of(std::vector< Analyzer::Expr * > const &target_exprs)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static bool BoundingBoxIntersectJoinSupportedFunction::is_many_to_many_func ( std::string_view  target_func_name)
inlinestatic

Definition at line 173 of file ExpressionRewrite.h.

References anonymous_namespace{QueryMemoryDescriptor.cpp}::any_of(), and MANY_TO_MANY_BBOX_INTERSECT_FUNC.

Referenced by translate_bounding_box_intersect_with_reordering().

173  {
174  return std::any_of(
176  .begin(),
178  [target_func_name](std::string_view func_name) {
179  return target_func_name == func_name;
180  });
181  }
static constexpr std::array< std::string_view, 5 > MANY_TO_MANY_BBOX_INTERSECT_FUNC
bool any_of(std::vector< Analyzer::Expr * > const &target_exprs)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static bool BoundingBoxIntersectJoinSupportedFunction::is_point_poly_rewrite_target_func ( std::string_view  target_func_name)
inlinestatic

Definition at line 192 of file ExpressionRewrite.h.

References anonymous_namespace{QueryMemoryDescriptor.cpp}::any_of(), and POINT_POLY_REWRITE_TARGET_FUNC.

Referenced by anonymous_namespace{FromTableReordering.cpp}::get_join_qual_cost().

192  {
193  return std::any_of(
196  [target_func_name](std::string_view func_name) {
197  return target_func_name == func_name;
198  });
199  }
static constexpr std::array< std::string_view, 2 > POINT_POLY_REWRITE_TARGET_FUNC
bool any_of(std::vector< Analyzer::Expr * > const &target_exprs)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static bool BoundingBoxIntersectJoinSupportedFunction::is_poly_mpoly_rewrite_target_func ( std::string_view  target_func_name)
inlinestatic

Definition at line 183 of file ExpressionRewrite.h.

References anonymous_namespace{QueryMemoryDescriptor.cpp}::any_of(), and POLY_MPOLY_REWRITE_TARGET_FUNC.

183  {
184  return std::any_of(
187  [target_func_name](std::string_view func_name) {
188  return target_func_name == func_name;
189  });
190  }
static constexpr std::array< std::string_view, 5 > POLY_MPOLY_REWRITE_TARGET_FUNC
bool any_of(std::vector< Analyzer::Expr * > const &target_exprs)

+ Here is the call graph for this function:

static bool BoundingBoxIntersectJoinSupportedFunction::is_poly_point_rewrite_target_func ( std::string_view  target_func_name)
inlinestatic

Definition at line 201 of file ExpressionRewrite.h.

References anonymous_namespace{QueryMemoryDescriptor.cpp}::any_of(), and POLY_POINT_REWRITE_TARGET_FUNC.

Referenced by anonymous_namespace{FromTableReordering.cpp}::get_join_qual_cost().

201  {
202  return std::any_of(
205  [target_func_name](std::string_view func_name) {
206  return target_func_name == func_name;
207  });
208  }
static constexpr std::array< std::string_view, 9 > POLY_POINT_REWRITE_TARGET_FUNC
bool any_of(std::vector< Analyzer::Expr * > const &target_exprs)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static bool BoundingBoxIntersectJoinSupportedFunction::is_range_join_rewrite_target_func ( std::string_view  target_func_name)
inlinestatic

Definition at line 210 of file ExpressionRewrite.h.

References anonymous_namespace{QueryMemoryDescriptor.cpp}::any_of(), and RANGE_JOIN_REWRITE_TARGET_FUNC.

Referenced by translate_bounding_box_intersect_with_reordering().

210  {
211  return std::any_of(
214  [target_func_name](std::string_view func_name) {
215  return target_func_name == func_name;
216  });
217  }
bool any_of(std::vector< Analyzer::Expr * > const &target_exprs)
static constexpr std::array< std::string_view, 2 > RANGE_JOIN_REWRITE_TARGET_FUNC

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

constexpr std::array<std::string_view, 5> BoundingBoxIntersectJoinSupportedFunction::MANY_TO_MANY_BBOX_INTERSECT_FUNC
static
constexpr std::array<std::string_view, 2> BoundingBoxIntersectJoinSupportedFunction::POINT_POLY_REWRITE_TARGET_FUNC
static
constexpr std::array<std::string_view, 5> BoundingBoxIntersectJoinSupportedFunction::POLY_MPOLY_REWRITE_TARGET_FUNC
static
constexpr std::array<std::string_view, 2> BoundingBoxIntersectJoinSupportedFunction::RANGE_JOIN_REWRITE_TARGET_FUNC
static
Initial value:

Definition at line 160 of file ExpressionRewrite.h.

Referenced by is_range_join_rewrite_target_func().

constexpr std::string_view BoundingBoxIntersectJoinSupportedFunction::ST_APPROX_OVERLAPS_MULTIPOLYGON_POINT_sv
static
Initial value:
{
"ST_Approx_Overlaps_MultiPolygon_Point"}

Definition at line 96 of file ExpressionRewrite.h.

constexpr std::string_view BoundingBoxIntersectJoinSupportedFunction::ST_CCONTAINS_MULTIPOLYGON_POINT_sv
static
Initial value:
{
"ST_cContains_MultiPolygon_Point"}

Definition at line 101 of file ExpressionRewrite.h.

constexpr std::string_view BoundingBoxIntersectJoinSupportedFunction::ST_CCONTAINS_POLYGON_POINT_sv
static
Initial value:
{
"ST_cContains_Polygon_Point"}

Definition at line 103 of file ExpressionRewrite.h.

constexpr std::string_view BoundingBoxIntersectJoinSupportedFunction::ST_CINTERSECTS_MULTIPOLYGON_POINT_sv
static
Initial value:
{
"ST_cIntersects_MultiPolygon_Point"}

Definition at line 107 of file ExpressionRewrite.h.

constexpr std::string_view BoundingBoxIntersectJoinSupportedFunction::ST_CINTERSECTS_POLYGON_POINT_sv
static
Initial value:
{
"ST_cIntersects_Polygon_Point"}

Definition at line 105 of file ExpressionRewrite.h.

constexpr std::string_view BoundingBoxIntersectJoinSupportedFunction::ST_CONTAINS_MULTIPOLYGON_POINT_sv
static
Initial value:
{
"ST_Contains_MultiPolygon_Point"}

Definition at line 78 of file ExpressionRewrite.h.

constexpr std::string_view BoundingBoxIntersectJoinSupportedFunction::ST_CONTAINS_POLYGON_POINT_sv
static
Initial value:
{
"ST_Contains_Polygon_Point"}

Definition at line 74 of file ExpressionRewrite.h.

constexpr std::string_view BoundingBoxIntersectJoinSupportedFunction::ST_CONTAINS_POLYGON_POLYGON_sv
static
Initial value:
{
"ST_Contains_Polygon_Polygon"}

Definition at line 76 of file ExpressionRewrite.h.

constexpr std::string_view BoundingBoxIntersectJoinSupportedFunction::ST_DISTANCE_sv {"ST_Distance"}
static
constexpr std::string_view BoundingBoxIntersectJoinSupportedFunction::ST_DWITHIN_POINT_POINT_sv {"ST_DWithin_Point_Point"}
static
constexpr std::string_view BoundingBoxIntersectJoinSupportedFunction::ST_INTERSECTS_MULTIPOLYGON_MULTIPOLYGON_sv
static
Initial value:
{
"ST_Intersects_MultiPolygon_MultiPolygon"}

Definition at line 90 of file ExpressionRewrite.h.

constexpr std::string_view BoundingBoxIntersectJoinSupportedFunction::ST_INTERSECTS_MULTIPOLYGON_POINT_sv
static
Initial value:
{
"ST_Intersects_MultiPolygon_Point"}

Definition at line 94 of file ExpressionRewrite.h.

constexpr std::string_view BoundingBoxIntersectJoinSupportedFunction::ST_INTERSECTS_MULTIPOLYGON_POLYGON_sv
static
Initial value:
{
"ST_Intersects_MultiPolygon_Polygon"}

Definition at line 92 of file ExpressionRewrite.h.

constexpr std::string_view BoundingBoxIntersectJoinSupportedFunction::ST_INTERSECTS_POINT_MULTIPOLYGON_sv
static
Initial value:
{
"ST_Intersects_Point_MultiPolygon"}

Definition at line 82 of file ExpressionRewrite.h.

constexpr std::string_view BoundingBoxIntersectJoinSupportedFunction::ST_INTERSECTS_POINT_POLYGON_sv
static
Initial value:
{
"ST_Intersects_Point_Polygon"}

Definition at line 80 of file ExpressionRewrite.h.

constexpr std::string_view BoundingBoxIntersectJoinSupportedFunction::ST_INTERSECTS_POLYGON_MULTIPOLYGON_sv
static
Initial value:
{
"ST_Intersects_Polygon_MultiPolygon"}

Definition at line 88 of file ExpressionRewrite.h.

constexpr std::string_view BoundingBoxIntersectJoinSupportedFunction::ST_INTERSECTS_POLYGON_POINT_sv
static
Initial value:
{
"ST_Intersects_Polygon_Point"}

Definition at line 84 of file ExpressionRewrite.h.

constexpr std::string_view BoundingBoxIntersectJoinSupportedFunction::ST_INTERSECTS_POLYGON_POLYGON_sv
static
Initial value:
{
"ST_Intersects_Polygon_Polygon"}

Definition at line 86 of file ExpressionRewrite.h.

constexpr std::string_view BoundingBoxIntersectJoinSupportedFunction::ST_INTERSECTSBOX_sv {"ST_IntersectsBox"}
static

The documentation for this struct was generated from the following file: