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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
d3d727e3
Commit
d3d727e3
authored
May 27, 2005
by
patg@radha.local
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Comment and test changes per review request by Timour. All tests pass on production with this code.
parent
a6af23a0
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
79 additions
and
1 deletion
+79
-1
mysql-test/r/federated.result
mysql-test/r/federated.result
+43
-0
mysql-test/t/federated.test
mysql-test/t/federated.test
+31
-0
sql/ha_federated.cc
sql/ha_federated.cc
+5
-1
No files found.
mysql-test/r/federated.result
View file @
d3d727e3
...
...
@@ -906,6 +906,13 @@ INSERT INTO federated.t1 (name, country_id, other) VALUES ('Lenz', 2, 22222);
INSERT INTO federated.t1 (name, country_id, other) VALUES ('Marizio', 3, 33333);
INSERT INTO federated.t1 (name, country_id, other) VALUES ('Monty', 4, 33333);
INSERT INTO federated.t1 (name, country_id, other) VALUES ('Sanja', 5, 33333);
EXPLAIN SELECT federated.t1.name AS name, federated.t1.country_id AS country_id,
federated.t1.other AS other, federated.countries.country AS country
FROM federated.t1, federated.countries WHERE
federated.t1.country_id = federated.countries.id;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE countries ALL PRIMARY NULL NULL NULL 5
1 SIMPLE t1 ref country_id country_id 4 federated.countries.id 120
SELECT federated.t1.name AS name, federated.t1.country_id AS country_id,
federated.t1.other AS other, federated.countries.country AS country
FROM federated.t1, federated.countries WHERE
...
...
@@ -916,6 +923,13 @@ Lenz 2 22222 Germany
Marizio 3 33333 Italy
Monty 4 33333 Finland
Sanja 5 33333 Ukraine
EXPLAIN SELECT federated.t1.name AS name, federated.t1.country_id AS country_id,
federated.t1.other AS other, federated.countries.country AS country
FROM federated.t1 INNER JOIN federated.countries ON
federated.t1.country_id = federated.countries.id;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE countries ALL PRIMARY NULL NULL NULL 5
1 SIMPLE t1 ref country_id country_id 4 federated.countries.id 120
SELECT federated.t1.name AS name, federated.t1.country_id AS country_id,
federated.t1.other AS other, federated.countries.country AS country
FROM federated.t1 INNER JOIN federated.countries ON
...
...
@@ -926,6 +940,14 @@ Lenz 2 22222 Germany
Marizio 3 33333 Italy
Monty 4 33333 Finland
Sanja 5 33333 Ukraine
EXPLAIN SELECT federated.t1.name AS name, federated.t1.country_id AS country_id,
federated.t1.other AS other, federated.countries.country AS country
FROM federated.t1 INNER JOIN federated.countries ON
federated.t1.country_id = federated.countries.id
WHERE federated.t1.name = 'Monty';
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE countries ALL PRIMARY NULL NULL NULL 5
1 SIMPLE t1 ref country_id country_id 4 federated.countries.id 120 Using where
SELECT federated.t1.name AS name, federated.t1.country_id AS country_id,
federated.t1.other AS other, federated.countries.country AS country
FROM federated.t1 INNER JOIN federated.countries ON
...
...
@@ -933,6 +955,13 @@ federated.t1.country_id = federated.countries.id
WHERE federated.t1.name = 'Monty';
name country_id other country
Monty 4 33333 Finland
EXPLAIN SELECT federated.t1.*, federated.countries.country
FROM federated.t1 LEFT JOIN federated.countries
ON federated.t1.country_id = federated.countries.id
ORDER BY federated.countries.id;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 10000 Using temporary; Using filesort
1 SIMPLE countries eq_ref PRIMARY PRIMARY 4 federated.t1.country_id 1
SELECT federated.t1.*, federated.countries.country
FROM federated.t1 LEFT JOIN federated.countries
ON federated.t1.country_id = federated.countries.id
...
...
@@ -943,6 +972,13 @@ id country_id name other country
3 3 Marizio 33333 Italy
4 4 Monty 33333 Finland
5 5 Sanja 33333 Ukraine
EXPLAIN SELECT federated.t1.*, federated.countries.country
FROM federated.t1 LEFT JOIN federated.countries
ON federated.t1.country_id = federated.countries.id
ORDER BY federated.countries.country;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 10000 Using temporary; Using filesort
1 SIMPLE countries eq_ref PRIMARY PRIMARY 4 federated.t1.country_id 1
SELECT federated.t1.*, federated.countries.country
FROM federated.t1 LEFT JOIN federated.countries
ON federated.t1.country_id = federated.countries.id
...
...
@@ -953,6 +989,13 @@ id country_id name other country
1 1 Kumar 11111 India
3 3 Marizio 33333 Italy
5 5 Sanja 33333 Ukraine
EXPLAIN SELECT federated.t1.*, federated.countries.country
FROM federated.t1 RIGHT JOIN federated.countries
ON federated.t1.country_id = federated.countries.id
ORDER BY federated.t1.country_id;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE countries ALL NULL NULL NULL NULL 5 Using temporary; Using filesort
1 SIMPLE t1 ref country_id country_id 4 federated.countries.id 120
SELECT federated.t1.*, federated.countries.country
FROM federated.t1 RIGHT JOIN federated.countries
ON federated.t1.country_id = federated.countries.id
...
...
mysql-test/t/federated.test
View file @
d3d727e3
...
...
@@ -862,16 +862,32 @@ INSERT INTO federated.t1 (name, country_id, other) VALUES ('Monty', 4, 33333);
INSERT
INTO
federated
.
t1
(
name
,
country_id
,
other
)
VALUES
(
'Sanja'
,
5
,
33333
);
#inner join
EXPLAIN
SELECT
federated
.
t1
.
name
AS
name
,
federated
.
t1
.
country_id
AS
country_id
,
federated
.
t1
.
other
AS
other
,
federated
.
countries
.
country
AS
country
FROM
federated
.
t1
,
federated
.
countries
WHERE
federated
.
t1
.
country_id
=
federated
.
countries
.
id
;
SELECT
federated
.
t1
.
name
AS
name
,
federated
.
t1
.
country_id
AS
country_id
,
federated
.
t1
.
other
AS
other
,
federated
.
countries
.
country
AS
country
FROM
federated
.
t1
,
federated
.
countries
WHERE
federated
.
t1
.
country_id
=
federated
.
countries
.
id
;
EXPLAIN
SELECT
federated
.
t1
.
name
AS
name
,
federated
.
t1
.
country_id
AS
country_id
,
federated
.
t1
.
other
AS
other
,
federated
.
countries
.
country
AS
country
FROM
federated
.
t1
INNER
JOIN
federated
.
countries
ON
federated
.
t1
.
country_id
=
federated
.
countries
.
id
;
SELECT
federated
.
t1
.
name
AS
name
,
federated
.
t1
.
country_id
AS
country_id
,
federated
.
t1
.
other
AS
other
,
federated
.
countries
.
country
AS
country
FROM
federated
.
t1
INNER
JOIN
federated
.
countries
ON
federated
.
t1
.
country_id
=
federated
.
countries
.
id
;
EXPLAIN
SELECT
federated
.
t1
.
name
AS
name
,
federated
.
t1
.
country_id
AS
country_id
,
federated
.
t1
.
other
AS
other
,
federated
.
countries
.
country
AS
country
FROM
federated
.
t1
INNER
JOIN
federated
.
countries
ON
federated
.
t1
.
country_id
=
federated
.
countries
.
id
WHERE
federated
.
t1
.
name
=
'Monty'
;
SELECT
federated
.
t1
.
name
AS
name
,
federated
.
t1
.
country_id
AS
country_id
,
federated
.
t1
.
other
AS
other
,
federated
.
countries
.
country
AS
country
FROM
federated
.
t1
INNER
JOIN
federated
.
countries
ON
...
...
@@ -879,17 +895,32 @@ federated.t1.country_id = federated.countries.id
WHERE
federated
.
t1
.
name
=
'Monty'
;
#left join
EXPLAIN
SELECT
federated
.
t1
.*
,
federated
.
countries
.
country
FROM
federated
.
t1
LEFT
JOIN
federated
.
countries
ON
federated
.
t1
.
country_id
=
federated
.
countries
.
id
ORDER
BY
federated
.
countries
.
id
;
SELECT
federated
.
t1
.*
,
federated
.
countries
.
country
FROM
federated
.
t1
LEFT
JOIN
federated
.
countries
ON
federated
.
t1
.
country_id
=
federated
.
countries
.
id
ORDER
BY
federated
.
countries
.
id
;
EXPLAIN
SELECT
federated
.
t1
.*
,
federated
.
countries
.
country
FROM
federated
.
t1
LEFT
JOIN
federated
.
countries
ON
federated
.
t1
.
country_id
=
federated
.
countries
.
id
ORDER
BY
federated
.
countries
.
country
;
SELECT
federated
.
t1
.*
,
federated
.
countries
.
country
FROM
federated
.
t1
LEFT
JOIN
federated
.
countries
ON
federated
.
t1
.
country_id
=
federated
.
countries
.
id
ORDER
BY
federated
.
countries
.
country
;
#right join
EXPLAIN
SELECT
federated
.
t1
.*
,
federated
.
countries
.
country
FROM
federated
.
t1
RIGHT
JOIN
federated
.
countries
ON
federated
.
t1
.
country_id
=
federated
.
countries
.
id
ORDER
BY
federated
.
t1
.
country_id
;
SELECT
federated
.
t1
.*
,
federated
.
countries
.
country
FROM
federated
.
t1
RIGHT
JOIN
federated
.
countries
ON
federated
.
t1
.
country_id
=
federated
.
countries
.
id
...
...
sql/ha_federated.cc
View file @
d3d727e3
...
...
@@ -1526,7 +1526,11 @@ int ha_federated::index_read_idx(byte *buf, uint index, const byte *key,
table
->
status
=
STATUS_NOT_FOUND
;
DBUG_RETURN
(
mysql_errno
(
mysql
));
}
/* very important - joins will not work without this! */
/*
This basically says that the record in table->record[0] is legal, and that it is
ok to use this record, for whatever reason, such as with a join (without it, joins
will not work)
*/
table
->
status
=
0
;
DBUG_RETURN
(
rnd_next
(
buf
));
...
...
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