Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
mariadb
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
4c87f727
Commit
4c87f727
authored
Apr 29, 2015
by
Sergei Golubchik
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '5.5' into bb-5.5-serg
parents
f632b51d
a4477d29
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
66 additions
and
41 deletions
+66
-41
mysql-test/r/gis.result
mysql-test/r/gis.result
+10
-2
mysql-test/r/uniques_crash-7912.result
mysql-test/r/uniques_crash-7912.result
+11
-0
mysql-test/suite/innodb/r/innodb-mdev-7055.result
mysql-test/suite/innodb/r/innodb-mdev-7055.result
+0
-1
mysql-test/suite/innodb/t/innodb-mdev-7055.test
mysql-test/suite/innodb/t/innodb-mdev-7055.test
+0
-23
mysql-test/t/gis.test
mysql-test/t/gis.test
+10
-1
mysql-test/t/uniques_crash-7912.test
mysql-test/t/uniques_crash-7912.test
+26
-0
sql/item_geofunc.h
sql/item_geofunc.h
+1
-1
sql/uniques.cc
sql/uniques.cc
+5
-6
storage/innobase/rem/rem0rec.c
storage/innobase/rem/rem0rec.c
+2
-4
storage/xtradb/rem/rem0rec.c
storage/xtradb/rem/rem0rec.c
+1
-3
No files found.
mysql-test/r/gis.result
View file @
4c87f727
DROP TABLE IF EXISTS t1, gis_point, gis_line, gis_polygon, gis_multi_point, gis_multi_line, gis_multi_polygon, gis_geometrycollection, gis_geometry;
DROP VIEW IF EXISTS v1;
CREATE TABLE gis_point (fid INTEGER NOT NULL PRIMARY KEY, g POINT);
CREATE TABLE gis_line (fid INTEGER NOT NULL PRIMARY KEY, g LINESTRING);
CREATE TABLE gis_polygon (fid INTEGER NOT NULL PRIMARY KEY, g POLYGON);
...
...
@@ -489,7 +490,7 @@ explain extended select issimple(MultiPoint(Point(3, 6), Point(4, 10))), issimpl
id select_type table type possible_keys key key_len ref rows filtered Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL No tables used
Warnings:
Note 1003 select st_issimple(st_multipoint(
st_point(3,6),st_point(4,10))) AS `issimple(MultiPoint(Point(3, 6), Point(4, 10)))`,st_issimple(st_
point(3,6)) AS `issimple(Point(3, 6))`
Note 1003 select st_issimple(st_multipoint(
point(3,6),point(4,10))) AS `issimple(MultiPoint(Point(3, 6), Point(4, 10)))`,st_issimple(
point(3,6)) AS `issimple(Point(3, 6))`
create table t1 (a geometry not null);
insert into t1 values (GeomFromText('Point(1 2)'));
insert into t1 values ('Garbage');
...
...
@@ -1610,4 +1611,11 @@ drop table t1;
SELECT st_astext(ST_Buffer(ST_PolygonFromText('POLYGON((3 5, 2 4, 2 5, 3 5))'), -100));
st_astext(ST_Buffer(ST_PolygonFromText('POLYGON((3 5, 2 4, 2 5, 3 5))'), -100))
GEOMETRYCOLLECTION EMPTY
End of 5.5 tests
CREATE VIEW v1 AS SELECT POINT(1,1) AS p;
SHOW CREATE VIEW v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select point(1,1) AS `p` latin1 latin1_swedish_ci
SELECT ASTEXT(p) FROM v1;
ASTEXT(p)
POINT(1 1)
DROP VIEW v1;
mysql-test/r/uniques_crash-7912.result
0 → 100644
View file @
4c87f727
call mtr.add_suppression("Out of memory");
set sql_mode="";
drop table if exists t1,t2;
create table `t1` (`a` datetime not null) engine=InnoDB;
create table `t2` (`a` int not null) engine=innodb;
replace into t1 values (),();
insert into t2 values(0);
set session sort_buffer_size = 1024*1024*1024*1024;
delete d2 from t2 as d1, t1 as d2 where d1.a <=> d2.a;
drop table t2;
drop table t1;
mysql-test/suite/innodb/r/innodb-mdev-7055.result
deleted
100644 → 0
View file @
f632b51d
1
mysql-test/suite/innodb/t/innodb-mdev-7055.test
deleted
100644 → 0
View file @
f632b51d
--
source
include
/
have_innodb
.
inc
# MDEV-7055: MySQL#74664 - InnoDB: Failing assertion: len <= col->len
# || col->mtype == 5 || (col->len == 0 && col->mtype == 1) in
# file rem0rec.cc line 845
--
disable_query_log
--
disable_warnings
--
disable_result_log
set
@
old_character_set
=@@
character_set_connection
;
set
character_set_connection
=
ucs2
;
create
TABLE
t1
engine
=
innodb
select
if
(
0
=
0
,
'Y'
,
'N'
);
insert
INTO
t1
values
(
date_format
(
'2001-01-01'
,
'%W'
));
select
*
from
t1
;
drop
table
t1
;
set
@@
character_set_connection
=@
old_character_set
;
--
enable_result_log
--
enable_warnings
--
enable_query_log
#produce something
--
echo
1
mysql-test/t/gis.test
View file @
4c87f727
...
...
@@ -7,6 +7,7 @@
--
disable_warnings
DROP
TABLE
IF
EXISTS
t1
,
gis_point
,
gis_line
,
gis_polygon
,
gis_multi_point
,
gis_multi_line
,
gis_multi_polygon
,
gis_geometrycollection
,
gis_geometry
;
DROP
VIEW
IF
EXISTS
v1
;
--
enable_warnings
CREATE
TABLE
gis_point
(
fid
INTEGER
NOT
NULL
PRIMARY
KEY
,
g
POINT
);
...
...
@@ -1470,4 +1471,12 @@ drop table t1;
#
SELECT
st_astext
(
ST_Buffer
(
ST_PolygonFromText
(
'POLYGON((3 5, 2 4, 2 5, 3 5))'
),
-
100
));
--
echo
End
of
5.5
tests
#
# MDEV-7779 View definition changes upon creation
#
CREATE
VIEW
v1
AS
SELECT
POINT
(
1
,
1
)
AS
p
;
SHOW
CREATE
VIEW
v1
;
SELECT
ASTEXT
(
p
)
FROM
v1
;
DROP
VIEW
v1
;
# --echo End of 5.5 tests
mysql-test/t/uniques_crash-7912.test
0 → 100644
View file @
4c87f727
#
# MDEV-7912
#
# multitable delete with wrongly set sort_buffer_size crashes in merge_buffers
--
source
include
/
have_innodb
.
inc
--
source
include
/
have_debug
.
inc
--
source
include
/
windows
.
inc
call
mtr
.
add_suppression
(
"Out of memory"
);
set
sql_mode
=
""
;
--
disable_warnings
drop
table
if
exists
t1
,
t2
;
create
table
`t1`
(
`a`
datetime
not
null
)
engine
=
InnoDB
;
create
table
`t2`
(
`a`
int
not
null
)
engine
=
innodb
;
replace
into
t1
values
(),();
insert
into
t2
values
(
0
);
set
session
sort_buffer_size
=
1024
*
1024
*
1024
*
1024
;
#Either fail with EE_OUTOFMEMORY, or succeed
--
error
0
,
5
delete
d2
from
t2
as
d1
,
t1
as
d2
where
d1
.
a
<=>
d2
.
a
;
--
enable_warnings
drop
table
t2
;
drop
table
t1
;
sql/item_geofunc.h
View file @
4c87f727
...
...
@@ -116,7 +116,7 @@ class Item_func_point: public Item_geometry_func
public:
Item_func_point
(
Item
*
a
,
Item
*
b
)
:
Item_geometry_func
(
a
,
b
)
{}
Item_func_point
(
Item
*
a
,
Item
*
b
,
Item
*
srid
)
:
Item_geometry_func
(
a
,
b
,
srid
)
{}
const
char
*
func_name
()
const
{
return
"
st_
point"
;
}
const
char
*
func_name
()
const
{
return
"point"
;
}
String
*
val_str
(
String
*
);
Field
::
geometry_type
get_geometry_type
()
const
;
};
...
...
sql/uniques.cc
View file @
4c87f727
...
...
@@ -97,7 +97,7 @@ Unique::Unique(qsort_cmp2 comp_func, void * comp_func_fixed_arg,
max_elements
=
(
ulong
)
(
max_in_memory_size
/
ALIGN_SIZE
(
sizeof
(
TREE_ELEMENT
)
+
size
));
(
void
)
open_cached_file
(
&
file
,
mysql_tmpdir
,
TEMP_PREFIX
,
DISK_BUFFER_SIZE
,
MYF
(
MY_WME
));
MYF
(
MY_WME
));
}
...
...
@@ -607,8 +607,8 @@ bool Unique::walk(TABLE *table, tree_walk_action action, void *walk_action_arg)
return
1
;
if
(
flush_io_cache
(
&
file
)
||
reinit_io_cache
(
&
file
,
READ_CACHE
,
0L
,
0
,
0
))
return
1
;
ulong
buff_sz
=
(
max_in_memory_size
/
full_size
+
1
)
*
full_size
;
if
(
!
(
merge_buffer
=
(
uchar
*
)
my_malloc
((
ulong
)
buff_sz
,
MYF
(
0
))))
size_t
buff_sz
=
(
max_in_memory_size
/
full_size
+
1
)
*
full_size
;
if
(
!
(
merge_buffer
=
(
uchar
*
)
my_malloc
(
buff_sz
,
MYF
(
MY_WME
))))
return
1
;
if
(
buff_sz
<
(
ulong
)
(
full_size
*
(
file_ptrs
.
elements
+
1
)))
res
=
merge
(
table
,
merge_buffer
,
buff_sz
>=
full_size
*
MERGEBUFF2
)
;
...
...
@@ -737,9 +737,8 @@ bool Unique::get(TABLE *table)
/* Not enough memory; Save the result to file && free memory used by tree */
if
(
flush
())
return
1
;
ulong
buff_sz
=
(
max_in_memory_size
/
full_size
+
1
)
*
full_size
;
if
(
!
(
sort_buffer
=
(
uchar
*
)
my_malloc
(
buff_sz
,
MYF
(
0
))))
size_t
buff_sz
=
(
max_in_memory_size
/
full_size
+
1
)
*
full_size
;
if
(
!
(
sort_buffer
=
(
uchar
*
)
my_malloc
(
buff_sz
,
MYF
(
MY_WME
))))
return
1
;
if
(
merge
(
table
,
sort_buffer
,
FALSE
))
...
...
storage/innobase/rem/rem0rec.c
View file @
4c87f727
...
...
@@ -830,8 +830,7 @@ rec_get_converted_size_comp_prefix_low(
}
ut_ad
(
len
<=
col
->
len
||
col
->
mtype
==
DATA_BLOB
||
col
->
mtype
==
DATA_VARMYSQL
||
(
col
->
len
==
0
&&
col
->
mtype
==
DATA_VARCHAR
));
||
(
col
->
len
==
0
&&
col
->
mtype
==
DATA_VARCHAR
));
fixed_len
=
field
->
fixed_len
;
if
(
temp
&&
fixed_len
...
...
@@ -1258,8 +1257,7 @@ rec_convert_dtuple_to_rec_comp(
*
lens
--
=
(
byte
)
len
;
}
else
{
ut_ad
(
len
<=
dtype_get_len
(
type
)
||
dtype_get_mtype
(
type
)
==
DATA_BLOB
||
dtype_get_mtype
(
type
)
==
DATA_VARMYSQL
);
||
dtype_get_mtype
(
type
)
==
DATA_BLOB
);
if
(
len
<
128
||
(
dtype_get_len
(
type
)
<
256
&&
dtype_get_mtype
(
type
)
!=
DATA_BLOB
))
{
...
...
storage/xtradb/rem/rem0rec.c
View file @
4c87f727
...
...
@@ -830,7 +830,6 @@ rec_get_converted_size_comp_prefix_low(
}
ut_ad
(
len
<=
col
->
len
||
col
->
mtype
==
DATA_BLOB
||
col
->
mtype
==
DATA_VARMYSQL
||
(
col
->
len
==
0
&&
col
->
mtype
==
DATA_VARCHAR
));
fixed_len
=
field
->
fixed_len
;
...
...
@@ -1258,8 +1257,7 @@ rec_convert_dtuple_to_rec_comp(
*
lens
--
=
(
byte
)
len
;
}
else
{
ut_ad
(
len
<=
dtype_get_len
(
type
)
||
dtype_get_mtype
(
type
)
==
DATA_BLOB
||
dtype_get_mtype
(
type
)
==
DATA_VARMYSQL
);
||
dtype_get_mtype
(
type
)
==
DATA_BLOB
);
if
(
len
<
128
||
(
dtype_get_len
(
type
)
<
256
&&
dtype_get_mtype
(
type
)
!=
DATA_BLOB
))
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment