Reviewed by Tim Omernick
authorbeidson <beidson@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 2 Sep 2006 00:57:49 +0000 (00:57 +0000)
committerbeidson <beidson@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 2 Sep 2006 00:57:49 +0000 (00:57 +0000)
        Added an SQLDatabase logging channel.  Changed all SQLDatabase and SQLStatement errors to use this new channel.
        Also, as a popular request from other contributers, added a log for all prepare(), step(), finalize(), and reset()s
        Also, fixed a grammar error in my previous ChangeLog entry.

        * bridge/mac/WebCorePageBridge.mm:
        (initializeLoggingChannelsIfNecessary): Initialize the new channel
        * loader/icon/SQLDatabase.cpp:
        (WebCore::SQLDatabase::setBusyTimeout): Use SQLDatabase logging channel
        (WebCore::SQLDatabase::setBusyHandler): ditto
        (WebCore::SQLDatabase::clearAllTables): ditto
        (WebCore::SQLDatabase::runVacuumCommand): ditto
        * loader/icon/SQLStatement.cpp:
        (WebCore::SQLStatement::prepare): Added a log
        (WebCore::SQLStatement::step): ditto
        (WebCore::SQLStatement::finalize): ditto
        (WebCore::SQLStatement::reset): ditto
        (WebCore::SQLStatement::getColumnBlob): Use SQLDatabase logging channel
        (WebCore::SQLStatement::returnTextResults): ditto
        (WebCore::SQLStatement::returnTextResults16): ditto
        (WebCore::SQLStatement::returnIntResults): ditto
        (WebCore::SQLStatement::returnInt64Results): ditto
        (WebCore::SQLStatement::returnDoubleResults): ditto
        * platform/Logging.cpp:
        (WebCore::): Added new logging channel
        * platform/Logging.h: ditto

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@16189 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/bridge/mac/WebCorePageBridge.mm
WebCore/loader/icon/SQLDatabase.cpp
WebCore/loader/icon/SQLStatement.cpp
WebCore/platform/Logging.cpp
WebCore/platform/Logging.h

index 9fa13bc15844a623d44af66e8d1153fb41341274..e5096ec82522a8641151c5ad04a2fa7c8f2141e2 100644 (file)
@@ -1,3 +1,33 @@
+2006-09-01  Brady Eidson  <beidson@apple.com>
+
+        Reviewed by Tim Omernick
+
+        Added an SQLDatabase logging channel.  Changed all SQLDatabase and SQLStatement errors to use this new channel.
+        Also, as a popular request from other contributers, added a log for all prepare(), step(), finalize(), and reset()s
+        Also, fixed a grammar error in my previous ChangeLog entry.
+
+        * bridge/mac/WebCorePageBridge.mm:
+        (initializeLoggingChannelsIfNecessary): Initialize the new channel
+        * loader/icon/SQLDatabase.cpp:
+        (WebCore::SQLDatabase::setBusyTimeout): Use SQLDatabase logging channel
+        (WebCore::SQLDatabase::setBusyHandler): ditto
+        (WebCore::SQLDatabase::clearAllTables): ditto
+        (WebCore::SQLDatabase::runVacuumCommand): ditto
+        * loader/icon/SQLStatement.cpp:
+        (WebCore::SQLStatement::prepare): Added a log
+        (WebCore::SQLStatement::step): ditto
+        (WebCore::SQLStatement::finalize): ditto
+        (WebCore::SQLStatement::reset): ditto
+        (WebCore::SQLStatement::getColumnBlob): Use SQLDatabase logging channel
+        (WebCore::SQLStatement::returnTextResults): ditto
+        (WebCore::SQLStatement::returnTextResults16): ditto
+        (WebCore::SQLStatement::returnIntResults): ditto
+        (WebCore::SQLStatement::returnInt64Results): ditto
+        (WebCore::SQLStatement::returnDoubleResults): ditto
+        * platform/Logging.cpp:
+        (WebCore::): Added new logging channel
+        * platform/Logging.h: ditto
+
 2006-09-01  Adele Peterson  <adele@apple.com>
 
         Reviewed by Tim Omernick.
@@ -18,7 +48,7 @@
 
 2006-09-01  Brady Eidson  <beidson@apple.com>
 
-        Reviewed by John (though Sarge review a previous patch of mine in an attempt to review this one)
+        Reviewed by John (though Sarge reviewed a previous patch of mine in an attempt to review this one)
 
         Added some constants for SQL Result Codes to SQLDatabase.h
         This way, users of SQLDatabase can access all necessary SQLite functionality
index e007c24851578ba35f259827bf85d2c3b468f1e1..f7e7acaa3f639f92c980b28850a6f55c977f8f85 100644 (file)
@@ -63,6 +63,7 @@ static void initializeLoggingChannelsIfNecessary()
     initializeLogChannel(LogEditing);
     initializeLogChannel(LogTextConversion);
     initializeLogChannel(LogIconDatabase);
+    initializeLogChannel(LogSQLDatabase);
 }
 
 - (id)init
index a47d8558c9fadd9005b8155992843b4fbe2f2ff7..f2458291e36339803a63d77fdfb8e9e451ec77ff 100644 (file)
@@ -92,7 +92,7 @@ void SQLDatabase::setBusyTimeout(int ms)
     if (m_db)
         sqlite3_busy_timeout(m_db, ms);
     else
-        LOG(IconDatabase, "BusyTimeout set on non-open database");
+        LOG(SQLDatabase, "BusyTimeout set on non-open database");
 }
 
 void SQLDatabase::setBusyHandler(int(*handler)(void*, int))
@@ -100,7 +100,7 @@ void SQLDatabase::setBusyHandler(int(*handler)(void*, int))
     if (m_db)
         sqlite3_busy_handler(m_db, handler, NULL);
     else
-        LOG(IconDatabase, "Busy handler set on non-open database");
+        LOG(SQLDatabase, "Busy handler set on non-open database");
 }
 
 bool SQLDatabase::executeCommand(const String& sql)
@@ -130,7 +130,7 @@ void SQLDatabase::clearAllTables()
     String query = "SELECT name FROM sqlite_master WHERE type='table';";
     Vector<String> tables;
     if (!SQLStatement(*this, query).returnTextResults16(0, tables)) {
-        LOG(IconDatabase, "Unable to retrieve list of tables from database");
+        LOG(SQLDatabase, "Unable to retrieve list of tables from database");
         return;
     }
     
@@ -138,14 +138,14 @@ void SQLDatabase::clearAllTables()
         if (*table == "sqlite_sequence")
             continue;
         if (!executeCommand("DROP TABLE " + *table))
-            LOG(IconDatabase, "Unable to drop table %s", (*table).ascii().data());
+            LOG(SQLDatabase, "Unable to drop table %s", (*table).ascii().data());
     }
 }
 
 void SQLDatabase::runVacuumCommand()
 {
     if (!executeCommand("VACUUM;"))
-        LOG(IconDatabase, "Unable to vacuum database - %s", lastErrorMsg());
+        LOG(SQLDatabase, "Unable to vacuum database - %s", lastErrorMsg());
 }
 
 int64_t SQLDatabase::lastInsertRowID()
index d02121e480d60f2d9e1351cf1c4103748f86cc5e..8a545362800a14274a61038224be761d0498edc9 100644 (file)
@@ -48,8 +48,9 @@ SQLStatement::~SQLStatement()
 int SQLStatement::prepare()
 {    
     const void* tail;
+    LOG(SQLDatabase, "SQL - prepare - %s", m_query.ascii().data());
     if (sqlite3_prepare16(m_database.m_db, m_query.characters(), -1, &m_statement, &tail) != SQLITE_OK) {
-        LOG(IconDatabase, "sqlite3_prepare16 failed (%i)\n%s\n%s", lastError(), m_query.ascii().data(), sqlite3_errmsg(m_database.m_db));
+        LOG(SQLDatabase, "sqlite3_prepare16 failed (%i)\n%s\n%s", lastError(), m_query.ascii().data(), sqlite3_errmsg(m_database.m_db));
         m_statement = 0;
     }
     return lastError();
@@ -59,10 +60,10 @@ int SQLStatement::step()
 {
     if (!isPrepared())
         return SQLITE_ERROR;
-        
+    LOG(SQLDatabase, "SQL - step - %s", m_query.ascii().data());
     int error = sqlite3_step(m_statement);
     if (error != SQLITE_DONE && error != SQLITE_ROW) {
-        LOG(IconDatabase, "sqlite3_step failed (%i)\nQuery - %s\nError - %s", 
+        LOG(SQLDatabase, "sqlite3_step failed (%i)\nQuery - %s\nError - %s", 
             error, m_query.ascii().data(), sqlite3_errmsg(m_database.m_db));
     }
     return error;
@@ -71,6 +72,7 @@ int SQLStatement::step()
 int SQLStatement::finalize()
 {
     if (m_statement) {
+        LOG(SQLDatabase, "SQL - finalize - %s", m_query.ascii().data());
         int result = sqlite3_finalize(m_statement);
         m_statement = 0;
         return result;
@@ -81,6 +83,7 @@ int SQLStatement::finalize()
 int SQLStatement::reset() 
 {
     if (m_statement) {
+        LOG(SQLDatabase, "SQL - reset - %s", m_query.ascii().data());
         return sqlite3_reset(m_statement);
     }
     return SQLITE_ERROR;
@@ -255,11 +258,11 @@ void SQLStatement::getColumnBlobAsVector(int col, Vector<unsigned char>& result)
 const void* SQLStatement::getColumnBlob(int col, int& size)
 {
     if (finalize() != SQLITE_OK)
-        LOG(IconDatabase, "Finalize failed");
+        LOG(SQLDatabase, "Finalize failed");
     if (prepare() != SQLITE_OK)
-        LOG(IconDatabase, "Prepare failed");
+        LOG(SQLDatabase, "Prepare failed");
     if (step() != SQLITE_ROW)
-        {LOG(IconDatabase, "Step wasn't a row");size=0;return 0;}
+        {LOG(SQLDatabase, "Step wasn't a row");size=0;return 0;}
 
     if (columnCount() <= col) {
         size = 0;
@@ -288,7 +291,7 @@ bool SQLStatement::returnTextResults(int col, Vector<String>& v)
     }
     if (lastError() != SQLITE_DONE) {
         result = false;
-        LOG(IconDatabase, "Error reading results from database query %s", m_query.ascii().data());
+        LOG(SQLDatabase, "Error reading results from database query %s", m_query.ascii().data());
     }
     finalize();
     return result;
@@ -307,7 +310,7 @@ bool SQLStatement::returnTextResults16(int col, Vector<String>& v)
     }
     if (lastError() != SQLITE_DONE) {
         result = false;
-        LOG(IconDatabase, "Error reading results from database query %s", m_query.ascii().data());
+        LOG(SQLDatabase, "Error reading results from database query %s", m_query.ascii().data());
     }
     finalize();
     return result;
@@ -326,7 +329,7 @@ bool SQLStatement::returnIntResults(int col, Vector<int>& v)
     }
     if (lastError() != SQLITE_DONE) {
         result = false;
-        LOG(IconDatabase, "Error reading results from database query %s", m_query.ascii().data());
+        LOG(SQLDatabase, "Error reading results from database query %s", m_query.ascii().data());
     }
     finalize();
     return result;
@@ -345,7 +348,7 @@ bool SQLStatement::returnInt64Results(int col, Vector<int64_t>& v)
     }
     if (lastError() != SQLITE_DONE) {
         result = false;
-        LOG(IconDatabase, "Error reading results from database query %s", m_query.ascii().data());
+        LOG(SQLDatabase, "Error reading results from database query %s", m_query.ascii().data());
     }
     finalize();
     return result;
@@ -364,7 +367,7 @@ bool SQLStatement::returnDoubleResults(int col, Vector<double>& v)
     }
     if (lastError() != SQLITE_DONE) {
         result = false;
-        LOG(IconDatabase, "Error reading results from database query %s", m_query.ascii().data());
+        LOG(SQLDatabase, "Error reading results from database query %s", m_query.ascii().data());
     }
     finalize();
     return result;
index 72118dcb7f080455ec7630e86656fe721b3c462a..d9ed96e3bb85c3bee3378057b3c7c83bb70f40d5 100644 (file)
@@ -40,5 +40,6 @@ WTFLogChannel LogEditing =           { 0x00000100, "WebCoreLogLevel", WTFLogChan
 WTFLogChannel LogTextConversion =    { 0x00000200, "WebCoreLogLevel", WTFLogChannelOff };
 
 WTFLogChannel LogIconDatabase =      { 0x00000400, "WebCoreLogLevel", WTFLogChannelOn };
+WTFLogChannel LogSQLDatabase =       { 0x00000800, "WebCoreLogLevel", WTFLogChannelOff };
 
 }
index 488ce2aad482caaf471f7f4e64260ae1a90ff747..8a397588294bd56aae7703f36b87d094d559f7c3 100644 (file)
@@ -43,7 +43,7 @@ namespace WebCore {
     extern WTFLogChannel LogEditing;
     extern WTFLogChannel LogTextConversion;
     extern WTFLogChannel LogIconDatabase;
-
+    extern WTFLogChannel LogSQLDatabase;
 }
 
 #endif