summaryrefslogtreecommitdiff
path: root/scripts/maria_add_gis_sp.sql
diff options
context:
space:
mode:
authorAlexey Botchkov <holyfoot@askmonty.org>2014-12-03 14:07:43 +0400
committerSergei Golubchik <serg@mariadb.org>2014-12-04 16:09:34 +0100
commitc4cb15e87ba8cf4f1e7fd8e7cda5c88098ecd515 (patch)
tree042b437f82a3368aa8c9d5b3c894182f75ec93bf /scripts/maria_add_gis_sp.sql
parentc4655cf862b24fe040280e38cb71d3b5d25f049b (diff)
downloadmariadb-git-c4cb15e87ba8cf4f1e7fd8e7cda5c88098ecd515.tar.gz
MDEV-60 Support for Spatial Reference systems for the GIS data.
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.sql46
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 ;
+