This kind of error usually means you ran out of disk space on your tmp_dir drive.
Walter On Mon, May 31, 2010 at 13:30, Manasi Save <manasi.s...@artificialmachines.com> wrote: > Hi All, > > I am getting following error when I am trying to run one stored procedure on > table which has 300000 rows in it. Table Type id MyIsAM. > > ERROR 126 (HY000): Incorrect key file for table '/tmp/#sql_66b0_0.MYI'; try > to repair it > > How to debug this error? I mean I tried to increase tmp_table_Size parameter > but, it does not affect. > > Proc is as follows :- > > > CREATE definer=`myus...@`localhost` PROCEDURE `SP_GetLogs`(InputToDate Date, > InputFromDate Date, InputFrom int, InputTo int) > DETERMINISTIC > BEGIN > > > Declare Count int; > Declare AvgVal float(10,2); > > > > Drop Temporary Table If Exists norep_Temp; > Create Temporary Table norep_Temp > ( > -- CountOfXML int, > TaskName Varchar(100), > MinFinalXML Varchar(10000), > MaxFinalXML Varchar(10000) -- , > -- AvgOfXML float(10,2) > ); > If (InputToDate IS NULL and InputFromDate IS NULL) > Then > SET @stmt = Concat('Insert into norep_Temp(MinFinalXML) > Select distinct FinalXML > From ClientLog > Where TaskName = ','"','Time required to complete task','"',' > and FinalXML Between 1 and 10 > Order By FinalXML ASC LIMIT ',InputFrom,',',InputTo,';'); > Select @stmt; > Prepare stmt1 From @stmt; > Execute stmt1; > Deallocate Prepare stmt1; > SET @stmt = Concat('Insert into norep_Temp(MaxFinalXML) > Select Distinct FinalXML > From ClientLog > Where TaskName = ','"','Time required to complete task','"',' > Order By FinalXML DESC LIMIT ',InputFrom,',',InputTo,';'); > Prepare stmt1 From @stmt; > Execute stmt1; > Deallocate prepare stmt1; > Select AVG(FinalXML) into AvgOfXML From ClientLog Where TaskName = 'Time > required to complete task'; > Select Count(*) into CountOfXML From ClientLog Where TaskName = 'Time > required to complete task'; > -- Select Count(*) as CountOfXML, MIN(MinFinalXML), MAX(MaxFinalXML), > AvgOfXML From norep_Temp Order By MinFinalXML, MaxFinalXML Limit 0,10; > Select CountOfXML, MinFinalXML, MaxFinalXML, AvgOfXML From norep_Temp; > > Drop Temporary Table If Exists Temp; > Create Temporary Table Temp > ( > TaskName Varchar(100), > MinVal Varchar(100), > MaxVal Varchar(100) -- , > ); > > If (InputToDate IS NULL and InputFromDate IS NULL) > Then > > SET @stmt = Concat('Insert into Temp(MinVal) > Select distinct Val > From MyLogs > Where TaskName = ','"','Time required to complete task','"',' > and Val Between 1 and 10 > Order By Val ASC LIMIT ',InputFrom,',',InputTo,';'); > > Prepare stmt1 From @stmt; > Execute stmt1; > Deallocate Prepare stmt1; > > > SET @stmt = Concat('Insert into Temp(MaxVal) > Select Distinct Val > From MyLogs > Where TaskName = ','"','Time required to complete task','"',' > Order By Val DESC LIMIT ',InputFrom,',',InputTo,';'); > > Prepare stmt1 From @stmt; > Execute stmt1; > Deallocate prepare stmt1; > > Select AVG(Val) into AvgVal From MyLogs Where TaskName = 'Time required to > complete task'; > > Select Count(*) into Count From MyLogs Where TaskName = 'Time required to > complete task'; > > Select Count, MinVal, MaxVal, AvgVal From Temp; > > END; > > -- > Regards, > Manasi Save > > > > -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/mysql?unsub=arch...@jab.org