mirror of
https://github.com/MariaDB/server.git
synced 2026-04-25 09:45:31 +02:00
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. mysql-test/r/gis.result: result fixed mysql-test/t/gis.test: test case added sql/item_geofunc.h: Now we return MYSQL_TYPE_BLOB for asBinary function
This commit is contained in:
parent
5375bcad69
commit
9a4b76ed64
3 changed files with 19 additions and 0 deletions
|
|
@ -661,3 +661,13 @@ 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 8192 0 Y 128 0 63
|
||||
asbinary(g)
|
||||
drop table t1;
|
||||
|
|
|
|||
|
|
@ -364,3 +364,10 @@ select (asWKT(geomfromwkb((0x000000000140240000000000004024000000000000))));
|
|||
select (asWKT(geomfromwkb((0x010100000000000000000024400000000000002440))));
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
--enable_metadata
|
||||
create table t1 (g GEOMETRY);
|
||||
select * from t1;
|
||||
select asbinary(g) from t1;
|
||||
--disable_metadata
|
||||
drop table t1;
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ public:
|
|||
Item_geometry_func(Item *a,Item *b,Item *c) :Item_str_func(a,b,c) {}
|
||||
Item_geometry_func(List<Item> &list) :Item_str_func(list) {}
|
||||
void fix_length_and_dec();
|
||||
enum_field_types field_type() const { return MYSQL_TYPE_GEOMETRY; }
|
||||
};
|
||||
|
||||
class Item_func_geometry_from_text: public Item_geometry_func
|
||||
|
|
@ -67,6 +68,7 @@ public:
|
|||
Item_func_as_wkb(Item *a): Item_geometry_func(a) {}
|
||||
const char *func_name() const { return "aswkb"; }
|
||||
String *val_str(String *);
|
||||
enum_field_types field_type() const { return MYSQL_TYPE_BLOB; }
|
||||
};
|
||||
|
||||
class Item_func_geometry_type: public Item_str_func
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue