mozilla-bmo1601707.patch
author Wolfgang Rosenauer <wr@rosenauer.org>
Wed, 08 Jan 2020 14:48:49 +0100
branchfirefox72
changeset 1119 4c5d44d40a03
parent 1118 27c3f029180a
permissions -rw-r--r--
Firefox 72.0.1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1119
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
     1
# HG changeset patch
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
     2
# Parent  862430a659a4f1fcbbbbfcf1cba98eb7e31035dc
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
     3
1118
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     4
diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     5
--- a/dom/indexedDB/ActorsParent.cpp
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     6
+++ b/dom/indexedDB/ActorsParent.cpp
1119
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
     7
@@ -24612,19 +24612,19 @@ nsresult ObjectStoreAddOrPutRequestOp::D
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
     8
     }
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
     9
   }
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    10
 
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    11
   // The "|| keyUnset" here is mostly a debugging tool. If a key isn't
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    12
   // specified we should never have a collision and so it shouldn't matter
1118
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    13
   // if we allow overwrite or not. By not allowing overwrite we raise
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    14
   // detectable errors rather than corrupting data.
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    15
   DatabaseConnection::CachedStatement stmt;
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    16
-  const auto& optReplaceDirective = (!mOverwrite || keyUnset)
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    17
-                                        ? NS_LITERAL_CSTRING("")
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    18
-                                        : NS_LITERAL_CSTRING("OR REPLACE ");
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    19
+  const auto optReplaceDirective = (!mOverwrite || keyUnset)
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    20
+                                       ? NS_LITERAL_CSTRING("")
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    21
+                                       : NS_LITERAL_CSTRING("OR REPLACE ");
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    22
   rv = aConnection->GetCachedStatement(
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    23
       NS_LITERAL_CSTRING("INSERT ") + optReplaceDirective +
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    24
           NS_LITERAL_CSTRING("INTO object_data "
1119
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    25
                              "(object_store_id, key, file_ids, data) "
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    26
                              "VALUES (:") +
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    27
           kStmtParamNameObjectStoreId + NS_LITERAL_CSTRING(", :") +
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    28
           kStmtParamNameKey + NS_LITERAL_CSTRING(", :") +
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    29
           kStmtParamNameFileIds + NS_LITERAL_CSTRING(", :") +
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    30
@@ -26452,19 +26452,19 @@ nsresult Cursor::OpenOp::DoIndexDatabase
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    31
   MOZ_ASSERT(mCursor->mType == OpenCursorParams::TIndexOpenCursorParams);
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    32
   MOZ_ASSERT(mCursor->mObjectStoreId);
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    33
   MOZ_ASSERT(mCursor->mIndexId);
1118
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    34
 
1119
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    35
   AUTO_PROFILER_LABEL("Cursor::OpenOp::DoIndexDatabaseWork", DOM);
1118
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    36
 
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    37
   const bool usingKeyRange = mOptionalKeyRange.isSome();
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    38
 
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    39
-  const auto& indexTable = mCursor->mUniqueIndex
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    40
-                               ? NS_LITERAL_CSTRING("unique_index_data")
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    41
-                               : NS_LITERAL_CSTRING("index_data");
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    42
+  const auto indexTable = mCursor->mUniqueIndex
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    43
+                              ? NS_LITERAL_CSTRING("unique_index_data")
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    44
+                              : NS_LITERAL_CSTRING("index_data");
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    45
 
1119
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    46
   // The result of MakeColumnPairSelectionList is stored in a local variable,
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    47
   // since inlining it into the next statement causes a crash on some Mac OS X
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    48
   // builds (see https://bugzilla.mozilla.org/show_bug.cgi?id=1168606#c110).
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    49
   const auto columnPairSelectionList = MakeColumnPairSelectionList(
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    50
       NS_LITERAL_CSTRING("index_table.value"),
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    51
       NS_LITERAL_CSTRING("index_table.value_locale"), kColumnNameAliasSortKey,
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    52
       mCursor->IsLocaleAware());
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    53
@@ -26558,19 +26558,19 @@ nsresult Cursor::OpenOp::DoIndexKeyDatab
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    54
   MOZ_ASSERT(mCursor->mType == OpenCursorParams::TIndexOpenKeyCursorParams);
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    55
   MOZ_ASSERT(mCursor->mObjectStoreId);
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    56
   MOZ_ASSERT(mCursor->mIndexId);
1118
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    57
 
1119
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    58
   AUTO_PROFILER_LABEL("Cursor::OpenOp::DoIndexKeyDatabaseWork", DOM);
1118
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    59
 
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    60
   const bool usingKeyRange = mOptionalKeyRange.isSome();
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    61
 
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    62
-  const auto& table = mCursor->mUniqueIndex
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    63
-                          ? NS_LITERAL_CSTRING("unique_index_data")
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    64
-                          : NS_LITERAL_CSTRING("index_data");
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    65
+  const auto table = mCursor->mUniqueIndex
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    66
+                         ? NS_LITERAL_CSTRING("unique_index_data")
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    67
+                         : NS_LITERAL_CSTRING("index_data");
27c3f029180a latest 71.0 revision
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    68
 
1119
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    69
   // The result of MakeColumnPairSelectionList is stored in a local variable,
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    70
   // since inlining it into the next statement causes a crash on some Mac OS X
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    71
   // builds (see https://bugzilla.mozilla.org/show_bug.cgi?id=1168606#c110).
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    72
   const auto columnPairSelectionList = MakeColumnPairSelectionList(
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    73
       NS_LITERAL_CSTRING("value"), NS_LITERAL_CSTRING("value_locale"),
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    74
       kColumnNameAliasSortKey, mCursor->IsLocaleAware());
4c5d44d40a03 Firefox 72.0.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1118
diff changeset
    75
   const nsCString sortColumnAlias = NS_LITERAL_CSTRING("SELECT ") +