mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge chilla.local:/home/mydev/mysql-5.0-ateam
into chilla.local:/home/mydev/mysql-5.0-axmrg
This commit is contained in:
@ -5009,3 +5009,24 @@ select * from bug15205;
|
|||||||
val
|
val
|
||||||
drop table bug15205;
|
drop table bug15205;
|
||||||
drop table bug15205_2;
|
drop table bug15205_2;
|
||||||
|
set names latin1;
|
||||||
|
create table t1 (
|
||||||
|
c varchar(1),
|
||||||
|
name varchar(64)
|
||||||
|
) character set latin1 engine=csv;
|
||||||
|
insert into t1 values (0xC0,'LATIN CAPITAL LETTER A WITH GRAVE');
|
||||||
|
insert into t1 values (0xE0,'LATIN SMALL LETTER A WITH GRAVE');
|
||||||
|
insert into t1 values (0xEE,'LATIN SMALL LETTER I WITH CIRCUMFLEX');
|
||||||
|
insert into t1 values (0xFE,'LATIN SMALL LETTER THORN');
|
||||||
|
insert into t1 values (0xF7,'DIVISION SIGN');
|
||||||
|
insert into t1 values (0xFF,'LATIN SMALL LETTER Y WITH DIAERESIS');
|
||||||
|
select hex(c), c, name from t1 order by 1;
|
||||||
|
hex(c) c name
|
||||||
|
C0 <09> LATIN CAPITAL LETTER A WITH GRAVE
|
||||||
|
E0 <09> LATIN SMALL LETTER A WITH GRAVE
|
||||||
|
EE <09> LATIN SMALL LETTER I WITH CIRCUMFLEX
|
||||||
|
F7 <09> DIVISION SIGN
|
||||||
|
FE <09> LATIN SMALL LETTER THORN
|
||||||
|
FF <09> LATIN SMALL LETTER Y WITH DIAERESIS
|
||||||
|
drop table t1;
|
||||||
|
End of 5.0 tests
|
||||||
|
@ -849,8 +849,8 @@ SELECT * FROM tm1;
|
|||||||
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
||||||
CHECK TABLE tm1;
|
CHECK TABLE tm1;
|
||||||
Table Op Msg_type Msg_text
|
Table Op Msg_type Msg_text
|
||||||
test.tm1 check Error Table './test/t1' is differently defined or of non-MyISAM type or doesn't exist
|
test.tm1 check Error Table 'test.t1' is differently defined or of non-MyISAM type or doesn't exist
|
||||||
test.tm1 check Error Table './test/t2' is differently defined or of non-MyISAM type or doesn't exist
|
test.tm1 check Error Table 'test.t2' is differently defined or of non-MyISAM type or doesn't exist
|
||||||
test.tm1 check Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
test.tm1 check Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
||||||
test.tm1 check error Corrupt
|
test.tm1 check error Corrupt
|
||||||
CREATE TABLE t1(a INT);
|
CREATE TABLE t1(a INT);
|
||||||
@ -858,7 +858,7 @@ SELECT * FROM tm1;
|
|||||||
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
||||||
CHECK TABLE tm1;
|
CHECK TABLE tm1;
|
||||||
Table Op Msg_type Msg_text
|
Table Op Msg_type Msg_text
|
||||||
test.tm1 check Error Table './test/t2' is differently defined or of non-MyISAM type or doesn't exist
|
test.tm1 check Error Table 'test.t2' is differently defined or of non-MyISAM type or doesn't exist
|
||||||
test.tm1 check Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
test.tm1 check Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
||||||
test.tm1 check error Corrupt
|
test.tm1 check error Corrupt
|
||||||
CREATE TABLE t2(a BLOB);
|
CREATE TABLE t2(a BLOB);
|
||||||
@ -866,7 +866,7 @@ SELECT * FROM tm1;
|
|||||||
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
ERROR HY000: Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
||||||
CHECK TABLE tm1;
|
CHECK TABLE tm1;
|
||||||
Table Op Msg_type Msg_text
|
Table Op Msg_type Msg_text
|
||||||
test.tm1 check Error Table './test/t2' is differently defined or of non-MyISAM type or doesn't exist
|
test.tm1 check Error Table 'test.t2' is differently defined or of non-MyISAM type or doesn't exist
|
||||||
test.tm1 check Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
test.tm1 check Error Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist
|
||||||
test.tm1 check error Corrupt
|
test.tm1 check error Corrupt
|
||||||
ALTER TABLE t2 MODIFY a INT;
|
ALTER TABLE t2 MODIFY a INT;
|
||||||
|
@ -1410,3 +1410,21 @@ select * from bug15205;
|
|||||||
drop table bug15205;
|
drop table bug15205;
|
||||||
drop table bug15205_2;
|
drop table bug15205_2;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug#28862 "Extended Latin1 characters get lost in CVS engine"
|
||||||
|
#
|
||||||
|
set names latin1;
|
||||||
|
create table t1 (
|
||||||
|
c varchar(1),
|
||||||
|
name varchar(64)
|
||||||
|
) character set latin1 engine=csv;
|
||||||
|
insert into t1 values (0xC0,'LATIN CAPITAL LETTER A WITH GRAVE');
|
||||||
|
insert into t1 values (0xE0,'LATIN SMALL LETTER A WITH GRAVE');
|
||||||
|
insert into t1 values (0xEE,'LATIN SMALL LETTER I WITH CIRCUMFLEX');
|
||||||
|
insert into t1 values (0xFE,'LATIN SMALL LETTER THORN');
|
||||||
|
insert into t1 values (0xF7,'DIVISION SIGN');
|
||||||
|
insert into t1 values (0xFF,'LATIN SMALL LETTER Y WITH DIAERESIS');
|
||||||
|
select hex(c), c, name from t1 order by 1;
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
--echo End of 5.0 tests
|
||||||
|
@ -301,7 +301,7 @@ ha_tina::ha_tina(TABLE *table_arg)
|
|||||||
chain_size(DEFAULT_CHAIN_LENGTH), records_is_known(0)
|
chain_size(DEFAULT_CHAIN_LENGTH), records_is_known(0)
|
||||||
{
|
{
|
||||||
/* Set our original buffers from pre-allocated memory */
|
/* Set our original buffers from pre-allocated memory */
|
||||||
buffer.set(byte_buffer, IO_SIZE, system_charset_info);
|
buffer.set(byte_buffer, IO_SIZE, &my_charset_bin);
|
||||||
chain= chain_buffer;
|
chain= chain_buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -447,7 +447,7 @@ int ha_tina::find_current_row(byte *buf)
|
|||||||
else
|
else
|
||||||
buffer.append(*mapped_ptr);
|
buffer.append(*mapped_ptr);
|
||||||
}
|
}
|
||||||
(*field)->store(buffer.ptr(), buffer.length(), system_charset_info);
|
(*field)->store(buffer.ptr(), buffer.length(), buffer.charset());
|
||||||
}
|
}
|
||||||
next_position= (end_ptr - share->mapped_file)+1;
|
next_position= (end_ptr - share->mapped_file)+1;
|
||||||
/* Maybe use \N for null? */
|
/* Maybe use \N for null? */
|
||||||
|
@ -72,11 +72,22 @@ extern int check_definition(MI_KEYDEF *t1_keyinfo, MI_COLUMNDEF *t1_recinfo,
|
|||||||
uint t1_keys, uint t1_recs,
|
uint t1_keys, uint t1_recs,
|
||||||
MI_KEYDEF *t2_keyinfo, MI_COLUMNDEF *t2_recinfo,
|
MI_KEYDEF *t2_keyinfo, MI_COLUMNDEF *t2_recinfo,
|
||||||
uint t2_keys, uint t2_recs, bool strict);
|
uint t2_keys, uint t2_recs, bool strict);
|
||||||
|
static void split_file_name(const char *file_name,
|
||||||
|
LEX_STRING *db, LEX_STRING *name);
|
||||||
|
|
||||||
|
|
||||||
extern "C" void myrg_print_wrong_table(const char *table_name)
|
extern "C" void myrg_print_wrong_table(const char *table_name)
|
||||||
{
|
{
|
||||||
|
LEX_STRING db, name;
|
||||||
|
char buf[FN_REFLEN];
|
||||||
|
split_file_name(table_name, &db, &name);
|
||||||
|
memcpy(buf, db.str, db.length);
|
||||||
|
buf[db.length]= '.';
|
||||||
|
memcpy(buf + db.length + 1, name.str, name.length);
|
||||||
|
buf[db.length + name.length + 1]= 0;
|
||||||
push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_ERROR,
|
push_warning_printf(current_thd, MYSQL_ERROR::WARN_LEVEL_ERROR,
|
||||||
ER_ADMIN_WRONG_MRG_TABLE, ER(ER_ADMIN_WRONG_MRG_TABLE),
|
ER_ADMIN_WRONG_MRG_TABLE, ER(ER_ADMIN_WRONG_MRG_TABLE),
|
||||||
table_name);
|
buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user