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
0440cc75
Commit
0440cc75
authored
Mar 29, 2006
by
igor@rurik.mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge rurik.mysql.com:/home/igor/dev/mysql-5.0-0
into rurik.mysql.com:/home/igor/dev/mysql-5.1-0
parents
70f8b397
0f9ab67d
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
277 additions
and
7 deletions
+277
-7
mysql-test/r/join_nested.result
mysql-test/r/join_nested.result
+58
-0
mysql-test/r/ndb_read_multi_range.result
mysql-test/r/ndb_read_multi_range.result
+104
-0
mysql-test/t/join_nested.test
mysql-test/t/join_nested.test
+52
-0
mysql-test/t/ndb_read_multi_range.test
mysql-test/t/ndb_read_multi_range.test
+38
-0
scripts/mysql_config.sh
scripts/mysql_config.sh
+6
-1
sql/ha_ndbcluster.cc
sql/ha_ndbcluster.cc
+3
-1
sql/sql_prepare.cc
sql/sql_prepare.cc
+9
-3
sql/sql_select.cc
sql/sql_select.cc
+4
-2
storage/ndb/tools/Makefile.am
storage/ndb/tools/Makefile.am
+3
-0
No files found.
mysql-test/r/join_nested.result
View file @
0440cc75
...
...
@@ -1504,3 +1504,61 @@ id type cid id pid pid type
1 A NULL NULL NULL NULL NULL
DROP VIEW v1;
DROP TABLE t1,t2,t3;
CREATE TABLE t1 (id1 int PRIMARY KEY, id2 int);
CREATE TABLE t2 (id1 int PRIMARY KEY, id2 int);
CREATE TABLE t3 (id1 int PRIMARY KEY, id2 int);
CREATE TABLE t4 (id1 int PRIMARY KEY, id2 int);
CREATE TABLE t5 (id1 int PRIMARY KEY, id2 int);
SELECT t1.id1 AS id, t5.id1 AS ngroupbynsa
FROM t1 INNER JOIN t2 ON t2.id2 = t1.id1
LEFT OUTER JOIN
(t3 INNER JOIN t4 ON t4.id1 = t3.id2 INNER JOIN t5 ON t4.id2 = t5.id1)
ON t3.id2 IS NOT NULL
WHERE t1.id1=2;
id ngroupbynsa
PREPARE stmt FROM
"SELECT t1.id1 AS id, t5.id1 AS ngroupbynsa
FROM t1 INNER JOIN t2 ON t2.id2 = t1.id1
LEFT OUTER JOIN
(t3 INNER JOIN t4 ON t4.id1 = t3.id2 INNER JOIN t5 ON t4.id2 = t5.id1)
ON t3.id2 IS NOT NULL
WHERE t1.id1=2";
EXECUTE stmt;
id ngroupbynsa
EXECUTE stmt;
id ngroupbynsa
EXECUTE stmt;
id ngroupbynsa
EXECUTE stmt;
id ngroupbynsa
INSERT INTO t1 VALUES (1,1), (2,1), (3,2);
INSERT INTO t2 VALUES (2,1), (3,2), (4,3);
INSERT INTO t3 VALUES (1,1), (3,2), (2,NULL);
INSERT INTO t4 VALUES (1,1), (2,1), (3,3);
INSERT INTO t5 VALUES (1,1), (2,2), (3,3), (4,3);
EXECUTE stmt;
id ngroupbynsa
2 1
2 1
EXECUTE stmt;
id ngroupbynsa
2 1
2 1
EXECUTE stmt;
id ngroupbynsa
2 1
2 1
EXECUTE stmt;
id ngroupbynsa
2 1
2 1
SELECT t1.id1 AS id, t5.id1 AS ngroupbynsa
FROM t1 INNER JOIN t2 ON t2.id2 = t1.id1
LEFT OUTER JOIN
(t3 INNER JOIN t4 ON t4.id1 = t3.id2 INNER JOIN t5 ON t4.id2 = t5.id1)
ON t3.id2 IS NOT NULL
WHERE t1.id1=2;
id ngroupbynsa
2 1
2 1
DROP TABLE t1,t2,t3,t4,t5;
mysql-test/r/ndb_read_multi_range.result
View file @
0440cc75
...
...
@@ -263,3 +263,107 @@ a b c d
10 10 10 10
drop table t2;
drop table t1;
CREATE TABLE t1 (
a int(11) NOT NULL,
b int(11) NOT NULL,
c datetime default NULL,
PRIMARY KEY (a),
KEY idx_bc (b,c)
) ENGINE=ndbcluster;
INSERT INTO t1 VALUES
(406989,67,'2006-02-23 17:08:46'), (150078,67,'2005-10-26 11:17:45'),
(406993,67,'2006-02-27 11:20:57'), (245655,67,'2005-12-08 15:59:08'),
(406994,67,'2006-02-27 11:26:46'), (256,67,NULL),
(398341,67,'2006-02-20 04:48:44'), (254,67,NULL),(1120,67,NULL),
(406988,67,'2006-02-23 17:07:22'), (255,67,NULL),
(398340,67,'2006-02-20 04:38:53'),(406631,67,'2006-02-23 10:49:42'),
(245653,67,'2005-12-08 15:59:07'),(406992,67,'2006-02-24 16:47:18'),
(245654,67,'2005-12-08 15:59:08'),(406995,67,'2006-02-28 11:55:00'),
(127261,67,'2005-10-13 12:17:58'),(406991,67,'2006-02-24 16:42:32'),
(245652,67,'2005-12-08 15:58:27'),(398545,67,'2006-02-20 04:53:13'),
(154504,67,'2005-10-28 11:53:01'),(9199,67,NULL),(1,67,'2006-02-23 15:01:35'),
(223456,67,NULL),(4101,67,NULL),(1133,67,NULL),
(406990,67,'2006-02-23 18:01:45'),(148815,67,'2005-10-25 15:34:17'),
(148812,67,'2005-10-25 15:30:01'),(245651,67,'2005-12-08 15:58:27'),
(154503,67,'2005-10-28 11:52:38');
create table t11 select * from t1 where b = 67 AND (c IS NULL OR c > NOW()) order by 3 asc;
create table t12 select * from t1 where b = 67 AND (c IS NULL OR c > NOW()) order by 3 desc;
create table t21 select * from t1 where b = 67 AND (c IS NULL OR c > '2005-12-08') order by 3 asc;
create table t22 select * from t1 where b = 67 AND (c IS NULL OR c > '2005-12-08') order by 3 desc;
select * from t11 order by 1,2,3;
a b c
254 67 NULL
255 67 NULL
256 67 NULL
1120 67 NULL
1133 67 NULL
4101 67 NULL
9199 67 NULL
223456 67 NULL
select * from t12 order by 1,2,3;
a b c
254 67 NULL
255 67 NULL
256 67 NULL
1120 67 NULL
1133 67 NULL
4101 67 NULL
9199 67 NULL
223456 67 NULL
select * from t21 order by 1,2,3;
a b c
1 67 2006-02-23 15:01:35
254 67 NULL
255 67 NULL
256 67 NULL
1120 67 NULL
1133 67 NULL
4101 67 NULL
9199 67 NULL
223456 67 NULL
245651 67 2005-12-08 15:58:27
245652 67 2005-12-08 15:58:27
245653 67 2005-12-08 15:59:07
245654 67 2005-12-08 15:59:08
245655 67 2005-12-08 15:59:08
398340 67 2006-02-20 04:38:53
398341 67 2006-02-20 04:48:44
398545 67 2006-02-20 04:53:13
406631 67 2006-02-23 10:49:42
406988 67 2006-02-23 17:07:22
406989 67 2006-02-23 17:08:46
406990 67 2006-02-23 18:01:45
406991 67 2006-02-24 16:42:32
406992 67 2006-02-24 16:47:18
406993 67 2006-02-27 11:20:57
406994 67 2006-02-27 11:26:46
406995 67 2006-02-28 11:55:00
select * from t22 order by 1,2,3;
a b c
1 67 2006-02-23 15:01:35
254 67 NULL
255 67 NULL
256 67 NULL
1120 67 NULL
1133 67 NULL
4101 67 NULL
9199 67 NULL
223456 67 NULL
245651 67 2005-12-08 15:58:27
245652 67 2005-12-08 15:58:27
245653 67 2005-12-08 15:59:07
245654 67 2005-12-08 15:59:08
245655 67 2005-12-08 15:59:08
398340 67 2006-02-20 04:38:53
398341 67 2006-02-20 04:48:44
398545 67 2006-02-20 04:53:13
406631 67 2006-02-23 10:49:42
406988 67 2006-02-23 17:07:22
406989 67 2006-02-23 17:08:46
406990 67 2006-02-23 18:01:45
406991 67 2006-02-24 16:42:32
406992 67 2006-02-24 16:47:18
406993 67 2006-02-27 11:20:57
406994 67 2006-02-27 11:26:46
406995 67 2006-02-28 11:55:00
DROP TABLE t1, t11, t12, t21, t22;
mysql-test/t/join_nested.test
View file @
0440cc75
...
...
@@ -942,3 +942,55 @@ SELECT * FROM t1 p LEFT JOIN v1 ON p.id=v1.id
DROP
VIEW
v1
;
DROP
TABLE
t1
,
t2
,
t3
;
#
# Test for bug #18279: crash when on conditions are moved out of a nested join
# to the on conditions for the nest
CREATE
TABLE
t1
(
id1
int
PRIMARY
KEY
,
id2
int
);
CREATE
TABLE
t2
(
id1
int
PRIMARY
KEY
,
id2
int
);
CREATE
TABLE
t3
(
id1
int
PRIMARY
KEY
,
id2
int
);
CREATE
TABLE
t4
(
id1
int
PRIMARY
KEY
,
id2
int
);
CREATE
TABLE
t5
(
id1
int
PRIMARY
KEY
,
id2
int
);
SELECT
t1
.
id1
AS
id
,
t5
.
id1
AS
ngroupbynsa
FROM
t1
INNER
JOIN
t2
ON
t2
.
id2
=
t1
.
id1
LEFT
OUTER
JOIN
(
t3
INNER
JOIN
t4
ON
t4
.
id1
=
t3
.
id2
INNER
JOIN
t5
ON
t4
.
id2
=
t5
.
id1
)
ON
t3
.
id2
IS
NOT
NULL
WHERE
t1
.
id1
=
2
;
PREPARE
stmt
FROM
"SELECT t1.id1 AS id, t5.id1 AS ngroupbynsa
FROM t1 INNER JOIN t2 ON t2.id2 = t1.id1
LEFT OUTER JOIN
(t3 INNER JOIN t4 ON t4.id1 = t3.id2 INNER JOIN t5 ON t4.id2 = t5.id1)
ON t3.id2 IS NOT NULL
WHERE t1.id1=2"
;
EXECUTE
stmt
;
EXECUTE
stmt
;
EXECUTE
stmt
;
EXECUTE
stmt
;
INSERT
INTO
t1
VALUES
(
1
,
1
),
(
2
,
1
),
(
3
,
2
);
INSERT
INTO
t2
VALUES
(
2
,
1
),
(
3
,
2
),
(
4
,
3
);
INSERT
INTO
t3
VALUES
(
1
,
1
),
(
3
,
2
),
(
2
,
NULL
);
INSERT
INTO
t4
VALUES
(
1
,
1
),
(
2
,
1
),
(
3
,
3
);
INSERT
INTO
t5
VALUES
(
1
,
1
),
(
2
,
2
),
(
3
,
3
),
(
4
,
3
);
EXECUTE
stmt
;
EXECUTE
stmt
;
EXECUTE
stmt
;
EXECUTE
stmt
;
SELECT
t1
.
id1
AS
id
,
t5
.
id1
AS
ngroupbynsa
FROM
t1
INNER
JOIN
t2
ON
t2
.
id2
=
t1
.
id1
LEFT
OUTER
JOIN
(
t3
INNER
JOIN
t4
ON
t4
.
id1
=
t3
.
id2
INNER
JOIN
t5
ON
t4
.
id2
=
t5
.
id1
)
ON
t3
.
id2
IS
NOT
NULL
WHERE
t1
.
id1
=
2
;
DROP
TABLE
t1
,
t2
,
t3
,
t4
,
t5
;
mysql-test/t/ndb_read_multi_range.test
View file @
0440cc75
...
...
@@ -200,3 +200,41 @@ select * from t2 order by a;
drop
table
t2
;
drop
table
t1
;
# bug17729
CREATE
TABLE
t1
(
a
int
(
11
)
NOT
NULL
,
b
int
(
11
)
NOT
NULL
,
c
datetime
default
NULL
,
PRIMARY
KEY
(
a
),
KEY
idx_bc
(
b
,
c
)
)
ENGINE
=
ndbcluster
;
INSERT
INTO
t1
VALUES
(
406989
,
67
,
'2006-02-23 17:08:46'
),
(
150078
,
67
,
'2005-10-26 11:17:45'
),
(
406993
,
67
,
'2006-02-27 11:20:57'
),
(
245655
,
67
,
'2005-12-08 15:59:08'
),
(
406994
,
67
,
'2006-02-27 11:26:46'
),
(
256
,
67
,
NULL
),
(
398341
,
67
,
'2006-02-20 04:48:44'
),
(
254
,
67
,
NULL
),(
1120
,
67
,
NULL
),
(
406988
,
67
,
'2006-02-23 17:07:22'
),
(
255
,
67
,
NULL
),
(
398340
,
67
,
'2006-02-20 04:38:53'
),(
406631
,
67
,
'2006-02-23 10:49:42'
),
(
245653
,
67
,
'2005-12-08 15:59:07'
),(
406992
,
67
,
'2006-02-24 16:47:18'
),
(
245654
,
67
,
'2005-12-08 15:59:08'
),(
406995
,
67
,
'2006-02-28 11:55:00'
),
(
127261
,
67
,
'2005-10-13 12:17:58'
),(
406991
,
67
,
'2006-02-24 16:42:32'
),
(
245652
,
67
,
'2005-12-08 15:58:27'
),(
398545
,
67
,
'2006-02-20 04:53:13'
),
(
154504
,
67
,
'2005-10-28 11:53:01'
),(
9199
,
67
,
NULL
),(
1
,
67
,
'2006-02-23 15:01:35'
),
(
223456
,
67
,
NULL
),(
4101
,
67
,
NULL
),(
1133
,
67
,
NULL
),
(
406990
,
67
,
'2006-02-23 18:01:45'
),(
148815
,
67
,
'2005-10-25 15:34:17'
),
(
148812
,
67
,
'2005-10-25 15:30:01'
),(
245651
,
67
,
'2005-12-08 15:58:27'
),
(
154503
,
67
,
'2005-10-28 11:52:38'
);
create
table
t11
select
*
from
t1
where
b
=
67
AND
(
c
IS
NULL
OR
c
>
NOW
())
order
by
3
asc
;
create
table
t12
select
*
from
t1
where
b
=
67
AND
(
c
IS
NULL
OR
c
>
NOW
())
order
by
3
desc
;
create
table
t21
select
*
from
t1
where
b
=
67
AND
(
c
IS
NULL
OR
c
>
'2005-12-08'
)
order
by
3
asc
;
create
table
t22
select
*
from
t1
where
b
=
67
AND
(
c
IS
NULL
OR
c
>
'2005-12-08'
)
order
by
3
desc
;
select
*
from
t11
order
by
1
,
2
,
3
;
select
*
from
t12
order
by
1
,
2
,
3
;
select
*
from
t21
order
by
1
,
2
,
3
;
select
*
from
t22
order
by
1
,
2
,
3
;
DROP
TABLE
t1
,
t11
,
t12
,
t21
,
t22
;
scripts/mysql_config.sh
View file @
0440cc75
...
...
@@ -82,10 +82,15 @@ basedir=`echo $me | sed -e 's;/bin/mysql_config;;'`
ldata
=
'@localstatedir@'
execdir
=
'@libexecdir@'
bindir
=
'@bindir@'
# If installed, search for the compiled in directory first (might be "lib64")
pkglibdir
=
'@pkglibdir@'
fix_path pkglibdir lib/mysql lib
pkglibdir_rel
=
`
echo
$pkglibdir
|
sed
-e
"s;^
$basedir
/;;"
`
fix_path pkglibdir
$pkglibdir_rel
lib/mysql lib
pkgincludedir
=
'@pkgincludedir@'
fix_path pkgincludedir include/mysql include
version
=
'@VERSION@'
socket
=
'@MYSQL_UNIX_ADDR@'
port
=
'@MYSQL_TCP_PORT@'
...
...
sql/ha_ndbcluster.cc
View file @
0440cc75
...
...
@@ -7612,7 +7612,9 @@ ha_ndbcluster::setup_recattr(const NdbRecAttr* curr)
if
((
*
value
).
ptr
)
{
DBUG_ASSERT
(
curr
!=
0
);
(
*
value
).
rec
=
curr
;
NdbValue
*
val
=
m_value
+
curr
->
getColumn
()
->
getColumnNo
();
DBUG_ASSERT
(
val
->
ptr
);
val
->
rec
=
curr
;
curr
=
curr
->
next
();
}
}
...
...
sql/sql_prepare.cc
View file @
0440cc75
...
...
@@ -2128,11 +2128,17 @@ void reinit_stmt_before_use(THD *thd, LEX *lex)
/* Reset is_schema_table_processed value(needed for I_S tables */
tables
->
is_schema_table_processed
=
FALSE
;
if
(
tables
->
prep_on_expr
)
TABLE_LIST
*
embedded
;
/* The table at the current level of nesting. */
TABLE_LIST
*
embedding
=
tables
;
/* The parent nested table reference. */
do
{
tables
->
on_expr
=
tables
->
prep_on_expr
->
copy_andor_structure
(
thd
);
tables
->
on_expr
->
cleanup
();
embedded
=
embedding
;
if
(
embedded
->
prep_on_expr
)
embedded
->
on_expr
=
embedded
->
prep_on_expr
->
copy_andor_structure
(
thd
);
embedding
=
embedded
->
embedding
;
}
while
(
embedding
&&
embedding
->
nested_join
->
join_list
.
head
()
==
embedded
);
}
lex
->
current_select
=
&
lex
->
select_lex
;
...
...
sql/sql_select.cc
View file @
0440cc75
...
...
@@ -7517,7 +7517,7 @@ simplify_joins(JOIN *join, List<TABLE_LIST> *join_list, COND *conds, bool top)
*/
if
(
table
->
on_expr
)
{
Item
*
expr
=
table
->
prep_on_expr
?
table
->
prep_on_expr
:
table
->
on_expr
;
Item
*
expr
=
table
->
on_expr
;
/*
If an on expression E is attached to the table,
check all null rejected predicates in this expression.
...
...
@@ -7528,7 +7528,9 @@ simplify_joins(JOIN *join, List<TABLE_LIST> *join_list, COND *conds, bool top)
*/
expr
=
simplify_joins
(
join
,
&
nested_join
->
join_list
,
expr
,
FALSE
);
table
->
prep_on_expr
=
table
->
on_expr
=
expr
;
table
->
on_expr
=
expr
;
if
(
!
table
->
prep_on_expr
)
table
->
prep_on_expr
=
expr
->
copy_andor_structure
(
join
->
thd
);
}
nested_join
->
used_tables
=
(
table_map
)
0
;
nested_join
->
not_null_tables
=
(
table_map
)
0
;
...
...
storage/ndb/tools/Makefile.am
View file @
0440cc75
bin_SCRIPTS
=
ndb_size.pl ndb_error_reporter
dist_pkgdata_DATA
=
ndb_size.tmpl
ndbtools_PROGRAMS
=
\
ndb_test_platform
\
ndb_waiter
\
...
...
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