equal
deleted
inserted
replaced
268 (void)sqlite3SymbianLastOsError();//clear last OS error |
268 (void)sqlite3SymbianLastOsError();//clear last OS error |
269 |
269 |
270 TInt err = sqlite3_exec(aDbHandle, reinterpret_cast <const char*> (aSqlStmt.Ptr()), NULL, NULL, NULL); |
270 TInt err = sqlite3_exec(aDbHandle, reinterpret_cast <const char*> (aSqlStmt.Ptr()), NULL, NULL, NULL); |
271 |
271 |
272 err = ::Sql2OsErrCode(err, sqlite3SymbianLastOsError()); |
272 err = ::Sql2OsErrCode(err, sqlite3SymbianLastOsError()); |
273 if(err == KSqlAtEnd) |
273 __ASSERT_DEBUG(err != KSqlAtEnd, __SQLPANIC2(ESqlPanicInternalError)); |
274 { |
|
275 err = KErrNone; |
|
276 } |
|
277 SQL_TRACE_INTERNALS(OstTraceExt2(TRACE_INTERNALS, DBEXECSTMT8_EXIT, "Exit;0x%X;DbExecStmt8;err=%d", (TUint)aDbHandle, err)); |
274 SQL_TRACE_INTERNALS(OstTraceExt2(TRACE_INTERNALS, DBEXECSTMT8_EXIT, "Exit;0x%X;DbExecStmt8;err=%d", (TUint)aDbHandle, err)); |
278 return err; |
275 return err; |
279 } |
276 } |
280 |
277 |
281 /////////////////////////////////////////////////////////////////////////////////////////////////////////////// |
278 /////////////////////////////////////////////////////////////////////////////////////////////////////////////// |
874 TUint32 startTicks = 0; |
871 TUint32 startTicks = 0; |
875 if(aMaxTime > 0) |
872 if(aMaxTime > 0) |
876 { |
873 { |
877 startTicks = User::FastCounter(); |
874 startTicks = User::FastCounter(); |
878 } |
875 } |
|
876 |
879 while((err = sqlite3_step(stmtHandle)) == SQLITE_ROW) |
877 while((err = sqlite3_step(stmtHandle)) == SQLITE_ROW) |
880 { |
878 { |
881 ++aProcessedPageCount; |
879 ++aProcessedPageCount; |
882 if(aMaxTime > 0 && IsCompactTimeLimitReached(startTicks, User::FastCounter(), aMaxTime)) |
880 if(aMaxTime > 0 && IsCompactTimeLimitReached(startTicks, User::FastCounter(), aMaxTime)) |
883 { |
881 { |
884 err = SQLITE_DONE;//The statement execution did not complete because of the time limit |
882 err = SQLITE_DONE;//The statement execution did not complete because of the time limit |
885 break; |
883 break; |
886 } |
884 } |
887 } |
885 } |
888 if(err == SQLITE_ERROR) //It may be "out of memory" problem |
886 |
889 { |
887 if(err == SQLITE_ERROR) //It may be "out of memory" problem |
890 err = sqlite3_reset(stmtHandle); |
888 { |
891 __ASSERT_DEBUG(err != SQLITE_OK, __SQLPANIC2(ESqlPanicInternalError)); |
889 err = sqlite3_reset(stmtHandle); |
892 } |
890 __ASSERT_DEBUG(err != SQLITE_OK, __SQLPANIC2(ESqlPanicInternalError)); |
|
891 } |
893 } |
892 } |
894 (void)sqlite3_finalize(stmtHandle);//sqlite3_finalize() fails only if an invalid statement handle is passed. |
893 (void)sqlite3_finalize(stmtHandle);//sqlite3_finalize() fails only if an invalid statement handle is passed. |
895 } |
894 } |
896 err = ::Sql2OsErrCode(err, sqlite3SymbianLastOsError()); |
895 err = ::Sql2OsErrCode(err, sqlite3SymbianLastOsError()); |
897 if(err == KSqlAtEnd) |
896 if(err == KSqlAtEnd) |