Workaround GCC/Clang6 not supporting class-temporary#6.7 [1] Bugs: + https://bugzilla.mozilla.org/show_bug.cgi?id=1601707 + http://gcc.gnu.org/PR92831 + https://bugzilla.redhat.com/show_bug.cgi?id=1779082 [1] http://eel.is/c++draft/class.temporary#6.7 diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp --- a/dom/indexedDB/ActorsParent.cpp +++ b/dom/indexedDB/ActorsParent.cpp @@ -24311,11 +24311,11 @@ // if we allow overwrite or not. By not allowing overwrite we raise // detectable errors rather than corrupting data. DatabaseConnection::CachedStatement stmt; - const auto& optReplaceDirective = (!mOverwrite || keyUnset) - ? NS_LITERAL_CSTRING("") - : NS_LITERAL_CSTRING("OR REPLACE "); rv = aConnection->GetCachedStatement( - NS_LITERAL_CSTRING("INSERT ") + optReplaceDirective + + NS_LITERAL_CSTRING("INSERT ") + + ((!mOverwrite || keyUnset) + ? NS_LITERAL_CSTRING("") + : NS_LITERAL_CSTRING("OR REPLACE ")) + NS_LITERAL_CSTRING("INTO object_data " "(object_store_id, key, file_ids, data) " "VALUES (:") + @@ -26076,9 +26076,6 @@ const bool usingKeyRange = mOptionalKeyRange.isSome(); - const auto& indexTable = mCursor->mUniqueIndex - ? NS_LITERAL_CSTRING("unique_index_data") - : NS_LITERAL_CSTRING("index_data"); NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column"); @@ -26099,7 +26096,9 @@ "object_data.file_ids, " "object_data.data " "FROM ") + - indexTable + + (mCursor->mUniqueIndex + ? NS_LITERAL_CSTRING("unique_index_data") + : NS_LITERAL_CSTRING("index_data")) + NS_LITERAL_CSTRING( " AS index_table " "JOIN object_data " @@ -26198,9 +26197,6 @@ const bool usingKeyRange = mOptionalKeyRange.isSome(); - const auto& table = mCursor->mUniqueIndex - ? NS_LITERAL_CSTRING("unique_index_data") - : NS_LITERAL_CSTRING("index_data"); NS_NAMED_LITERAL_CSTRING(sortColumn, "sort_column"); @@ -26218,7 +26214,10 @@ NS_LITERAL_CSTRING( "object_data_key " " FROM ") + - table + NS_LITERAL_CSTRING(" WHERE index_id = :") + + (mCursor->mUniqueIndex + ? NS_LITERAL_CSTRING("unique_index_data") + : NS_LITERAL_CSTRING("index_data")) + + NS_LITERAL_CSTRING(" WHERE index_id = :") + kStmtParamNameId; const auto keyRangeClause =