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
b7f016db
Commit
b7f016db
authored
Oct 08, 2006
by
svoj@may.pils.ru
Browse files
Options
Browse Files
Download
Plain Diff
Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1
into may.pils.ru:/home/svoj/devel/bk/mysql-4.1-engines
parents
4f553f1d
09b2a2a0
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
25 additions
and
6 deletions
+25
-6
mysql-test/r/merge.result
mysql-test/r/merge.result
+4
-4
sql/ha_myisammrg.cc
sql/ha_myisammrg.cc
+14
-1
sql/share/english/errmsg.txt
sql/share/english/errmsg.txt
+1
-1
sql/sql_update.cc
sql/sql_update.cc
+6
-0
No files found.
mysql-test/r/merge.result
View file @
b7f016db
...
...
@@ -178,9 +178,9 @@ t3 CREATE TABLE `t3` (
) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 UNION=(`t1`,`t2`)
create table t4 (a int not null, b char(10), key(a)) engine=MERGE UNION=(t1,t2);
select * from t4;
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
s
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
alter table t4 add column c int;
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
s
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
create database mysqltest;
create table mysqltest.t6 (a int not null primary key auto_increment, message char(20));
create table t5 (a int not null, b char(20), key(a)) engine=MERGE UNION=(test.t1,mysqltest.t6);
...
...
@@ -775,9 +775,9 @@ DROP TABLE t1, t2;
CREATE TABLE t1(a INT) ENGINE=MEMORY;
CREATE TABLE t2(a INT) ENGINE=MERGE UNION=(t1);
SELECT * FROM t2;
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
s
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
DROP TABLE t1, t2;
CREATE TABLE t2(a INT) ENGINE=MERGE UNION=(t3);
SELECT * FROM t2;
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
s
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
DROP TABLE t2;
sql/ha_myisammrg.cc
View file @
b7f016db
...
...
@@ -249,9 +249,22 @@ void ha_myisammrg::info(uint flag)
if
(
flag
&
HA_STATUS_CONST
)
{
if
(
table
->
key_parts
&&
info
.
rec_per_key
)
{
#ifdef HAVE_purify
/*
valgrind may be unhappy about it, because optimizer may access values
between file->keys and table->key_parts, that will be uninitialized.
It's safe though, because even if opimizer will decide to use a key
with such a number, it'll be an error later anyway.
*/
bzero
((
char
*
)
table
->
key_info
[
0
].
rec_per_key
,
sizeof
(
table
->
key_info
[
0
].
rec_per_key
)
*
table
->
key_parts
);
#endif
memcpy
((
char
*
)
table
->
key_info
[
0
].
rec_per_key
,
(
char
*
)
info
.
rec_per_key
,
sizeof
(
table
->
key_info
[
0
].
rec_per_key
)
*
table
->
key_parts
);
sizeof
(
table
->
key_info
[
0
].
rec_per_key
)
*
min
(
file
->
keys
,
table
->
key_parts
));
}
}
}
...
...
sql/share/english/errmsg.txt
View file @
b7f016db
...
...
@@ -184,7 +184,7 @@ character-set=latin1
"INSERT DELAYED can't be used with table '%-.64s' because it is locked with LOCK TABLES",
"Incorrect column name '%-.100s'",
"The used storage engine can't index column '%-.64s'",
"Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
s
",
"Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist",
"Can't write, because of unique constraint, to table '%-.64s'",
"BLOB/TEXT column '%-.64s' used in key specification without a key length",
"All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, use UNIQUE instead",
...
...
sql/sql_update.cc
View file @
b7f016db
...
...
@@ -901,6 +901,8 @@ multi_update::initialize_tables(JOIN *join)
List
<
Item
>
temp_fields
=
*
fields_for_table
[
cnt
];
ORDER
group
;
if
(
ignore
)
table
->
file
->
extra
(
HA_EXTRA_IGNORE_DUP_KEY
);
if
(
table
==
main_table
)
// First table in join
{
if
(
safe_update_on_fly
(
join
->
join_tab
,
&
temp_fields
))
...
...
@@ -1007,7 +1009,11 @@ multi_update::~multi_update()
{
TABLE_LIST
*
table
;
for
(
table
=
update_tables
;
table
;
table
=
table
->
next
)
{
table
->
table
->
no_keyread
=
table
->
table
->
no_cache
=
0
;
if
(
ignore
)
table
->
table
->
file
->
extra
(
HA_EXTRA_NO_IGNORE_DUP_KEY
);
}
if
(
tmp_tables
)
{
...
...
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