MySQL  8.0.27
Source Code Documentation
item_geofunc_buffer.cc File Reference

This file contains the implementation for the Item that implements ST_Buffer(). More...

#include <sys/types.h>
#include <algorithm>
#include <cctype>
#include <cstdlib>
#include <cstring>
#include <memory>
#include <vector>
#include <boost/concept/usage.hpp>
#include <boost/geometry/algorithms/buffer.hpp>
#include <boost/geometry/strategies/agnostic/buffer_distance_symmetric.hpp>
#include <boost/geometry/strategies/buffer.hpp>
#include <boost/geometry/strategies/cartesian/buffer_end_flat.hpp>
#include <boost/geometry/strategies/cartesian/buffer_end_round.hpp>
#include <boost/geometry/strategies/cartesian/buffer_join_miter.hpp>
#include <boost/geometry/strategies/cartesian/buffer_join_round.hpp>
#include <boost/geometry/strategies/cartesian/buffer_point_circle.hpp>
#include <boost/geometry/strategies/cartesian/buffer_point_square.hpp>
#include <boost/geometry/strategies/cartesian/buffer_side_straight.hpp>
#include <boost/geometry/strategies/strategies.hpp>
#include <boost/iterator/iterator_facade.hpp>
#include "m_ctype.h"
#include "m_string.h"
#include "my_byteorder.h"
#include "my_dbug.h"
#include "my_inttypes.h"
#include "my_sys.h"
#include "mysqld_error.h"
#include "sql/current_thd.h"
#include "sql/dd/cache/dictionary_client.h"
#include "sql/dd/types/spatial_reference_system.h"
#include "sql/derror.h"
#include "sql/item.h"
#include "sql/item_geofunc.h"
#include "sql/item_geofunc_internal.h"
#include "sql/item_strfunc.h"
#include "sql/parse_location.h"
#include "sql/spatial.h"
#include "sql/sql_class.h"
#include "sql/sql_error.h"
#include "sql/sql_exception_handler.h"
#include "sql/srs_fetcher.h"
#include "sql/system_variables.h"
#include "sql_string.h"
#include "template_utils.h"

Namespaces

 boost
 Tag dispatch for custom Role_properties.
 
 boost::geometry
 
 boost::geometry::cs
 

Macros

#define CALL_BG_BUFFER(result, geom, geom_out, dist_strategy, side_strategy, join_strategy, end_strategy, point_strategy)
 

Functions

template<typename Char_type >
int char_icmp (const Char_type a, const Char_type b)
 
template<typename Char_type >
int str_icmp (const Char_type *a, const Char_type *b)
 Case insensitive comparison of two ascii strings. More...
 

Variables

static const char *const buffer_strategy_names []
 

Detailed Description

This file contains the implementation for the Item that implements ST_Buffer().

Macro Definition Documentation

◆ CALL_BG_BUFFER

#define CALL_BG_BUFFER (   result,
  geom,
  geom_out,
  dist_strategy,
  side_strategy,
  join_strategy,
  end_strategy,
  point_strategy 
)

Function Documentation

◆ char_icmp()

template<typename Char_type >
int char_icmp ( const Char_type  a,
const Char_type  b 
)
inline

◆ str_icmp()

template<typename Char_type >
int str_icmp ( const Char_type a,
const Char_type b 
)

Case insensitive comparison of two ascii strings.

Parameters
a'\0' ended string.
b'\0' ended string.

Variable Documentation

◆ buffer_strategy_names

const char* const buffer_strategy_names[]
static
Initial value:
= {
"invalid_strategy", "end_round", "end_flat", "join_round",
"join_miter", "point_circle", "point_square"}