Commit eddba2ea authored by unknown's avatar unknown

Merge mysql.com:/usr/home/bar/mysql-4.1

into  mysql.com:/usr/home/bar/mysql-5.0.b12371


mysql-test/t/ctype_utf8.test:
  Auto merged
mysql-test/t/show_check.test:
  Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
mysql-test/r/ctype_utf8.result:
  After merge fix.
mysql-test/r/show_check.result:
  After merge fix.
sql/item_strfunc.h:
  After merge fix.
tests/mysql_client_test.c:
  After merge fix.
parents 08ed63ed c9978d8b
...@@ -1148,3 +1148,12 @@ set @a:=null; ...@@ -1148,3 +1148,12 @@ set @a:=null;
execute my_stmt using @a; execute my_stmt using @a;
a b a b
drop table if exists t1; drop table if exists 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;
...@@ -557,3 +557,10 @@ DROP TABLE tyt2; ...@@ -557,3 +557,10 @@ DROP TABLE tyt2;
DROP TABLE urkunde; DROP TABLE urkunde;
SHOW TABLES FROM non_existing_database; SHOW TABLES FROM non_existing_database;
ERROR 42000: Unknown database '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; ...@@ -859,6 +859,15 @@ create table t1 (a varchar(255)) default charset=utf8;
select * from t1 where find_in_set('-1', a); select * from t1 where find_in_set('-1', a);
drop table t1; 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 # End of 4.1 tests
# #
......
...@@ -386,6 +386,19 @@ create table t1 ( ...@@ -386,6 +386,19 @@ create table t1 (
SHOW CREATE TABLE t1; SHOW CREATE TABLE t1;
DROP 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 # End of 4.1 tests
# #
# BUG 12183 - SHOW OPEN TABLES behavior doesn't match grammar # BUG 12183 - SHOW OPEN TABLES behavior doesn't match grammar
......
...@@ -98,6 +98,8 @@ public: ...@@ -98,6 +98,8 @@ public:
StartTcTimer = 2509, StartTcTimer = 2509,
StopTcTimer = 2510, StopTcTimer = 2510,
StartPeriodicTcTimer = 2511, StartPeriodicTcTimer = 2511,
TcStartDumpIndexOpCount = 2512,
TcDumpIndexOpCount = 2513,
CmvmiDumpConnections = 2600, CmvmiDumpConnections = 2600,
CmvmiDumpLongSignalMemory = 2601, CmvmiDumpLongSignalMemory = 2601,
CmvmiSetRestartOnErrorInsert = 2602, CmvmiSetRestartOnErrorInsert = 2602,
......
...@@ -4660,6 +4660,7 @@ void Dbtc::copyApi(Signal* signal) ...@@ -4660,6 +4660,7 @@ void Dbtc::copyApi(Signal* signal)
regTmpApiPtr->commitAckMarker = RNIL; regTmpApiPtr->commitAckMarker = RNIL;
regTmpApiPtr->firstTcConnect = RNIL; regTmpApiPtr->firstTcConnect = RNIL;
regTmpApiPtr->lastTcConnect = RNIL; regTmpApiPtr->lastTcConnect = RNIL;
releaseAllSeizedIndexOperations(regTmpApiPtr);
}//Dbtc::copyApi() }//Dbtc::copyApi()
void Dbtc::unlinkApiConnect(Signal* signal) void Dbtc::unlinkApiConnect(Signal* signal)
...@@ -10241,7 +10242,7 @@ void Dbtc::releaseAbortResources(Signal* signal) ...@@ -10241,7 +10242,7 @@ void Dbtc::releaseAbortResources(Signal* signal)
// apiConnectptr.p->apiConnectstate = CS_CONNECTED; // apiConnectptr.p->apiConnectstate = CS_CONNECTED;
apiConnectptr.p->apiConnectstate = CS_ABORTING; apiConnectptr.p->apiConnectstate = CS_ABORTING;
apiConnectptr.p->abortState = AS_IDLE; apiConnectptr.p->abortState = AS_IDLE;
releaseAllSeizedIndexOperations(apiConnectptr.p);
if(apiConnectptr.p->m_exec_flag || apiConnectptr.p->apiFailState == ZTRUE){ if(apiConnectptr.p->m_exec_flag || apiConnectptr.p->apiFailState == ZTRUE){
jam(); jam();
bool ok = false; bool ok = false;
...@@ -10814,6 +10815,33 @@ Dbtc::execDUMP_STATE_ORD(Signal* signal) ...@@ -10814,6 +10815,33 @@ Dbtc::execDUMP_STATE_ORD(Signal* signal)
signal->theData[0] = TcContinueB::ZTRANS_EVENT_REP; signal->theData[0] = TcContinueB::ZTRANS_EVENT_REP;
sendSignalWithDelay(cownref, GSN_CONTINUEB, signal, 5000, 1); 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() }//Dbtc::execDUMP_STATE_ORD()
void Dbtc::execSET_VAR_REQ(Signal* signal) 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