persistentstorage/sql/TEST/t_sqlperformance3.cpp
changeset 55 44f437012c90
parent 29 cce6680bbf1c
equal deleted inserted replaced
51:7d4490026038 55:44f437012c90
    19 #include <sqldb.h>
    19 #include <sqldb.h>
    20 #include "t_sqlcmdlineutil.h"
    20 #include "t_sqlcmdlineutil.h"
    21 
    21 
    22 RTest 			TheTest(_L("t_sqlperformance3 test"));
    22 RTest 			TheTest(_L("t_sqlperformance3 test"));
    23 RSqlDatabase 	TheDb;
    23 RSqlDatabase 	TheDb;
       
    24 RFile 			TheLogFile; 
       
    25 RFs				TheFs;
    24 
    26 
    25 _LIT(KDbName, 	"c:\\test\\t_sqlperformance3.db");
    27 _LIT(KDbName, 	"c:\\test\\t_sqlperformance3.db");
    26 
    28 
    27 TFileName		TheDbFileName;
    29 TFileName		TheDbFileName;
    28 TBuf<200> 		TheTestTitle;
    30 TBuf<200> 		TheTestTitle;
    61 
    63 
    62 ////////////////////////////////////////////////////////////////////////////////////////////////////
    64 ////////////////////////////////////////////////////////////////////////////////////////////////////
    63 
    65 
    64 void TestEnvDestroy()
    66 void TestEnvDestroy()
    65 	{
    67 	{
       
    68 	if(TheCmdLineParams.iLogFileName.Length() > 0)
       
    69 		{
       
    70 		(void)TheLogFile.Flush();
       
    71 		TheLogFile.Close();
       
    72 		}
    66 	TheDb.Close();
    73 	TheDb.Close();
    67 	(void)RSqlDatabase::Delete(TheDbFileName);
    74 	(void)RSqlDatabase::Delete(TheDbFileName);
       
    75 	TheFs.Close();
    68 	}
    76 	}
    69 
    77 
    70 ///////////////////////////////////////////////////////////////////////////////////////
    78 ///////////////////////////////////////////////////////////////////////////////////////
    71 ///////////////////////////////////////////////////////////////////////////////////////
    79 ///////////////////////////////////////////////////////////////////////////////////////
    72 //Test macros and functions
    80 //Test macros and functions
    99 
   107 
   100 ///////////////////////////////////////////////////////////////////////////////////////
   108 ///////////////////////////////////////////////////////////////////////////////////////
   101 
   109 
   102 void TestEnvInit()
   110 void TestEnvInit()
   103 	{
   111 	{
   104 	RFs fs;
   112 	TInt err = TheFs.Connect();
   105 	TInt err = fs.Connect();
   113 	TEST2(err, KErrNone);
   106 	TEST2(err, KErrNone);
   114 	err = TheFs.MkDirAll(TheDbFileName);
   107 	err = fs.MkDirAll(TheDbFileName);
       
   108 	TEST(err == KErrNone || err == KErrAlreadyExists);
   115 	TEST(err == KErrNone || err == KErrAlreadyExists);
   109 	fs.Close();
   116 	if(TheCmdLineParams.iLogFileName.Length() > 0)
       
   117 		{
       
   118 		err = TheLogFile.Replace(TheFs, TheCmdLineParams.iLogFileName, EFileRead | EFileWrite);
       
   119 		TEST2(err, KErrNone);
       
   120 		LogConfig(TheLogFile, TheCmdLineParams);
       
   121 		}
   110 	}
   122 	}
   111 
   123 
   112 TInt TimeDiffUs(TUint32 aStartTicks, TUint32 aEndTicks)
   124 TInt TimeDiffUs(TUint32 aStartTicks, TUint32 aEndTicks)
   113 	{
   125 	{
   114 	if(TheFastCounterFreq == 0)
   126 	if(TheFastCounterFreq == 0)
  1075 	TheTest.Printf(_L("==HarvestSelect4, time=%d us\r\n"), TheHarvestSelect4Time);
  1087 	TheTest.Printf(_L("==HarvestSelect4, time=%d us\r\n"), TheHarvestSelect4Time);
  1076 	TheTest.Printf(_L("==HarvestInsertEvent, time=%d us\r\n"), TheHarvestInsertEventTime);
  1088 	TheTest.Printf(_L("==HarvestInsertEvent, time=%d us\r\n"), TheHarvestInsertEventTime);
  1077 	TheTest.Printf(_L("==HarvestUpdateObjImage, time=%d us\r\n"), TheHarvestUpdateObjImageTime);
  1089 	TheTest.Printf(_L("==HarvestUpdateObjImage, time=%d us\r\n"), TheHarvestUpdateObjImageTime);
  1078 	TheTest.Printf(_L("==HarvestUpdateObj, time=%d us\r\n"), TheHarvestUpdateObjTime);
  1090 	TheTest.Printf(_L("==HarvestUpdateObj, time=%d us\r\n"), TheHarvestUpdateObjTime);
  1079 	TheTest.Printf(_L("==Harvest, time=%d us\r\n"), TheHarvestTime);
  1091 	TheTest.Printf(_L("==Harvest, time=%d us\r\n"), TheHarvestTime);
       
  1092 	
       
  1093 	if(TheCmdLineParams.iLogFileName.Length() > 0)
       
  1094 		{
       
  1095 		TBuf8<200> buf;
       
  1096 		buf.Format(_L8("Fast counter frequency¬%d¬Hz\r\n"), TheFastCounterFreq);
       
  1097 		(void)TheLogFile.Write(buf);
       
  1098 		buf.Format(_L8("Create database¬%d¬us\r\n"), TheCreateDbCreateConnTime);
       
  1099 		(void)TheLogFile.Write(buf);
       
  1100 		buf.Format(_L8("Open database¬%d¬us\r\n"), TheCreateDbOpenConnTime);
       
  1101 		(void)TheLogFile.Write(buf);
       
  1102 		buf.Format(_L8("'SELECT max(seq) FROM SQLITE_SEQUENCE'¬%d¬us\r\n"), TheLastItemIdTime);
       
  1103 		(void)TheLogFile.Write(buf);
       
  1104 		buf.Format(_L8("'SELECT COUNT(*) FROM MdE_Preferences'¬%d¬us\r\n"), TheTableExistsTime);
       
  1105 		(void)TheLogFile.Write(buf);
       
  1106 		buf.Format(_L8("MDE tables creation¬%d¬us\r\n"), TheMdeTablesCreationTime);
       
  1107 		(void)TheLogFile.Write(buf);
       
  1108 		buf.Format(_L8("'SELECT last_insert_rowid()'¬%d¬us\r\n"), TheLastInsertedRowIdTime);
       
  1109 		(void)TheLogFile.Write(buf);
       
  1110 		buf.Format(_L8("1.Create tables¬%d¬us\r\n"), TheCreateTables1Time);
       
  1111 		(void)TheLogFile.Write(buf);
       
  1112 		buf.Format(_L8("2.Create tables¬%d¬us\r\n"), TheCreateTables2Time);
       
  1113 		(void)TheLogFile.Write(buf);
       
  1114 		buf.Format(_L8("3.Create tables¬%d¬us\r\n"), TheCreateTables3Time);
       
  1115 		(void)TheLogFile.Write(buf);
       
  1116 		buf.Format(_L8("InsertEventRelation¬%d¬us\r\n"), TheInsertEventRelationTime);
       
  1117 		(void)TheLogFile.Write(buf);
       
  1118 		buf.Format(_L8("Create triggers¬%d¬us\r\n"), TheCreateTriggersTime);
       
  1119 		(void)TheLogFile.Write(buf);
       
  1120 		buf.Format(_L8("DeleteObjectProperty¬%d¬us\r\n"), TheDeleteObjPropertyTime);
       
  1121 		(void)TheLogFile.Write(buf);
       
  1122 		buf.Format(_L8("InsertCol2Property¬%d¬us\r\n"), TheInsertCol2PropTime);
       
  1123 		(void)TheLogFile.Write(buf);
       
  1124 		buf.Format(_L8("The create transaction¬%d¬us\r\n"), TheTransactionTime);
       
  1125 		(void)TheLogFile.Write(buf);
       
  1126 		buf.Format(_L8("Database create schema¬%d¬us\r\n"), TheDbCreateTime);
       
  1127 		(void)TheLogFile.Write(buf);
       
  1128 		buf.Format(_L8("HarvestSelect¬%d¬us\r\n"), TheHarvestSelectTime);
       
  1129 		(void)TheLogFile.Write(buf);
       
  1130 		buf.Format(_L8("HarvestInsertObjImage¬%d¬us\r\n"), TheHarvestInsertObjImageTime);
       
  1131 		(void)TheLogFile.Write(buf);
       
  1132 		buf.Format(_L8("HarvestSelect2¬%d¬us\r\n"), TheHarvestSelect2Time);
       
  1133 		(void)TheLogFile.Write(buf);
       
  1134 		buf.Format(_L8("HarvestSelect3¬%d¬us\r\n"), TheHarvestSelect3Time);
       
  1135 		(void)TheLogFile.Write(buf);
       
  1136 		buf.Format(_L8("HarvestSelect4¬%d¬us\r\n"), TheHarvestSelect4Time);
       
  1137 		(void)TheLogFile.Write(buf);
       
  1138 		buf.Format(_L8("HarvestInsertEvent¬%d¬us\r\n"), TheHarvestInsertEventTime);
       
  1139 		(void)TheLogFile.Write(buf);
       
  1140 		buf.Format(_L8("HarvestUpdateObjImage¬%d¬us\r\n"), TheHarvestUpdateObjImageTime);
       
  1141 		(void)TheLogFile.Write(buf);
       
  1142 		buf.Format(_L8("HarvestUpdateObj¬%d¬us\r\n"), TheHarvestUpdateObjTime);
       
  1143 		(void)TheLogFile.Write(buf);
       
  1144 		buf.Format(_L8("Harvest¬%d¬us\r\n"), TheHarvestTime);
       
  1145 		(void)TheLogFile.Write(buf);
       
  1146 		}
  1080 	}
  1147 	}
  1081 
  1148 
  1082 void DoTestsL()
  1149 void DoTestsL()
  1083 	{
  1150 	{
  1084 	CalcIterationsCount();
  1151 	CalcIterationsCount();
  1108 	GetCmdLineParamsAndSqlConfigString(TheTest, _L("t_sqlperformance3"), TheCmdLineParams, TheSqlConfigString);
  1175 	GetCmdLineParamsAndSqlConfigString(TheTest, _L("t_sqlperformance3"), TheCmdLineParams, TheSqlConfigString);
  1109 	PrepareDbName(KDbName, TheCmdLineParams.iDriveName, TheDbFileName);
  1176 	PrepareDbName(KDbName, TheCmdLineParams.iDriveName, TheDbFileName);
  1110 
  1177 
  1111 	TheTest.Printf(_L("==Databases: %S\r\n"), &TheDbFileName); 
  1178 	TheTest.Printf(_L("==Databases: %S\r\n"), &TheDbFileName); 
  1112 	
  1179 	
  1113 	TestEnvDestroy();
       
  1114 	TestEnvInit();
  1180 	TestEnvInit();
  1115 	TRAPD(err, DoTestsL());
  1181 	TRAPD(err, DoTestsL());
  1116 	TestEnvDestroy();
  1182 	TestEnvDestroy();
  1117 	TEST2(err, KErrNone);
  1183 	TEST2(err, KErrNone);
  1118 
  1184