mirror of
https://github.com/MariaDB/server.git
synced 2026-05-10 17:14:30 +02:00
Merge mysql.com:/home/hf/work/31158/my41-31158
into mysql.com:/home/hf/work/31158/my50-31158 mysql-test/t/gis.test: Auto merged sql/field.h: Auto merged sql/item_geofunc.cc: Auto merged mysql-test/r/gis.result: merging sql/field.cc: merging
This commit is contained in:
commit
75b8713b48
4 changed files with 120 additions and 2 deletions
|
|
@ -730,6 +730,69 @@ point(b, b) IS NULL linestring(b) IS NULL polygon(b) IS NULL multipoint(b) IS NU
|
||||||
1 1 1 1 1 1 1
|
1 1 1 1 1 1 1
|
||||||
0 1 1 1 1 1 1
|
0 1 1 1 1 1 1
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
select (asWKT(geomfromwkb((0x000000000140240000000000004024000000000000))));
|
||||||
|
(asWKT(geomfromwkb((0x000000000140240000000000004024000000000000))))
|
||||||
|
POINT(10 10)
|
||||||
|
select (asWKT(geomfromwkb((0x010100000000000000000024400000000000002440))));
|
||||||
|
(asWKT(geomfromwkb((0x010100000000000000000024400000000000002440))))
|
||||||
|
POINT(10 10)
|
||||||
|
create table t1 (g GEOMETRY);
|
||||||
|
select * from t1;
|
||||||
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
|
def test t1 t1 g g 255 4294967295 0 Y 144 0 63
|
||||||
|
g
|
||||||
|
select asbinary(g) from t1;
|
||||||
|
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||||
|
def asbinary(g) 252 4294967295 0 Y 128 0 63
|
||||||
|
asbinary(g)
|
||||||
|
drop table t1;
|
||||||
|
create table t1 (a TEXT, b GEOMETRY NOT NULL, SPATIAL KEY(b));
|
||||||
|
alter table t1 disable keys;
|
||||||
|
load data infile '../../std_data/bad_gis_data.dat' into table t1;
|
||||||
|
ERROR 01000: Data truncated; NULL supplied to NOT NULL column 'b' at row 1
|
||||||
|
alter table t1 enable keys;
|
||||||
|
drop table t1;
|
||||||
|
create table t1 (a int, b blob);
|
||||||
|
insert into t1 values (1, ''), (2, NULL), (3, '1');
|
||||||
|
select * from t1;
|
||||||
|
a b
|
||||||
|
1
|
||||||
|
2 NULL
|
||||||
|
3 1
|
||||||
|
select
|
||||||
|
geometryfromtext(b) IS NULL, geometryfromwkb(b) IS NULL, astext(b) IS NULL,
|
||||||
|
aswkb(b) IS NULL, geometrytype(b) IS NULL, centroid(b) IS NULL,
|
||||||
|
envelope(b) IS NULL, startpoint(b) IS NULL, endpoint(b) IS NULL,
|
||||||
|
exteriorring(b) IS NULL, pointn(b, 1) IS NULL, geometryn(b, 1) IS NULL,
|
||||||
|
interiorringn(b, 1) IS NULL, multipoint(b) IS NULL, isempty(b) IS NULL,
|
||||||
|
issimple(b) IS NULL, isclosed(b) IS NULL, dimension(b) IS NULL,
|
||||||
|
numgeometries(b) IS NULL, numinteriorrings(b) IS NULL, numpoints(b) IS NULL,
|
||||||
|
area(b) IS NULL, glength(b) IS NULL, srid(b) IS NULL, x(b) IS NULL,
|
||||||
|
y(b) IS NULL
|
||||||
|
from t1;
|
||||||
|
geometryfromtext(b) IS NULL geometryfromwkb(b) IS NULL astext(b) IS NULL aswkb(b) IS NULL geometrytype(b) IS NULL centroid(b) IS NULL envelope(b) IS NULL startpoint(b) IS NULL endpoint(b) IS NULL exteriorring(b) IS NULL pointn(b, 1) IS NULL geometryn(b, 1) IS NULL interiorringn(b, 1) IS NULL multipoint(b) IS NULL isempty(b) IS NULL issimple(b) IS NULL isclosed(b) IS NULL dimension(b) IS NULL numgeometries(b) IS NULL numinteriorrings(b) IS NULL numpoints(b) IS NULL area(b) IS NULL glength(b) IS NULL srid(b) IS NULL x(b) IS NULL y(b) IS NULL
|
||||||
|
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||||
|
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||||
|
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
|
||||||
|
select
|
||||||
|
within(b, b) IS NULL, contains(b, b) IS NULL, overlaps(b, b) IS NULL,
|
||||||
|
equals(b, b) IS NULL, disjoint(b, b) IS NULL, touches(b, b) IS NULL,
|
||||||
|
intersects(b, b) IS NULL, crosses(b, b) IS NULL
|
||||||
|
from t1;
|
||||||
|
within(b, b) IS NULL contains(b, b) IS NULL overlaps(b, b) IS NULL equals(b, b) IS NULL disjoint(b, b) IS NULL touches(b, b) IS NULL intersects(b, b) IS NULL crosses(b, b) IS NULL
|
||||||
|
1 1 1 1 1 1 1 1
|
||||||
|
1 1 1 1 1 1 1 1
|
||||||
|
1 1 1 1 1 1 1 1
|
||||||
|
select
|
||||||
|
point(b, b) IS NULL, linestring(b) IS NULL, polygon(b) IS NULL, multipoint(b) IS NULL,
|
||||||
|
multilinestring(b) IS NULL, multipolygon(b) IS NULL,
|
||||||
|
geometrycollection(b) IS NULL
|
||||||
|
from t1;
|
||||||
|
point(b, b) IS NULL linestring(b) IS NULL polygon(b) IS NULL multipoint(b) IS NULL multilinestring(b) IS NULL multipolygon(b) IS NULL geometrycollection(b) IS NULL
|
||||||
|
0 1 1 1 1 1 1
|
||||||
|
1 1 1 1 1 1 1
|
||||||
|
0 1 1 1 1 1 1
|
||||||
|
drop table t1;
|
||||||
CREATE TABLE t1(a POINT) ENGINE=MyISAM;
|
CREATE TABLE t1(a POINT) ENGINE=MyISAM;
|
||||||
INSERT INTO t1 VALUES (NULL);
|
INSERT INTO t1 VALUES (NULL);
|
||||||
SELECT * FROM t1;
|
SELECT * FROM t1;
|
||||||
|
|
@ -742,6 +805,30 @@ select geomfromtext(col9,col89) as a from t1;
|
||||||
a
|
a
|
||||||
NULL
|
NULL
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
geomdata polygon NOT NULL,
|
||||||
|
SPATIAL KEY index_geom (geomdata)
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin2 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED;
|
||||||
|
CREATE TABLE t2 (
|
||||||
|
geomdata polygon NOT NULL,
|
||||||
|
SPATIAL KEY index_geom (geomdata)
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin2 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED;
|
||||||
|
CREATE TABLE t3
|
||||||
|
select
|
||||||
|
aswkb(ws.geomdata) AS geomdatawkb
|
||||||
|
from
|
||||||
|
t1 ws
|
||||||
|
union
|
||||||
|
select
|
||||||
|
aswkb(ws.geomdata) AS geomdatawkb
|
||||||
|
from
|
||||||
|
t2 ws;
|
||||||
|
describe t3;
|
||||||
|
Field Type Null Key Default Extra
|
||||||
|
geomdatawkb longblob YES NULL
|
||||||
|
drop table t1;
|
||||||
|
drop table t2;
|
||||||
|
drop table t3;
|
||||||
End of 4.1 tests
|
End of 4.1 tests
|
||||||
create table t1 (s1 geometry not null,s2 char(100));
|
create table t1 (s1 geometry not null,s2 char(100));
|
||||||
create trigger t1_bu before update on t1 for each row set new.s1 = null;
|
create trigger t1_bu before update on t1 for each row set new.s1 = null;
|
||||||
|
|
@ -933,4 +1020,3 @@ COUNT(*)
|
||||||
2
|
2
|
||||||
DROP TABLE t1, t2;
|
DROP TABLE t1, t2;
|
||||||
End of 5.0 tests
|
End of 5.0 tests
|
||||||
End of 5.0 tests
|
|
||||||
|
|
|
||||||
|
|
@ -439,6 +439,37 @@ INSERT INTO `t1` VALUES ('','0000-00-00');
|
||||||
select geomfromtext(col9,col89) as a from t1;
|
select geomfromtext(col9,col89) as a from t1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #31158 Spatial, Union, LONGBLOB vs BLOB bug (crops data)
|
||||||
|
#
|
||||||
|
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
geomdata polygon NOT NULL,
|
||||||
|
SPATIAL KEY index_geom (geomdata)
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin2 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED;
|
||||||
|
|
||||||
|
CREATE TABLE t2 (
|
||||||
|
geomdata polygon NOT NULL,
|
||||||
|
SPATIAL KEY index_geom (geomdata)
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin2 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED;
|
||||||
|
|
||||||
|
CREATE TABLE t3
|
||||||
|
select
|
||||||
|
aswkb(ws.geomdata) AS geomdatawkb
|
||||||
|
from
|
||||||
|
t1 ws
|
||||||
|
union
|
||||||
|
select
|
||||||
|
aswkb(ws.geomdata) AS geomdatawkb
|
||||||
|
from
|
||||||
|
t2 ws;
|
||||||
|
|
||||||
|
describe t3;
|
||||||
|
|
||||||
|
drop table t1;
|
||||||
|
drop table t2;
|
||||||
|
drop table t3;
|
||||||
|
|
||||||
--echo End of 4.1 tests
|
--echo End of 4.1 tests
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@
|
||||||
|
|
||||||
#define NOT_FIXED_DEC 31
|
#define NOT_FIXED_DEC 31
|
||||||
#define DATETIME_DEC 6
|
#define DATETIME_DEC 6
|
||||||
|
const uint32 max_field_size= (uint32) 4294967295U;
|
||||||
|
|
||||||
class Send_field;
|
class Send_field;
|
||||||
class Protocol;
|
class Protocol;
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ void Item_geometry_func::fix_length_and_dec()
|
||||||
{
|
{
|
||||||
collation.set(&my_charset_bin);
|
collation.set(&my_charset_bin);
|
||||||
decimals=0;
|
decimals=0;
|
||||||
max_length=MAX_BLOB_WIDTH;
|
max_length= max_field_size;
|
||||||
maybe_null= 1;
|
maybe_null= 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue