summaryrefslogtreecommitdiff
path: root/src/mongo/db/test_output/exec/sbe/hash_lookup_stage_test/basic_tests.txt
blob: edaff3d434ddc3197011aa3b3ed6d73279c9711f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
==== VARIATION: simple scalar key ====
-- INPUTS:
OUTER [value, key]:
{"_id" : 1}, 1
{"_id" : 2}, 2
{"_id" : 3}, 2
{"_id" : 4}, 7

INNER [value, key]:
{"_id" : 11}, 1
{"_id" : 12}, 2
{"_id" : 13}, 2
{"_id" : 14}, 7

-- OUTPUT [outer_key, inner_agg]:
1, [{"_id" : 11}]
2, [{"_id" : 12}, {"_id" : 13}]
2, [{"_id" : 12}, {"_id" : 13}]
7, [{"_id" : 14}]

==== VARIATION: no matches ====
-- INPUTS:
OUTER [value, key]:
{"_id" : 1}, 1
{"_id" : 2}, 4

INNER [value, key]:
{"_id" : 11}, 2
{"_id" : 12}, 3

-- OUTPUT [outer_key, inner_agg]:
1, Nothing
4, Nothing

==== VARIATION: simple array key ====
-- INPUTS:
OUTER [value, key]:
{"_id" : 1}, 1
{"_id" : 2}, [2, 3]
{"_id" : 3}, [2, 4]
{"_id" : 4}, []

INNER [value, key]:
{"_id" : 11}, 2
{"_id" : 12}, 4
{"_id" : 13}, [1, 2, 3]
{"_id" : 14}, []

-- OUTPUT [outer_key, inner_agg]:
1, [{"_id" : 13}]
[2, 3], [{"_id" : 11}, {"_id" : 13}]
[2, 4], [{"_id" : 11}, {"_id" : 12}, {"_id" : 13}]
[], Nothing

==== VARIATION: nested array key ====
-- INPUTS:
OUTER [value, key]:
{"_id" : 1}, 1
{"_id" : 2}, 2
{"_id" : 3}, 3
{"_id" : 4}, [1]
{"_id" : 5}, [3]
{"_id" : 6}, [[3]]
{"_id" : 7}, [2, [3]]

INNER [value, key]:
{"_id" : 11}, 1
{"_id" : 12}, 2
{"_id" : 13}, 3
{"_id" : 14}, [1]
{"_id" : 15}, [3]
{"_id" : 16}, [[3]]
{"_id" : 17}, [2, [3]]

-- OUTPUT [outer_key, inner_agg]:
1, [{"_id" : 11}, {"_id" : 14}]
2, [{"_id" : 12}, {"_id" : 17}]
3, [{"_id" : 13}, {"_id" : 15}]
[1], [{"_id" : 11}, {"_id" : 14}]
[3], [{"_id" : 13}, {"_id" : 15}]
[[3]], [{"_id" : 16}, {"_id" : 17}]
[2, [3]], [{"_id" : 12}, {"_id" : 16}, {"_id" : 17}]

==== VARIATION: nested object key ====
-- INPUTS:
OUTER [value, key]:
{"_id" : 1}, {"a" : 1}
{"_id" : 2}, {"b" : 1}
{"_id" : 3}, {"a" : 1, "b" : 1}
{"_id" : 4}, {"b" : 1, "a" : 1}
{"_id" : 5}, [{"a" : 1}]
{"_id" : 6}, [{"a" : 1}, {"b" : 1}]
{"_id" : 7}, [{"a" : 1, "b" : 1}]
{"_id" : 8}, [{"b" : 1, "a" : 1}]

INNER [value, key]:
{"_id" : 11}, {"a" : 1}
{"_id" : 12}, {"b" : 1}
{"_id" : 13}, {"a" : 1, "b" : 1}
{"_id" : 14}, {"b" : 1, "a" : 1}
{"_id" : 15}, [{"a" : 1}]
{"_id" : 16}, [{"a" : 1}, {"b" : 1}]
{"_id" : 17}, [{"a" : 1, "b" : 1}]
{"_id" : 18}, [{"b" : 1, "a" : 1}]

-- OUTPUT [outer_key, inner_agg]:
{"a" : 1}, [{"_id" : 11}, {"_id" : 15}, {"_id" : 16}]
{"b" : 1}, [{"_id" : 12}, {"_id" : 16}]
{"a" : 1, "b" : 1}, [{"_id" : 13}, {"_id" : 17}]
{"b" : 1, "a" : 1}, [{"_id" : 14}, {"_id" : 18}]
[{"a" : 1}], [{"_id" : 11}, {"_id" : 15}, {"_id" : 16}]
[{"a" : 1}, {"b" : 1}], [{"_id" : 11}, {"_id" : 12}, {"_id" : 15}, {"_id" : 16}]
[{"a" : 1, "b" : 1}], [{"_id" : 13}, {"_id" : 17}]
[{"b" : 1, "a" : 1}], [{"_id" : 14}, {"_id" : 18}]

==== VARIATION: mixed key ====
-- INPUTS:
OUTER [value, key]:
{"_id" : 1}, null
{"_id" : 2}, 1
{"_id" : 3}, "abc"
{"_id" : 4}, NumberDecimal(1)
{"_id" : 5}, [1]
{"_id" : 6}, ["abc"]
{"_id" : 7}, [null]
{"_id" : 8}, [null, "1", "abc", NumberDecimal(1)]
{"_id" : 9}, [{"x" : 1, "y" : "abc"}]

INNER [value, key]:
{"_id" : 11}, null
{"_id" : 12}, 1
{"_id" : 13}, "abc"
{"_id" : 14}, NumberDecimal(1)
{"_id" : 15}, [1]
{"_id" : 16}, ["abc"]
{"_id" : 17}, [null]
{"_id" : 18}, [null, "1", "abc", NumberDecimal(1)]
{"_id" : 19}, [{"x" : 1, "y" : "abc"}]

-- OUTPUT [outer_key, inner_agg]:
null, [{"_id" : 11}, {"_id" : 17}, {"_id" : 18}]
1, [{"_id" : 12}, {"_id" : 14}, {"_id" : 15}, {"_id" : 18}]
"abc", [{"_id" : 13}, {"_id" : 16}, {"_id" : 18}]
NumberDecimal(1), [{"_id" : 12}, {"_id" : 14}, {"_id" : 15}, {"_id" : 18}]
[1], [{"_id" : 12}, {"_id" : 14}, {"_id" : 15}, {"_id" : 18}]
["abc"], [{"_id" : 13}, {"_id" : 16}, {"_id" : 18}]
[null], [{"_id" : 11}, {"_id" : 17}, {"_id" : 18}]
[null, "1", "abc", NumberDecimal(1)], [{"_id" : 11}, {"_id" : 12}, {"_id" : 13}, {"_id" : 14}, {"_id" : 15}, {"_id" : 16}, {"_id" : 17}, {"_id" : 18}]
[{"x" : 1, "y" : "abc"}], [{"_id" : 19}]

==== VARIATION: with toLower collator ====
COLLATOR: Collator({"locale" : "mock_to_lower_string", "caseLevel" : false, "caseFirst" : "off", "strength" : 3, "numericOrdering" : false, "alternate" : "non-ignorable", "maxVariable" : "punct", "normalization" : false, "backwards" : false, "version" : "mock_version"})
-- INPUTS:
OUTER [value, key]:
{"_id" : 1}, null
{"_id" : 2}, "abc"
{"_id" : 3}, "ABC"
{"_id" : 4}, "Abc"
{"_id" : 5}, "def"

INNER [value, key]:
{"_id" : 11}, null
{"_id" : 12}, "abc"
{"_id" : 13}, "ABC"
{"_id" : 14}, "Abc"
{"_id" : 15}, "def"

-- OUTPUT [outer_key, inner_agg]:
null, [{"_id" : 11}]
"abc", [{"_id" : 12}, {"_id" : 13}, {"_id" : 14}]
"ABC", [{"_id" : 12}, {"_id" : 13}, {"_id" : 14}]
"Abc", [{"_id" : 12}, {"_id" : 13}, {"_id" : 14}]
"def", [{"_id" : 15}]

==== VARIATION: empty ====
-- INPUTS:
OUTER [value, key]:

INNER [value, key]:

-- OUTPUT [outer_key, inner_agg]:

==== VARIATION: empty outer ====
-- INPUTS:
OUTER [value, key]:

INNER [value, key]:
{"_id" : 11}, 2
{"_id" : 12}, 3

-- OUTPUT [outer_key, inner_agg]:

==== VARIATION: empty inner ====
-- INPUTS:
OUTER [value, key]:
{"_id" : 1}, 1
{"_id" : 2}, 2

INNER [value, key]:

-- OUTPUT [outer_key, inner_agg]:
1, Nothing
2, Nothing