MySQL 9.0.0
Source Code Documentation
|
Retrieve from a geometry collection geometries of the same base type into a multi-xxx geometry object. More...
Public Member Functions | |
Geometry_grouper (Group_type *out) | |
Geometry_grouper (Gis_geometry_collection *out, String *gcbuf) | |
void | on_wkb_start (Geometry::wkbByteOrder, Geometry::wkbType geotype, const void *wkb, uint32, bool) override |
Notified when scanner sees the start of a geometry WKB. More... | |
void | on_wkb_end (const void *wkb_end) override |
Notified when scanner sees the end of a geometry WKB. More... | |
Public Member Functions inherited from WKB_scanner_event_handler | |
virtual | ~WKB_scanner_event_handler ()=default |
virtual bool | continue_scan () const |
Private Types | |
typedef Gis_wkb_vector< Base_type > | Group_type |
Private Attributes | |
std::vector< Geometry::wkbType > | m_types |
std::vector< const void * > | m_ptrs |
Group_type * | m_group |
Gis_geometry_collection * | m_collection |
String * | m_gcbuf |
Geometry::wkbType | m_target_type |
Retrieve from a geometry collection geometries of the same base type into a multi-xxx geometry object.
For example, group all points and multipoints into a single multipoint object, where the base type is point.
Base_type | the base type to group. |
|
private |
|
inlineexplicit |
|
inline |
|
inlineoverridevirtual |
Notified when scanner sees the end of a geometry WKB.
wkb | the position of the first byte after the WKB byte string which the scanner just scanned. |
Implements WKB_scanner_event_handler.
|
inlineoverridevirtual |
Notified when scanner sees the start of a geometry WKB.
bo | byte order of the WKB. |
geotype | geometry type of the WKB; |
wkb | WKB byte string, the first byte after the WKB header if any. |
len | NO. of bytes of the WKB byte string starting from wkb. There can be many geometries in the [wkb, wkb+len) buffer. |
has_hdr | whether there is a WKB header right before 'wkb' in the byte string. |
Implements WKB_scanner_event_handler.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |