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
a63c14e9
Commit
a63c14e9
authored
Nov 02, 2010
by
unknown
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug#57904 - Only one INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS was displayed
per table from Innodb
parent
4c28bc86
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
69 additions
and
1 deletion
+69
-1
mysql-test/suite/innodb/r/innodb_bug57904.result
mysql-test/suite/innodb/r/innodb_bug57904.result
+41
-0
mysql-test/suite/innodb/t/innodb_bug57904.test
mysql-test/suite/innodb/t/innodb_bug57904.test
+27
-0
storage/innobase/handler/ha_innodb.cc
storage/innobase/handler/ha_innodb.cc
+1
-1
No files found.
mysql-test/suite/innodb/r/innodb_bug57904.result
0 → 100755
View file @
a63c14e9
CREATE TABLE product (category INT NOT NULL, id INT NOT NULL,
price DECIMAL, PRIMARY KEY(category, id)) ENGINE=INNODB;
CREATE TABLE customer (id INT NOT NULL, PRIMARY KEY (id)) ENGINE=INNODB;
CREATE TABLE product_order (no INT NOT NULL AUTO_INCREMENT,
product_category INT NOT NULL,
product_id INT NOT NULL,
customer_id INT NOT NULL,
PRIMARY KEY(no),
INDEX (product_category, product_id),
FOREIGN KEY (product_category, product_id)
REFERENCES product(category, id) ON UPDATE CASCADE ON DELETE RESTRICT,
INDEX (customer_id),
FOREIGN KEY (customer_id)
REFERENCES customer(id)
) ENGINE=INNODB;
SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS;
CONSTRAINT_CATALOG def
CONSTRAINT_SCHEMA test
CONSTRAINT_NAME product_order_ibfk_1
UNIQUE_CONSTRAINT_CATALOG def
UNIQUE_CONSTRAINT_SCHEMA test
UNIQUE_CONSTRAINT_NAME PRIMARY
MATCH_OPTION NONE
UPDATE_RULE CASCADE
DELETE_RULE RESTRICT
TABLE_NAME product_order
REFERENCED_TABLE_NAME pro
CONSTRAINT_CATALOG def
CONSTRAINT_SCHEMA test
CONSTRAINT_NAME product_order_ibfk_2
UNIQUE_CONSTRAINT_CATALOG def
UNIQUE_CONSTRAINT_SCHEMA test
UNIQUE_CONSTRAINT_NAME PRIMARY
MATCH_OPTION NONE
UPDATE_RULE RESTRICT
DELETE_RULE RESTRICT
TABLE_NAME product_order
REFERENCED_TABLE_NAME cus
DROP TABLE product_order;
DROP TABLE product;
DROP TABLE customer;
mysql-test/suite/innodb/t/innodb_bug57904.test
0 → 100755
View file @
a63c14e9
#
# Bug #57904 Missing constraint from information schema REFERENTIAL_CONSTRAINTS table
#
--
source
include
/
have_innodb
.
inc
CREATE
TABLE
product
(
category
INT
NOT
NULL
,
id
INT
NOT
NULL
,
price
DECIMAL
,
PRIMARY
KEY
(
category
,
id
))
ENGINE
=
INNODB
;
CREATE
TABLE
customer
(
id
INT
NOT
NULL
,
PRIMARY
KEY
(
id
))
ENGINE
=
INNODB
;
CREATE
TABLE
product_order
(
no
INT
NOT
NULL
AUTO_INCREMENT
,
product_category
INT
NOT
NULL
,
product_id
INT
NOT
NULL
,
customer_id
INT
NOT
NULL
,
PRIMARY
KEY
(
no
),
INDEX
(
product_category
,
product_id
),
FOREIGN
KEY
(
product_category
,
product_id
)
REFERENCES
product
(
category
,
id
)
ON
UPDATE
CASCADE
ON
DELETE
RESTRICT
,
INDEX
(
customer_id
),
FOREIGN
KEY
(
customer_id
)
REFERENCES
customer
(
id
)
)
ENGINE
=
INNODB
;
query_vertical
SELECT
*
FROM
INFORMATION_SCHEMA
.
REFERENTIAL_CONSTRAINTS
;
DROP
TABLE
product_order
;
DROP
TABLE
product
;
DROP
TABLE
customer
;
storage/innobase/handler/ha_innodb.cc
View file @
a63c14e9
...
@@ -8482,7 +8482,7 @@ ha_innobase::get_foreign_key_list(
...
@@ -8482,7 +8482,7 @@ ha_innobase::get_foreign_key_list(
for
(
foreign
=
UT_LIST_GET_FIRST
(
prebuilt
->
table
->
foreign_list
);
for
(
foreign
=
UT_LIST_GET_FIRST
(
prebuilt
->
table
->
foreign_list
);
foreign
!=
NULL
;
foreign
!=
NULL
;
foreign
=
UT_LIST_GET_NEXT
(
referenced
_list
,
foreign
))
{
foreign
=
UT_LIST_GET_NEXT
(
foreign
_list
,
foreign
))
{
pf_key_info
=
get_foreign_key_info
(
thd
,
foreign
);
pf_key_info
=
get_foreign_key_info
(
thd
,
foreign
);
if
(
pf_key_info
)
{
if
(
pf_key_info
)
{
f_key_list
->
push_back
(
pf_key_info
);
f_key_list
->
push_back
(
pf_key_info
);
...
...
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