84 lines
4.2 KiB
Diff
84 lines
4.2 KiB
Diff
|
|
# HG changeset patch
|
|
# User Simon Giesecke <sgiesecke@mozilla.com>
|
|
# Date 1576592608 0
|
|
# Node ID 810f85be6ba971bfad7fdacf1722e7c40b08be75
|
|
# Parent 230e7d093c196ddbe7430179321d236590936cfa
|
|
Bug 1601707 - Workaround for compilers that do not extend the lifetime of temporaries resulting from ?: expressions. r=dom-workers-and-storage-reviewers,janv
|
|
|
|
Differential Revision: https://phabricator.services.mozilla.com/D56873
|
|
|
|
diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp
|
|
--- a/dom/indexedDB/ActorsParent.cpp
|
|
+++ b/dom/indexedDB/ActorsParent.cpp
|
|
@@ -24578,19 +24578,19 @@ nsresult ObjectStoreAddOrPutRequestOp::D
|
|
}
|
|
}
|
|
|
|
// The "|| keyUnset" here is mostly a debugging tool. If a key isn't
|
|
// specified we should never have a collision and so it shouldn't matter
|
|
// 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 ");
|
|
+ const auto optReplaceDirective = (!mOverwrite || keyUnset)
|
|
+ ? NS_LITERAL_CSTRING("")
|
|
+ : NS_LITERAL_CSTRING("OR REPLACE ");
|
|
rv = aConnection->GetCachedStatement(
|
|
NS_LITERAL_CSTRING("INSERT ") + optReplaceDirective +
|
|
NS_LITERAL_CSTRING("INTO object_data "
|
|
"(object_store_id, key, file_ids, data) "
|
|
"VALUES (:") +
|
|
kStmtParamNameObjectStoreId + NS_LITERAL_CSTRING(", :") +
|
|
kStmtParamNameKey + NS_LITERAL_CSTRING(", :") +
|
|
kStmtParamNameFileIds + NS_LITERAL_CSTRING(", :") +
|
|
@@ -26422,19 +26422,19 @@ nsresult Cursor::OpenOp::DoIndexDatabase
|
|
MOZ_ASSERT(mCursor->mType == OpenCursorParams::TIndexOpenCursorParams);
|
|
MOZ_ASSERT(mCursor->mObjectStoreId);
|
|
MOZ_ASSERT(mCursor->mIndexId);
|
|
|
|
AUTO_PROFILER_LABEL("Cursor::OpenOp::DoIndexDatabaseWork", DOM);
|
|
|
|
const bool usingKeyRange = mOptionalKeyRange.isSome();
|
|
|
|
- const auto& indexTable = mCursor->mUniqueIndex
|
|
- ? NS_LITERAL_CSTRING("unique_index_data")
|
|
- : NS_LITERAL_CSTRING("index_data");
|
|
+ const auto indexTable = mCursor->mUniqueIndex
|
|
+ ? NS_LITERAL_CSTRING("unique_index_data")
|
|
+ : NS_LITERAL_CSTRING("index_data");
|
|
|
|
// The result of MakeColumnPairSelectionList is stored in a local variable,
|
|
// since inlining it into the next statement causes a crash on some Mac OS X
|
|
// builds (see https://bugzilla.mozilla.org/show_bug.cgi?id=1168606#c110).
|
|
const auto columnPairSelectionList = MakeColumnPairSelectionList(
|
|
NS_LITERAL_CSTRING("index_table.value"),
|
|
NS_LITERAL_CSTRING("index_table.value_locale"), kColumnNameAliasSortKey,
|
|
mCursor->IsLocaleAware());
|
|
@@ -26528,19 +26528,19 @@ nsresult Cursor::OpenOp::DoIndexKeyDatab
|
|
MOZ_ASSERT(mCursor->mType == OpenCursorParams::TIndexOpenKeyCursorParams);
|
|
MOZ_ASSERT(mCursor->mObjectStoreId);
|
|
MOZ_ASSERT(mCursor->mIndexId);
|
|
|
|
AUTO_PROFILER_LABEL("Cursor::OpenOp::DoIndexKeyDatabaseWork", DOM);
|
|
|
|
const bool usingKeyRange = mOptionalKeyRange.isSome();
|
|
|
|
- const auto& table = mCursor->mUniqueIndex
|
|
- ? NS_LITERAL_CSTRING("unique_index_data")
|
|
- : NS_LITERAL_CSTRING("index_data");
|
|
+ const auto table = mCursor->mUniqueIndex
|
|
+ ? NS_LITERAL_CSTRING("unique_index_data")
|
|
+ : NS_LITERAL_CSTRING("index_data");
|
|
|
|
// The result of MakeColumnPairSelectionList is stored in a local variable,
|
|
// since inlining it into the next statement causes a crash on some Mac OS X
|
|
// builds (see https://bugzilla.mozilla.org/show_bug.cgi?id=1168606#c110).
|
|
const auto columnPairSelectionList = MakeColumnPairSelectionList(
|
|
NS_LITERAL_CSTRING("value"), NS_LITERAL_CSTRING("value_locale"),
|
|
kColumnNameAliasSortKey, mCursor->IsLocaleAware());
|
|
const nsCString sortColumnAlias = NS_LITERAL_CSTRING("SELECT ") +
|
|
|