Commit 36a034d3 authored by joerg@mysql.com's avatar joerg@mysql.com

Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-4.1

into mysql.com:/M41/mysql-4.1
parents 2bdabb1e d9f8b501
...@@ -1759,8 +1759,8 @@ P,p ...@@ -1759,8 +1759,8 @@ P,p
Ƥ,ƥ Ƥ,ƥ
Q,q Q,q
ĸ ĸ
R,RR,Rr,r,rr,Ŕ,ŕ,Ŗ,ŗ,Ř,ř R,r,Ŕ,ŕ,Ŗ,ŗ,Ř,ř
rR RR,Rr,rR,rr
Ʀ Ʀ
S,s,Ś,ś,Ŝ,ŝ,Ş,ş,Š,š,ſ S,s,Ś,ś,Ŝ,ŝ,Ş,ş,Š,š,ſ
SS,Ss,sS,ss,ß SS,Ss,sS,ss,ß
......
...@@ -24,6 +24,20 @@ n ...@@ -24,6 +24,20 @@ n
drop database if exists mysqltest; drop database if exists mysqltest;
affected rows: 1 affected rows: 1
create database mysqltest; create database mysqltest;
use mysqltest;
drop table table1, table2, table3, table4, table5, table6,
table7, table8, table9, table10, table11, table12, table13,
table14, table15, table16, table17, table18, table19, table20,
table21, table22, table23, table24, table25, table26, table27,
table28;
ERROR 42S02: Unknown table 'table1,table2,table3,table4,table5,table6,table7,table8,table9,table10,table11,table12,table13,table14,table15,table16,table17,table18,table19,table20,table21,table22,table23,table'
drop table table1, table2, table3, table4, table5, table6,
table7, table8, table9, table10, table11, table12, table13,
table14, table15, table16, table17, table18, table19, table20,
table21, table22, table23, table24, table25, table26, table27,
table28, table29, table30;
ERROR 42S02: Unknown table 'table1,table2,table3,table4,table5,table6,table7,table8,table9,table10,table11,table12,table13,table14,table15,table16,table17,table18,table19,table20,table21,table22,table23,table'
use test;
drop database mysqltest; drop database mysqltest;
flush tables with read lock; flush tables with read lock;
create database mysqltest; create database mysqltest;
......
...@@ -2,6 +2,9 @@ DROP TABLE IF EXISTS t1; ...@@ -2,6 +2,9 @@ DROP TABLE IF EXISTS t1;
CREATE TABLE t1 ( CREATE TABLE t1 (
auto int(5) unsigned NOT NULL auto_increment, auto int(5) unsigned NOT NULL auto_increment,
string char(10) default "hello", string char(10) default "hello",
vstring varchar(10) default "hello",
bin binary(7),
vbin varbinary(7),
tiny tinyint(4) DEFAULT '0' NOT NULL , tiny tinyint(4) DEFAULT '0' NOT NULL ,
short smallint(6) DEFAULT '1' NOT NULL , short smallint(6) DEFAULT '1' NOT NULL ,
medium mediumint(8) DEFAULT '0' NOT NULL, medium mediumint(8) DEFAULT '0' NOT NULL,
...@@ -14,12 +17,13 @@ ushort smallint(5) unsigned zerofill DEFAULT '00000' NOT NULL, ...@@ -14,12 +17,13 @@ ushort smallint(5) unsigned zerofill DEFAULT '00000' NOT NULL,
umedium mediumint(8) unsigned DEFAULT '0' NOT NULL, umedium mediumint(8) unsigned DEFAULT '0' NOT NULL,
ulong int(11) unsigned DEFAULT '0' NOT NULL, ulong int(11) unsigned DEFAULT '0' NOT NULL,
ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL, ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL,
time_stamp timestamp, options enum('one','two','tree') not null,
flags set('one','two','tree') not null,
date_field date, date_field date,
year_field year,
time_field time, time_field time,
date_time datetime, date_time datetime,
options enum('one','two','tree') not null, time_stamp timestamp not null default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
flags set('one','two','tree') not null,
PRIMARY KEY (auto), PRIMARY KEY (auto),
KEY (utiny), KEY (utiny),
KEY (tiny), KEY (tiny),
...@@ -33,4 +37,36 @@ KEY (ulong), ...@@ -33,4 +37,36 @@ KEY (ulong),
KEY (ulonglong,ulong), KEY (ulonglong,ulong),
KEY (options,flags) KEY (options,flags)
); );
set @now = now();
insert into t1
(string,vstring,bin,vbin,tiny,short,medium,long_int,longlong,
real_float,real_double, utiny, ushort, umedium,ulong,ulonglong,
options,flags,date_field,year_field,time_field,date_time)
values
("aaaa","aaaa",0xAAAA,0xAAAA,-1,-1,-1,-1,-1,1.1,1.1,1,1,1,1,1,
'one','one', '1901-01-01','1901','01:01:01','1901-01-01 01:01:01');
select auto,string,vstring,bin,vbin,tiny,short,medium,long_int,longlong,
real_float,real_double, utiny, ushort, umedium,ulong,ulonglong,
options,flags,date_field,year_field,time_field,date_time
from t1;
auto string vstring bin vbin tiny short medium long_int longlong real_float real_double utiny ushort umedium ulong ulonglong options flags date_field year_field time_field date_time
1 aaaa aaaa -1 -1 -1 -1 -1 1.1 1.1000 1 00001 1 1 1 one one 1901-01-01 1901 01:01:01 1901-01-01 01:01:01
select time_stamp>@now from t1;
time_stamp>@now
1
set @now = now();
update t1 set string="bbbb",vstring="bbbb",bin=0xBBBB,vbin=0xBBBB,
tiny=-2,short=-2,medium=-2,long_int=-2,longlong=-2,real_float=2.2,
real_double=2.2,utiny=2,ushort=2,umedium=2,ulong=2,ulonglong=2,
options='one',flags='one', date_field='1902-02-02',year_field='1902',
time_field='02:02:02',date_time='1902-02-02 02:02:02' where auto=1;
select auto,string,vstring,bin,vbin,tiny,short,medium,long_int,longlong,
real_float,real_double, utiny, ushort, umedium,ulong,ulonglong,
options,flags,date_field,year_field,time_field,date_time
from t1;
auto string vstring bin vbin tiny short medium long_int longlong real_float real_double utiny ushort umedium ulong ulonglong options flags date_field year_field time_field date_time
1 bbbb bbbb -2 -2 -2 -2 -2 2.2 2.2000 2 00002 2 2 2 one one 1902-02-02 1902 02:02:02 1902-02-02 02:02:02
select time_stamp>@now from t1;
time_stamp>@now
1
drop table t1; drop table t1;
...@@ -30,6 +30,28 @@ select * from mysqltest.mysqltest; ...@@ -30,6 +30,28 @@ select * from mysqltest.mysqltest;
drop database if exists mysqltest; drop database if exists mysqltest;
--disable_info --disable_info
create database mysqltest; create database mysqltest;
#
# drop many tables - bug#3891
# we'll do it in mysqltest db, to be able to use longer table names
# (tableN instead on tN)
#
use mysqltest;
--error 1051
drop table table1, table2, table3, table4, table5, table6,
table7, table8, table9, table10, table11, table12, table13,
table14, table15, table16, table17, table18, table19, table20,
table21, table22, table23, table24, table25, table26, table27,
table28;
--error 1051
drop table table1, table2, table3, table4, table5, table6,
table7, table8, table9, table10, table11, table12, table13,
table14, table15, table16, table17, table18, table19, table20,
table21, table22, table23, table24, table25, table26, table27,
table28, table29, table30;
use test;
drop database mysqltest; drop database mysqltest;
# test drop/create database and FLUSH TABLES WITH READ LOCK # test drop/create database and FLUSH TABLES WITH READ LOCK
......
...@@ -7,10 +7,12 @@ DROP TABLE IF EXISTS t1; ...@@ -7,10 +7,12 @@ DROP TABLE IF EXISTS t1;
# #
# Test creation of different column types in NDB # Test creation of different column types in NDB
# #
CREATE TABLE t1 ( CREATE TABLE t1 (
auto int(5) unsigned NOT NULL auto_increment, auto int(5) unsigned NOT NULL auto_increment,
string char(10) default "hello", string char(10) default "hello",
vstring varchar(10) default "hello",
bin binary(7),
vbin varbinary(7),
tiny tinyint(4) DEFAULT '0' NOT NULL , tiny tinyint(4) DEFAULT '0' NOT NULL ,
short smallint(6) DEFAULT '1' NOT NULL , short smallint(6) DEFAULT '1' NOT NULL ,
medium mediumint(8) DEFAULT '0' NOT NULL, medium mediumint(8) DEFAULT '0' NOT NULL,
...@@ -23,12 +25,13 @@ CREATE TABLE t1 ( ...@@ -23,12 +25,13 @@ CREATE TABLE t1 (
umedium mediumint(8) unsigned DEFAULT '0' NOT NULL, umedium mediumint(8) unsigned DEFAULT '0' NOT NULL,
ulong int(11) unsigned DEFAULT '0' NOT NULL, ulong int(11) unsigned DEFAULT '0' NOT NULL,
ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL, ulonglong bigint(13) unsigned DEFAULT '0' NOT NULL,
time_stamp timestamp, options enum('one','two','tree') not null,
flags set('one','two','tree') not null,
date_field date, date_field date,
year_field year,
time_field time, time_field time,
date_time datetime, date_time datetime,
options enum('one','two','tree') not null, time_stamp timestamp not null default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
flags set('one','two','tree') not null,
PRIMARY KEY (auto), PRIMARY KEY (auto),
KEY (utiny), KEY (utiny),
KEY (tiny), KEY (tiny),
...@@ -43,5 +46,34 @@ CREATE TABLE t1 ( ...@@ -43,5 +46,34 @@ CREATE TABLE t1 (
KEY (options,flags) KEY (options,flags)
); );
set @now = now();
sleep 1;
insert into t1
(string,vstring,bin,vbin,tiny,short,medium,long_int,longlong,
real_float,real_double, utiny, ushort, umedium,ulong,ulonglong,
options,flags,date_field,year_field,time_field,date_time)
values
("aaaa","aaaa",0xAAAA,0xAAAA,-1,-1,-1,-1,-1,1.1,1.1,1,1,1,1,1,
'one','one', '1901-01-01','1901','01:01:01','1901-01-01 01:01:01');
select auto,string,vstring,bin,vbin,tiny,short,medium,long_int,longlong,
real_float,real_double, utiny, ushort, umedium,ulong,ulonglong,
options,flags,date_field,year_field,time_field,date_time
from t1;
select time_stamp>@now from t1;
set @now = now();
sleep 1;
update t1 set string="bbbb",vstring="bbbb",bin=0xBBBB,vbin=0xBBBB,
tiny=-2,short=-2,medium=-2,long_int=-2,longlong=-2,real_float=2.2,
real_double=2.2,utiny=2,ushort=2,umedium=2,ulong=2,ulonglong=2,
options='one',flags='one', date_field='1902-02-02',year_field='1902',
time_field='02:02:02',date_time='1902-02-02 02:02:02' where auto=1;
select auto,string,vstring,bin,vbin,tiny,short,medium,long_int,longlong,
real_float,real_double, utiny, ushort, umedium,ulong,ulonglong,
options,flags,date_field,year_field,time_field,date_time
from t1;
select time_stamp>@now from t1;
drop table t1; drop table t1;
...@@ -1953,7 +1953,11 @@ int ha_ndbcluster::update_row(const byte *old_data, byte *new_data) ...@@ -1953,7 +1953,11 @@ int ha_ndbcluster::update_row(const byte *old_data, byte *new_data)
statistic_increment(ha_update_count,&LOCK_status); statistic_increment(ha_update_count,&LOCK_status);
if (table->timestamp_field_type & TIMESTAMP_AUTO_SET_ON_UPDATE) if (table->timestamp_field_type & TIMESTAMP_AUTO_SET_ON_UPDATE)
{
table->timestamp_field->set_time(); table->timestamp_field->set_time();
// Set query_id so that field is really updated
table->timestamp_field->query_id= thd->query_id;
}
/* Check for update of primary key for special handling */ /* Check for update of primary key for special handling */
if ((table->primary_key != MAX_KEY) && if ((table->primary_key != MAX_KEY) &&
......
...@@ -67,7 +67,7 @@ character-set=latin1 ...@@ -67,7 +67,7 @@ character-set=latin1
"Column '%-.64s' cannot be null", "Column '%-.64s' cannot be null",
"Unknown database '%-.64s'", "Unknown database '%-.64s'",
"Table '%-.64s' already exists", "Table '%-.64s' already exists",
"Unknown table '%-.64s'", "Unknown table '%-.180s'",
"Column '%-.64s' in %-.64s is ambiguous", "Column '%-.64s' in %-.64s is ambiguous",
"Server shutdown in progress", "Server shutdown in progress",
"Unknown column '%-.64s' in '%-.64s'", "Unknown column '%-.64s' in '%-.64s'",
......
...@@ -72,7 +72,7 @@ character-set=koi8r ...@@ -72,7 +72,7 @@ character-set=koi8r
" '%-.64s' NULL", " '%-.64s' NULL",
" '%-.64s'", " '%-.64s'",
" '%-.64s' ", " '%-.64s' ",
" '%-.64s'", " '%-.175s'",
" '%-.64s' %-.64s ", " '%-.64s' %-.64s ",
" ", " ",
" '%-.64s' '%-.64s'", " '%-.64s' '%-.64s'",
......
...@@ -73,7 +73,7 @@ character-set=koi8u ...@@ -73,7 +73,7 @@ character-set=koi8u
" '%-.64s' ", " '%-.64s' ",
"צ '%-.64s'", "צ '%-.64s'",
" '%-.64s' դ", " '%-.64s' դ",
"צ '%-.64s'", "צ '%-.180s'",
" '%-.64s' %-.64s ", " '%-.64s' %-.64s ",
"դ ", "դ ",
"צ '%-.64s' '%-.64s'", "צ '%-.64s' '%-.64s'",
......
...@@ -260,7 +260,8 @@ int mysql_rm_table_part2(THD *thd, TABLE_LIST *tables, bool if_exists, ...@@ -260,7 +260,8 @@ int mysql_rm_table_part2(THD *thd, TABLE_LIST *tables, bool if_exists,
if (wrong_tables.length()) if (wrong_tables.length())
{ {
if (!foreign_key_error) if (!foreign_key_error)
my_error(ER_BAD_TABLE_ERROR,MYF(0), wrong_tables.c_ptr()); my_printf_error(ER_BAD_TABLE_ERROR, ER(ER_BAD_TABLE_ERROR), MYF(0),
wrong_tables.c_ptr());
else else
my_error(ER_ROW_IS_REFERENCED, MYF(0)); my_error(ER_ROW_IS_REFERENCED, MYF(0));
error= 1; error= 1;
......
...@@ -6651,8 +6651,7 @@ static const char slovak[]= ...@@ -6651,8 +6651,7 @@ static const char slovak[]=
static const char spanish2[]= /* Also good for Asturian and Galician */ static const char spanish2[]= /* Also good for Asturian and Galician */
"&C < ch <<< Ch <<< CH" "&C < ch <<< Ch <<< CH"
"&L < ll <<< Ll <<< LL" "&L < ll <<< Ll <<< LL"
"&N < \\u00F1 <<< \\u00D1" "&N < \\u00F1 <<< \\u00D1";
"&R << rr <<< Rr <<< RR";
static const char roman[]= /* i.e. Classical Latin */ static const char roman[]= /* i.e. Classical Latin */
"& I << j <<< J " "& I << j <<< J "
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment