MySQL 8.0.30
Source Code Documentation
BG_result_buf_mgr Class Reference

We have to hold result buffers in functions that return a GEOMETRY string, because such a function's result geometry's buffer is directly used and set to String result object. More...

#include <item_geofunc.h>

Public Member Functions

 BG_result_buf_mgr ()
 
 ~BG_result_buf_mgr ()
 
void add_buffer (void *buf)
 
void forget_buffer (void *buf)
 
void free_intermediate_result_buffers ()
 
void free_result_buffer ()
 
void set_result_buffer (void *buf)
 

Private Types

typedef Prealloced_array< void *, 64 > Prealloced_buffers
 

Private Attributes

void * bg_result_buf
 
Prealloced_buffers bg_results
 

Detailed Description

We have to hold result buffers in functions that return a GEOMETRY string, because such a function's result geometry's buffer is directly used and set to String result object.

We have to release them properly manually since they won't be released when the String result is destroyed.

Member Typedef Documentation

◆ Prealloced_buffers

Constructor & Destructor Documentation

◆ BG_result_buf_mgr()

BG_result_buf_mgr::BG_result_buf_mgr ( )
inline

◆ ~BG_result_buf_mgr()

BG_result_buf_mgr::~BG_result_buf_mgr ( )
inline

Member Function Documentation

◆ add_buffer()

void BG_result_buf_mgr::add_buffer ( void *  buf)
inline

◆ forget_buffer()

void BG_result_buf_mgr::forget_buffer ( void *  buf)
inline

◆ free_intermediate_result_buffers()

void BG_result_buf_mgr::free_intermediate_result_buffers ( )
inline

◆ free_result_buffer()

void BG_result_buf_mgr::free_result_buffer ( )
inline

◆ set_result_buffer()

void BG_result_buf_mgr::set_result_buffer ( void *  buf)
inline

Member Data Documentation

◆ bg_result_buf

void* BG_result_buf_mgr::bg_result_buf
private

◆ bg_results

Prealloced_buffers BG_result_buf_mgr::bg_results
private

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