OmniSciDB  a5dc49c757
 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
 
static constexpr std::array
< std::string_view, 4 > 
ST_CONTAIN_FORCE_TABLE_REORDERING_TARGET_FUNC
 
static constexpr std::array
< std::string_view, 6 > 
ST_INTERSECTS_FORCE_TABLE_REORDERING_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 179 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().

179  {
180  return std::any_of(
183  [target_func_name](std::string_view func_name) {
184  return target_func_name == func_name;
185  });
186  }
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 188 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().

188  {
189  return std::any_of(
191  .begin(),
193  [target_func_name](std::string_view func_name) {
194  return target_func_name == func_name;
195  });
196  }
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 207 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().

207  {
208  return std::any_of(
211  [target_func_name](std::string_view func_name) {
212  return target_func_name == func_name;
213  });
214  }
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 198 of file ExpressionRewrite.h.

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

198  {
199  return std::any_of(
202  [target_func_name](std::string_view func_name) {
203  return target_func_name == func_name;
204  });
205  }
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 216 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().

216  {
217  return std::any_of(
220  [target_func_name](std::string_view func_name) {
221  return target_func_name == func_name;
222  });
223  }
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 225 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().

225  {
226  return std::any_of(
229  [target_func_name](std::string_view func_name) {
230  return target_func_name == func_name;
231  });
232  }
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::array<std::string_view, 4> BoundingBoxIntersectJoinSupportedFunction::ST_CONTAIN_FORCE_TABLE_REORDERING_TARGET_FUNC
static
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::array<std::string_view, 6> BoundingBoxIntersectJoinSupportedFunction::ST_INTERSECTS_FORCE_TABLE_REORDERING_TARGET_FUNC
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: