OmniSciDB  ca0c39ec8f
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
OverlapsJoinSupportedFunction Struct Reference

#include <ExpressionRewrite.h>

Static Public Member Functions

static bool is_overlaps_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_OVERLAPS_sv {"ST_Overlaps"}
 
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 > 
OVERLAPS_SUPPORTED_FUNC
 
static constexpr std::array
< std::string_view, 5 > 
MANY_TO_MANY_OVERLAPS_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 53 of file ExpressionRewrite.h.

Member Function Documentation

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

Definition at line 152 of file ExpressionRewrite.h.

References MANY_TO_MANY_OVERLAPS_FUNC.

Referenced by rewrite_overlaps_conjunction().

152  {
155  [target_func_name](std::string_view func_name) {
156  return target_func_name == func_name;
157  });
158  }
static constexpr std::array< std::string_view, 5 > MANY_TO_MANY_OVERLAPS_FUNC

+ Here is the caller graph for this function:

static bool OverlapsJoinSupportedFunction::is_overlaps_supported_func ( std::string_view  target_func_name)
inlinestatic

Definition at line 144 of file ExpressionRewrite.h.

References OVERLAPS_SUPPORTED_FUNC.

Referenced by QueryRewriter::rewriteOverlapsJoin(), and JoinCoveredQualVisitor::visitFunctionOper().

144  {
147  [target_func_name](std::string_view func_name) {
148  return target_func_name == func_name;
149  });
150  }
static constexpr std::array< std::string_view, 18 > OVERLAPS_SUPPORTED_FUNC

+ Here is the caller graph for this function:

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

Definition at line 169 of file ExpressionRewrite.h.

References POINT_POLY_REWRITE_TARGET_FUNC.

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

169  {
170  return std::any_of(
173  [target_func_name](std::string_view func_name) {
174  return target_func_name == func_name;
175  });
176  }
static constexpr std::array< std::string_view, 2 > POINT_POLY_REWRITE_TARGET_FUNC

+ Here is the caller graph for this function:

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

Definition at line 160 of file ExpressionRewrite.h.

References POLY_MPOLY_REWRITE_TARGET_FUNC.

Referenced by rewrite_overlaps_conjunction().

160  {
161  return std::any_of(
164  [target_func_name](std::string_view func_name) {
165  return target_func_name == func_name;
166  });
167  }
static constexpr std::array< std::string_view, 5 > POLY_MPOLY_REWRITE_TARGET_FUNC

+ Here is the caller graph for this function:

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

Definition at line 178 of file ExpressionRewrite.h.

References POLY_POINT_REWRITE_TARGET_FUNC.

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

178  {
179  return std::any_of(
182  [target_func_name](std::string_view func_name) {
183  return target_func_name == func_name;
184  });
185  }
static constexpr std::array< std::string_view, 9 > POLY_POINT_REWRITE_TARGET_FUNC

+ Here is the caller graph for this function:

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

Definition at line 187 of file ExpressionRewrite.h.

References RANGE_JOIN_REWRITE_TARGET_FUNC.

Referenced by rewrite_overlaps_conjunction().

187  {
188  return std::any_of(
191  [target_func_name](std::string_view func_name) {
192  return target_func_name == func_name;
193  });
194  }
static constexpr std::array< std::string_view, 2 > RANGE_JOIN_REWRITE_TARGET_FUNC

+ Here is the caller graph for this function:

Member Data Documentation

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

Definition at line 140 of file ExpressionRewrite.h.

Referenced by is_range_join_rewrite_target_func().

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

Definition at line 76 of file ExpressionRewrite.h.

Referenced by rewrite_overlaps_conjunction().

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

Definition at line 81 of file ExpressionRewrite.h.

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

Definition at line 83 of file ExpressionRewrite.h.

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

Definition at line 87 of file ExpressionRewrite.h.

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

Definition at line 85 of file ExpressionRewrite.h.

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

Definition at line 58 of file ExpressionRewrite.h.

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

Definition at line 54 of file ExpressionRewrite.h.

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

Definition at line 56 of file ExpressionRewrite.h.

constexpr std::string_view OverlapsJoinSupportedFunction::ST_DISTANCE_sv {"ST_Distance"}
static

Definition at line 79 of file ExpressionRewrite.h.

Referenced by rewrite_overlaps_conjunction().

constexpr std::string_view OverlapsJoinSupportedFunction::ST_DWITHIN_POINT_POINT_sv {"ST_DWithin_Point_Point"}
static

Definition at line 89 of file ExpressionRewrite.h.

Referenced by rewrite_overlaps_conjunction().

constexpr std::string_view OverlapsJoinSupportedFunction::ST_INTERSECTS_MULTIPOLYGON_MULTIPOLYGON_sv
static
Initial value:
{
"ST_Intersects_MultiPolygon_MultiPolygon"}

Definition at line 70 of file ExpressionRewrite.h.

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

Definition at line 74 of file ExpressionRewrite.h.

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

Definition at line 72 of file ExpressionRewrite.h.

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

Definition at line 62 of file ExpressionRewrite.h.

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

Definition at line 60 of file ExpressionRewrite.h.

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

Definition at line 68 of file ExpressionRewrite.h.

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

Definition at line 64 of file ExpressionRewrite.h.

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

Definition at line 66 of file ExpressionRewrite.h.

constexpr std::string_view OverlapsJoinSupportedFunction::ST_OVERLAPS_sv {"ST_Overlaps"}
static

Definition at line 78 of file ExpressionRewrite.h.

Referenced by rewrite_overlaps_conjunction().


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