mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
Backport into build-201102032246-5.1.52sp1
> ------------------------------------------------------------ > revno: 3545 > revision-id: holyfoot@mysql.com-20110112130241-50lwmhq562otxw31 > parent: dmitry.lenev@oracle.com-20110112130830-csanweanbny2ua3n > committer: Alexey Botchkov <holyfoot@mysql.com> > branch nick: 51mrg > timestamp: Wed 2011-01-12 17:02:41 +0400 > message: > Bug #57321 crashes and valgrind errors from spatial types > Item_func_spatial_collection::fix_length_and_dec didn't call parent's method, so > the maybe_null was set to '0' after it. But in this case the result was > just NULL, that caused wrong behaviour. > > per-file comments: > mysql-test/r/gis.result > Bug #57321 crashes and valgrind errors from spatial types > test result updated. > > mysql-test/t/gis.test > Bug #57321 crashes and valgrind errors from spatial types > test case added. > sql/item_geofunc.h > Bug #57321 crashes and valgrind errors from spatial types > Item_func_geometry::fix_length_and_dec() called in > Item_func_spatial_collection::fix_length_and_dec().
This commit is contained in:
parent
5ac3c5dea3
commit
6497b7aa4d
3 changed files with 19 additions and 0 deletions
|
@ -1014,4 +1014,12 @@ SET @a=0x00000000030000000100000000000000000000000000144000000000000014400000000
|
|||
SET @a=POLYFROMWKB(@a);
|
||||
SET @a=0x00000000030000000000000000000000000000000000144000000000000014400000000000001840000000000000184000000000000014400000000000001440;
|
||||
SET @a=POLYFROMWKB(@a);
|
||||
create table t1(a polygon NOT NULL)engine=myisam;
|
||||
insert into t1 values (geomfromtext("point(0 1)"));
|
||||
insert into t1 values (geomfromtext("point(1 0)"));
|
||||
select * from (select polygon(t1.a) as p from t1 order by t1.a) d;
|
||||
p
|
||||
NULL
|
||||
NULL
|
||||
drop table t1;
|
||||
End of 5.1 tests
|
||||
|
|
|
@ -744,4 +744,14 @@ SET @a=0x00000000030000000000000000000000000000000000144000000000000014400000000
|
|||
SET @a=POLYFROMWKB(@a);
|
||||
|
||||
|
||||
#
|
||||
# Bug #57321 crashes and valgrind errors from spatial types
|
||||
#
|
||||
|
||||
create table t1(a polygon NOT NULL)engine=myisam;
|
||||
insert into t1 values (geomfromtext("point(0 1)"));
|
||||
insert into t1 values (geomfromtext("point(1 0)"));
|
||||
select * from (select polygon(t1.a) as p from t1 order by t1.a) d;
|
||||
drop table t1;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
|
|
@ -177,6 +177,7 @@ public:
|
|||
String *val_str(String *);
|
||||
void fix_length_and_dec()
|
||||
{
|
||||
Item_geometry_func::fix_length_and_dec();
|
||||
for (unsigned int i= 0; i < arg_count; ++i)
|
||||
{
|
||||
if (args[i]->fixed && args[i]->field_type() != MYSQL_TYPE_GEOMETRY)
|
||||
|
|
Loading…
Reference in a new issue