Commit graph

50 commits

Author SHA1 Message Date
holyfoot/hf@hfmain.(none)
7588fa52b6 Merge mysql.com:/home/hf/work/31158/my41-31158
into  mysql.com:/home/hf/work/31158/my50-31158
2007-11-17 16:48:57 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
7d111abf0e Bug #31158 Spatial, Union, LONGBLOB vs BLOB bug (crops data)
max_length parameter for BLOB-returning functions must be big enough
for any possible content. Otherwise the field created for a table
will be too small.
2007-11-13 10:51:47 +04:00
gkodinov/kgeorge@magare.gmz
e971b18f06 Bug #30825: Problems when putting a non-spatial index on a GIS column
Fixed the usage of spatial data (and Point in specific) with 
 non-spatial indexes.
 Several problems :
   - The length of the Point class was not updated to include the 
     spatial reference system identifier. Fixed by increasing with 4 
     bytes.
   - The storage length of the spatial columns was not accounting for
     the length that is prepended to it. Fixed by treating the 
     spatial data columns as blobs (and thus increasing the storage
     length)
   - When creating the key image for comparison in index read wrong
     key image was created (the one needed for and r-tree search,
     not the one for b-tree/other search). Fixed by treating the
     spatial data columns as blobs (and creating the correct kind of
     image based on the index type).
2007-10-10 16:26:02 +03:00
holyfoot/hf@hfmain.(none)
1ab2fd9bb8 Merge mysql.com:/home/hf/work/30286/my41-30286
into  mysql.com:/home/hf/work/30286/my50-30286
2007-10-05 16:33:08 +05:00
holyfoot/hf@mysql.com/hfmain.(none)
a7a6c6eb08 Bug #30955 geomfromtext() crasher.
end-of-line check missed in Gis_read_stream::get_next_word,
what can lead to crashes (expecially with NULL strings).

End-of-line check added
2007-10-03 13:35:35 +05:00
gkodinov/kgeorge@magare.gmz
1532452a00 Bug #29166:
AsText() needs to know the maximum number of
characters a IEEE double precision value can
occupy to make sure there's enough buffer space.
The number was too small to hold all possible
values and this caused buffer overruns.
Fixed by correcting the calculation of the 
maximum digits in a string representation of an
IEEE double precision value as printed by 
String::qs_append(double).
2007-07-05 18:24:48 +03:00
evgen@moonbone.local
eb9e174bc2 Bug#28763: Selecting geometry fields in UNION caused server crash.
This bug was introduced by the fix for the bug#27300. In this fix a section
of code was added to the Item::tmp_table_field_from_field_type method.
This section intended to create Field_geom fields for the Item_geometry_func
class and its descendants. In order to get the geometry type of the current
item it casted "this" to the Item_geometry_func* type. But the
Item::tmp_table_field_from_field_type method is also used for creation of
fields for UNION and in this case this method is called for an object of the
Item_type_holder class and the cast to the Item_geometry_func* type causes 
a server crash.

Now the Item::tmp_table_field_from_field_type method correctly works when it's
called for both the Item_type_holder and the Item_geometry_func classes.
The new geometry_type variable is added to the Item_type_holder class.
The new method called get_geometry_type is added to the Item_field
and the Field classes. It returns geometry type from the field for the
Item_field and the Field_geom classes and fails an assert for other Field
descendants.
2007-06-08 00:33:03 +04:00
msvensson@pilot.blaudden
bb9a601829 Merge pilot.blaudden:/home/msvensson/mysql/mysql-5.0
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
2007-04-02 10:50:39 +02:00
gkodinov/kgeorge@magare.gmz
c3eb3f7093 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).
2007-03-28 14:35:23 +03:00
gkodinov/kgeorge@magare.gmz
a65bc60d1a Merge magare.gmz:/home/kgeorge/mysql/work/B27164-4.1-opt
into  magare.gmz:/home/kgeorge/mysql/work/B27164-5.0-opt
2007-03-26 14:14:23 +03:00
gkodinov/kgeorge@magare.gmz[kgeorge]
e6d81ad338 Bug #27164: not reseting the data pointer
to 0 causes wrong (large) length to be read
 from the row in _mi_calc_blob_length() when 
 storing NULL values in (e.g) POINT columns.
 This large length is then used to allocate
 a block of memory that (on some OSes) causes
 trouble.
 Fixed by calling the base class's 
 Field_blob::reset() from Field_geom::reset()
 that is called when storing a NULL value into
 the column.
2007-03-26 13:17:40 +03:00
tsmith@siva.hindu.god
47cce188b3 Bug #24563: MBROverlaps does not seem to function propertly.
Fix is to rewrite the MBR::overlaps() function, to compute the dimension of both
arguments, and the dimension of the intersection; test that all three dimensions are the
same (e.g., all are Polygons).

Add tests for all MBR* functions for various combinations of shapes, lines and points.
2007-03-23 16:28:07 -06:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
f165316cfc after merge fix (bug #26038)
Item_func_geometry_from_text::val_str() should set null_value
in case of wrong data.
2007-03-02 15:09:44 +04:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
08431e7865 Merge mysql.com:/home/ram/work/b26038/b26038.4.1
into  mysql.com:/home/ram/work/b26038/b26038.5.0
2007-02-28 12:13:46 +04:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
049251624a Fix for bug #26038: X() value of empty NOT NULL POINT is neither NULL nor NOT NULL
Having maybe_null flag unset for geometry/spatial functions leads to
wrong Item_func_isnull::val_int()'s results.
Fix: set maybe_null flag and add is_null() methods.
2007-02-21 14:45:19 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
8299b596ae bug #20691 (INSERT (DEFAULT) may insert garbage with NO DEFAULT NOT NULL field)
Some fields (GEOMETRY first of all) can't be handled properly in this
case at all. So we return an error in this case
2007-02-12 15:41:36 +04:00
holyfoot/hf@mysql.com/deer.(none)
4f0c9c431c merging fix 2006-12-07 15:22:43 +04:00
holyfoot/hf@mysql.com/deer.(none)
9e52ef1f9d Merge mysql.com:/home/hf/work/22372/my41-22372
into  mysql.com:/home/hf/work/22372/my50-22372
2006-12-06 22:02:39 +04:00
holyfoot/hf@mysql.com/deer.(none)
e83c682fb7 bug #22372 (LOAD DATA crashes the table with the geometry field)
The problem is that the GEOMETRY NOT NULL can't automatically set
any value as a default one. We always tried to complete LOAD DATA
command even if there's not enough data in file. That doesn't work
for GEOMETRY NOT NULL. Now Field_*::reset() returns an error sign
and it's checked in mysql_load()
2006-12-06 21:45:57 +04:00
holyfoot@deer.(none)
4b48b35680 bug #14807 (GeomFromText() should return MYSQL_TYPE_GEOMETRY)
we didn't have code creating GEOMETRY-type fields from Items (expression results)
So i added this code
2006-07-04 12:56:53 +05:00
holyfoot@deer.(none)
475911d178 merging fix 2006-06-27 17:00:24 +05:00
holyfoot@mysql.com
0a9a755419 merging 2006-06-26 22:32:02 +05:00
holyfoot@deer.(none)
36cea7d4fe bug #10166 (Signed byte values cause data to be padded)
The AsBinary function returns VARCHAR data type with binary collation.
It can cause problem for clients that treat that kind of data as
different from BLOB type.
So now AsBinary returns BLOB.
2006-06-22 22:11:27 +05:00
jani@ua141d10.elisa.omakaista.fi
44aea416f9 Merge ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.1
into  ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.0-tmp
2005-10-31 11:54:36 +02:00
hf@deer.(none)
9910198aaf Additional fix for bug #12267 (Can't use POINT for primary key) 2005-10-15 22:23:13 +05:00
hf@deer.(none)
836bc2638e Fix for bug #12267 (primary key over GEOMETRY field) 2005-09-26 14:55:52 +05:00
hf@deer.(none)
12068b45e8 Fix for bug #12839 (Endian support is absurd) 2005-09-21 14:35:01 +05:00
hf@deer.(none)
093789aabd gis.test corrected with Pem's wishes 2005-08-27 20:06:35 +05:00
hf@deer.(none)
a99c04b2db Fix for bug #10499 (Function creation with GEOMETRY return) 2005-08-10 13:45:05 +05:00
hf@deer.(none)
56b91a8c15 testcase added to fix for bug #12281 (Geometry & trigger crash) 2005-08-05 20:26:55 +05:00
monty@mysql.com
15d48525af Merge mysql.com:/home/my/mysql-4.1
into  mysql.com:/home/my/mysql-5.0
2005-07-28 17:09:54 +03:00
monty@mysql.com
3c12d0ae54 Added end marker for tests to make future merges easier 2005-07-28 03:22:47 +03:00
hf@deer.(none)
054463f975 Fix for #6553 and #8776 (no errors on bad spatial data) 2005-04-29 20:23:02 +05:00
hf@deer.(none)
497fe7f71e Fix for bug #6117 (Centroid() crashes server)
I learned that one shouldn't use String::set in val_str() methods...
2004-10-22 20:32:02 +05:00
hf@deer.(none)
c14b95f656 Merging 2004-09-24 18:35:39 +05:00
hf@deer.(none)
d8c626eb53 Additional fix for bug #5136 (Geometry object is corrupted when queried)
CREATE TABLE t1 SELECT POINT(1,2); fixed
2004-09-22 22:36:53 +05:00
hf@deer.(none)
02595629c2 Fix for bug #5532 (error 22 inserting GIS data)
This bug is the result of weird error happening with mi_float8get and double
arythmetic. I described that in 'Bug that looks potentially dangerous' email
2004-09-15 19:46:42 +05:00
ram@gw.mysql.r18.ru
2133721ac6 A fix (Bug#5219: Cannot use '||' with MBRContains(..)). 2004-08-26 16:51:26 +05:00
hf@deer.(none)
15ea09b79d WL#1163 (Make spatial code separable for other parts)
--with-geometry and
--with-embedded-privilege-control
configure switches added
2004-05-27 20:31:30 +05:00
hf@deer.(none)
91d5e55a90 Fix for #233
test for IGNORE added
2004-03-17 14:03:26 +04:00
hf@deer.(none)
cdc27d597e Fix for #233 (final part) 2004-03-16 14:59:22 +04:00
monty@mashka.mysql.fi
afd8f38f4e Optimized GIS functions 2004-03-04 08:50:37 +02:00
bell@sanja.is.com.ua
c7bc56f392 fixed printability of gis functions
code covarage for srid, GeomFromText with 2 parameters
code covarage foe print() method of gis functions
2003-11-06 21:03:11 +02:00
ram@mysql.r18.ru
2180fa858b AsWKB() function has been added. 2003-04-03 15:13:14 +05:00
ram@mysql.r18.ru
9295366a5e GEOMCOLLFROMWKB(), GEOMETRYCOLLECTIONFROMWKB(),
LINEFROMWKB(), LINESTRINGFROMWKB(), MLINEFROMWKB(), MPOINTFROMWKB(),
MPOLYFROMWKB(), MULTILINESTRINGFROMWKB(), MULTIPOINTFROMWKB(),
MULTIPOLYGONFROMWKB(), POINTFROMWKB(), POLYFROMWKB(), POLYGONFROMWKB()
functions have been added (as synonyms for GEOMFROMWKB()).
2003-04-02 15:38:06 +05:00
bar@bar.mysql.r18.ru
f0155f6a44 ALTER TABLE didn't remember the exact
geometry type (POINT, LINESTRING, etc)
and changed all into "GEOMETRY".
2003-03-31 09:19:20 +05:00
bar@bar.mysql.r18.ru
0989db3e90 More OpenGIS compatibility:
Point, MultiLine, Poligom, etc, are now not aliases
for Geometry, but separate field types.
2003-03-27 13:09:09 +04:00
ram@mysql.r18.ru
031ac2a7b2 SRID support.
GeomertyFromWKB() function.
SRID() function.
::store() methods for Field_geom.
Code cleanup.
2003-03-18 15:30:32 +04:00
ram@mysql.r18.ru
3286c2d5f2 Added IsClosed() tests for MultiLineString objects.
Added Centroid(), Area() tests for MultiPolygon objects.
2003-03-06 16:25:06 +04:00
ram@mysql.r18.ru
c3da09d629 Test case for spatial objects. 2003-03-01 13:16:39 +04:00