• beidson's avatar
    WebCore: · b8a16d03
    beidson authored
            Reviewed by Adam
    
            In very specific circumstances, prepared SQLStatements can become invalid without
            any warning.  This checks for that state and re-prepares the statement and also
            adds more aggressive error-checking everywhere these statements are used.
    
            * loader/icon/IconDatabase.cpp:
            (WebCore::readySQLStatement): Check if the statement is expired - reprepare it
            (WebCore::IconDatabase::imageDataForIconURLQuery): More thoroughly catch error cases
            (WebCore::IconDatabase::timeStampForIconURLQuery): Ditto
            (WebCore::IconDatabase::iconURLForPageURLQuery): Ditto
            (WebCore::IconDatabase::forgetPageURLQuery): Ditto
            (WebCore::IconDatabase::setIconIDForPageURLQuery): Ditto
            (WebCore::IconDatabase::getIconIDForIconURLQuery): Ditto
            (WebCore::IconDatabase::addIconForIconURLQuery): Ditto
            (WebCore::IconDatabase::hasIconForIconURLQuery): Ditto
            * loader/icon/SQLStatement.cpp:
            (WebCore::SQLStatement::isExpired): Added (accessor to sqlite3_expired())
            * loader/icon/SQLStatement.h:
            
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    b8a16d03