diff options
author | Alexey Botchkov <holyfoot@askmonty.org> | 2014-12-03 14:07:43 +0400 |
---|---|---|
committer | Alexey Botchkov <holyfoot@askmonty.org> | 2014-12-03 16:45:02 +0400 |
commit | ae8237995790f5e3d4769f08db5324791e39c197 (patch) | |
tree | 323ba0713ab244b6551b40eac81b7046e22a5c63 /scripts/maria_add_gis_sp.sql | |
parent | cfb7ee1cba9416a817708d4e93458668729a2668 (diff) | |
download | mariadb-git-mdev-60-merge.tar.gz |
MDEV-60 Support for Spatial Reference systems for the GIS data.mdev-60-merge
The GEOMETRY field metadata is stored in the FRM file.
SRID for a spatial column now can be stored, it was added to the CREATE TABLE syntax,
so the AddGeometryData() stored procedure is now possible. Script adding the required Add/DropGeometryColumn sp-s added.
Diffstat (limited to 'scripts/maria_add_gis_sp.sql')
-rw-r--r-- | scripts/maria_add_gis_sp.sql | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/scripts/maria_add_gis_sp.sql b/scripts/maria_add_gis_sp.sql new file mode 100644 index 00000000000..fbaef70032f --- /dev/null +++ b/scripts/maria_add_gis_sp.sql @@ -0,0 +1,46 @@ +-- Copyright (C) 2014 MariaDB Ab. +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; version 2 of the License. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program; if not, write to the Free Software +-- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +# This part created stored procedures required by the OpenGIS standards. + +# Proc privilege is needed to run it. + +SET sql_mode=''; + +DROP PROCEDURE IF EXISTS AddGeometryColumn; +DROP PROCEDURE IF EXISTS DropGeometryColumn; + +delimiter | + +CREATE PROCEDURE AddGeometryColumn(catalog varchar(64), t_schema varchar(64), + t_name varchar(64), geometry_column varchar(64), t_srid int) +begin + set @qwe= concat('ALTER TABLE ', t_schema, '.', t_name, ' ADD ', geometry_column,' GEOMETRY REF_SYSTEM_ID=', t_srid); + PREPARE ls from @qwe; + execute ls; + deallocate prepare ls; +end| + +CREATE PROCEDURE DropGeometryColumn(catalog varchar(64), t_schema varchar(64), + t_name varchar(64), geometry_column varchar(64)) +begin + set @qwe= concat('ALTER TABLE ', t_schema, '.', t_name, ' DROP ', geometry_column); + PREPARE ls from @qwe; + execute ls; + deallocate prepare ls; +end| + +delimiter ; + |