Commit 0647d280 authored by pem@mysql.com's avatar pem@mysql.com

Merge mysql.com:/usr/local/bk/mysql-5.0

into  mysql.com:/usr/home/pem/bug13941/mysql-5.0
parents 1d5aeb51 b8e755ae
......@@ -1049,6 +1049,15 @@ create table t1 (a varchar(255)) default charset=utf8;
select * from t1 where find_in_set('-1', a);
a
drop table t1;
create table t1 (a int);
insert into t1 values (48),(49),(50);
set names utf8;
select distinct char(a) from t1;
char(a)
0
1
2
drop table t1;
CREATE TABLE t1(id varchar(20) NOT NULL) DEFAULT CHARSET=utf8;
INSERT INTO t1 VALUES ('xxx'), ('aa'), ('yyy'), ('aa');
SELECT id FROM t1;
......
......@@ -557,3 +557,10 @@ DROP TABLE tyt2;
DROP TABLE urkunde;
SHOW TABLES FROM non_existing_database;
ERROR 42000: Unknown database 'non_existing_database'
flush tables;
SHOW TABLE STATUS like 't1';
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
t1 NULL NULL NULL NULL # # # # NULL NULL NULL NULL NULL NULL NULL NULL Incorrect information in file: './test/t1.frm'
show create table t1;
ERROR HY000: Incorrect information in file: './test/t1.frm'
drop table t1;
......@@ -859,6 +859,15 @@ create table t1 (a varchar(255)) default charset=utf8;
select * from t1 where find_in_set('-1', a);
drop table t1;
#
# Bug#13233: select distinct char(column) fails with utf8
#
create table t1 (a int);
insert into t1 values (48),(49),(50);
set names utf8;
select distinct char(a) from t1;
drop table t1;
# End of 4.1 tests
#
......
......@@ -386,6 +386,19 @@ create table t1 (
SHOW CREATE TABLE t1;
DROP TABLE t1;
# Test for BUG#93: 4.1 protocl crash on corupted frm and SHOW TABLE STATUS
flush tables;
# Create a junk frm file on disk
system echo "this is a junk file for test" >> var/master-data/test/t1.frm ;
--replace_column 6 # 7 # 8 # 9 #
SHOW TABLE STATUS like 't1';
--error 1033
show create table t1;
drop table t1;
# End of 4.1 tests
#
# BUG 12183 - SHOW OPEN TABLES behavior doesn't match grammar
......
......@@ -98,6 +98,8 @@ public:
StartTcTimer = 2509,
StopTcTimer = 2510,
StartPeriodicTcTimer = 2511,
TcStartDumpIndexOpCount = 2512,
TcDumpIndexOpCount = 2513,
CmvmiDumpConnections = 2600,
CmvmiDumpLongSignalMemory = 2601,
CmvmiSetRestartOnErrorInsert = 2602,
......
......@@ -4660,6 +4660,7 @@ void Dbtc::copyApi(Signal* signal)
regTmpApiPtr->commitAckMarker = RNIL;
regTmpApiPtr->firstTcConnect = RNIL;
regTmpApiPtr->lastTcConnect = RNIL;
releaseAllSeizedIndexOperations(regTmpApiPtr);
}//Dbtc::copyApi()
void Dbtc::unlinkApiConnect(Signal* signal)
......@@ -10241,7 +10242,7 @@ void Dbtc::releaseAbortResources(Signal* signal)
// apiConnectptr.p->apiConnectstate = CS_CONNECTED;
apiConnectptr.p->apiConnectstate = CS_ABORTING;
apiConnectptr.p->abortState = AS_IDLE;
releaseAllSeizedIndexOperations(apiConnectptr.p);
if(apiConnectptr.p->m_exec_flag || apiConnectptr.p->apiFailState == ZTRUE){
jam();
bool ok = false;
......@@ -10814,6 +10815,33 @@ Dbtc::execDUMP_STATE_ORD(Signal* signal)
signal->theData[0] = TcContinueB::ZTRANS_EVENT_REP;
sendSignalWithDelay(cownref, GSN_CONTINUEB, signal, 5000, 1);
}
if (dumpState->args[0] == DumpStateOrd::TcStartDumpIndexOpCount)
{
static int frequency = 1;
if (signal->getLength() > 1)
frequency = signal->theData[1];
else
if (refToBlock(signal->getSendersBlockRef()) != DBTC)
frequency = 1;
if (frequency)
{
dumpState->args[0] = DumpStateOrd::TcDumpIndexOpCount;
execDUMP_STATE_ORD(signal);
dumpState->args[0] = DumpStateOrd::TcStartDumpIndexOpCount;
Uint32 delay = 1000 * (frequency > 25 ? 25 : frequency);
sendSignalWithDelay(cownref, GSN_DUMP_STATE_ORD, signal, delay, 1);
}
}
if (dumpState->args[0] == DumpStateOrd::TcDumpIndexOpCount)
{
infoEvent("IndexOpCount: pool: %d free: %d",
c_theIndexOperationPool.getSize(),
c_theIndexOperationPool.getNoOfFree());
}
}//Dbtc::execDUMP_STATE_ORD()
void Dbtc::execSET_VAR_REQ(Signal* signal)
......
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