[MDEV-20841] Turn GIS implementation into a plugin Created: 2019-10-16  Updated: 2023-12-22

Status: Open
Project: MariaDB Server
Component/s: Data types, GIS
Fix Version/s: 11.5

Type: Task Priority: Major
Reporter: Alexander Barkov Assignee: Alexey Botchkov
Resolution: Unresolved Votes: 0
Labels: None

Issue Links:
Blocks
is blocked by MDEV-20016 Add MariaDB_DATA_TYPE_PLUGIN Closed
is blocked by MDEV-20837 Add MariaDB_FUNCTION_PLUGIN Closed

 Description   

Under terms of this task we'll do the following:

  • Move the following source files from /sql/ to /plugins/type_geom/:
    • gcalc_slice_scan.h
    • gcalc_slice_scan.cc
    • gcalc_tools.h
    • gcalc_tools.cc
    • item_geofunc.h
    • item_geofunc.cc
    • spatial.h
    • spatial.cc
    • sql_type_geom.h
    • sql_type_geom.cc
  • Move test files gis*.result and gis*.test from /mysql-test/ to /plugins/type_geom/mysql-test/:
  • Wrap type_handler_geometry (and its sub-types) into MariaDB_DATA_TYPE_PLUGIN instances
  • Wrap all SQL functions defined in func_array_geom[] in item_gefunc.cc into MariaDB_FUNCTION_PLUGIN instances


 Comments   
Comment by Ralf Gebhardt [ 2020-02-06 ]

Moved to 10.6 after discussing with bar

Comment by Alexander Barkov [ 2020-07-20 ]

ls reports the following stripped file sizes:

-rw-rw-r--. 1 bar bar    35472 Jul 20 10:59 gcalc_slicescan.cc.o
-rw-rw-r--. 1 bar bar    38656 Jul 20 10:59 gcalc_tools.cc.o
-rw-rw-r--. 1 bar bar   413952 Jul 20 10:59 item_geofunc.cc.o
-rwxrwxr-x. 1 bar bar 30390128 Jul 20 10:59 mariadbd
-rw-rw-r--. 1 bar bar    74312 Jul 20 10:59 spatial.cc.o
-rw-rw-r--. 1 bar bar   199896 Jul 20 10:59 sql_type_geom.cc.o

So the C++ part of the GIS implementation takes 2.5% of the overall server binary.

Generated at Thu Feb 08 09:02:34 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.