| Bug #27300 | create view with geometry functions lost columns types | ||
|---|---|---|---|
| Submitted: | 20 Mar 2007 19:20 | Modified: | 4 Apr 2007 6:13 |
| Reporter: | Albert Rovira | ||
| Status: | Closed | ||
| Category: | Server: Views | Severity: | S3 (Non-critical) |
| Version: | 5.0.24, 5.0.37, 5.1-bk, 5.2-falcon | OS: | Linux (Linux, win32) |
| Assigned to: | Georgi Kodinov | Target Version: | |
| Tags: | VIEW, types, functions | ||
[20 Mar 2007 19:20]
Albert Rovira
[20 Mar 2007 19:31]
Valeriy Kravchuk
Thank you for a problem report. Please, try to repeat with a newer version, 5.0.37, and inform about the results.
[21 Mar 2007 11:05]
Albert Rovira
The same results on 5.0.37 version.
Also add I'm using MYISAM as default storage engine.
mysql> show create table test;
+-------+-----------------------------------------------------------------------
-----------------------+
| Table | Create Table
|
+-------+-----------------------------------------------------------------------
-----------------------+
| tesT | CREATE TABLE `test` (
`SHAPE` geometry default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 |
+-------+-----------------------------------------------------------------------
-----------------------+
[21 Mar 2007 11:26]
Sveta Smirnova
Thank you for the report. Verified as described.
[21 Mar 2007 11:28]
Sveta Smirnova
All versions are affected
[28 Mar 2007 13:35]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/23136 ChangeSet@1.2422, 2007-03-28 14:35:23+03:00, gkodinov@magare.gmz +4 -0 Bug #27300: Geometry fields have a result type string and a special subclass to cater for the differences between them and the base class (just like DATE/TIME). When creating temporary tables for results of functions that return results of type GEOMETRY we must construct fields of the derived class instead of the base class. Fixed by creating a GEOMETRY field (Field_geom) instead of a generic BLOB (Field_blob) in temp tables for the results of GIS functions that have GEOMETRY return type (Item_geometry_func).
[31 Mar 2007 10:39]
Bugs System
Pushed into 5.1.18-beta
[31 Mar 2007 10:44]
Bugs System
Pushed into 5.0.40
[4 Apr 2007 6:13]
Paul DuBois
Noted in 5.0.40, 5.1.18 changelogs. In a view, a column that was defined using a GEOMETRY function was treated as having the LONGBLOB data type rather than the GEOMETRY type.
[7 Jun 2007 18:09]
Dan Jones
Hello. My web hosts use 5.0.18. Is there any work around for this problem? It seems to work fine if I select the column directly but I want to use centroid to turn a polygon table into a point view. I've tried explicitly using GeomFromText(AsText(Centroid(polygon))) but this still gives me a longblob data type. Cheers. Dan
[8 Jun 2007 16:32]
Georgi Kodinov
Dan, No known workaround exists: you must consider upgrading. By a long stretch you could have a second table (with the points) as a real table and then triggers on the original table to replicate the data, but that depends on the nature of your application. You may also want to try to avoid the creation of a temp table from the view : check the ALGORITHM option of CREATE VIEW (http://dev.mysql.com/doc/refman/5.0/en/create-view.html).
[14 Jun 2007 21:01]
Bugs System
Pushed into 5.0.44
[14 Jun 2007 21:01]
Bugs System
Pushed into 5.1.20-beta
