summaryrefslogtreecommitdiff
path: root/src/mongo/db/exec/sbe/SConscript
blob: 6ee97450f2b167b314aef1ff4f96228ab9c635bc (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
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
# -*- mode: python -*-

Import("env")

env.Library(
    target='query_sbe_plan_stats',
    source=[
        'stages/plan_stats.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/base',
    ],
)

env.Library(
    target='query_sbe_values',
    source=[
        'values/bson.cpp',
        'values/value.cpp',
        'values/value_printer.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/base',
        '$BUILD_DIR/mongo/db/exec/js_function',
        '$BUILD_DIR/mongo/db/fts/base_fts',
        '$BUILD_DIR/mongo/db/index/key_generator',
        '$BUILD_DIR/mongo/db/query/collation/collator_interface',
        '$BUILD_DIR/mongo/db/query/datetime/date_time_support',
        '$BUILD_DIR/mongo/db/query/query_index_bounds',
        '$BUILD_DIR/mongo/db/storage/key_string',
        '$BUILD_DIR/mongo/util/regex_util',
    ],
)

sbeEnv = env.Clone()
sbeEnv.InjectThirdParty(libraries=['snappy'])
sbeEnv.Library(
    target='query_sbe',
    source=[
        'expressions/expression.cpp',
        'size_estimator.cpp',
        'util/debug_print.cpp',
        'util/spilling.cpp',
        'util/stage_results_printer.cpp',
        'values/column_store_encoder.cpp',
        'values/columnar.cpp',
        'values/sbe_pattern_value_cmp.cpp',
        'values/slot.cpp',
        'values/slot_printer.cpp',
        'vm/arith.cpp',
        'vm/datetime.cpp',
        'vm/vm.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/base',
        '$BUILD_DIR/mongo/db/mongohasher',
        '$BUILD_DIR/mongo/db/storage/record_store_base',
        '$BUILD_DIR/third_party/shim_snappy',
        'query_sbe_values',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/bson/dotted_path_support',
        '$BUILD_DIR/mongo/db/sorter/sorter_idl',
    ],
)

sbeEnv.Library(
    target='query_sbe_stages',
    source=[
        'stages/branch.cpp',
        'stages/bson_scan.cpp',
        'stages/check_bounds.cpp',
        'stages/co_scan.cpp',
        'stages/exchange.cpp',
        'stages/hash_agg.cpp',
        'stages/hash_join.cpp',
        'stages/hash_lookup.cpp',
        'stages/limit_skip.cpp',
        'stages/loop_join.cpp',
        'stages/makeobj.cpp',
        'stages/merge_join.cpp',
        'stages/project.cpp',
        'stages/sort.cpp',
        'stages/sorted_merge.cpp',
        'stages/spool.cpp',
        'stages/traverse.cpp',
        'stages/union.cpp',
        'stages/unique.cpp',
        'stages/unwind.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/base',
        '$BUILD_DIR/mongo/db/concurrency/lock_manager',
        '$BUILD_DIR/mongo/db/exec/js_function',
        '$BUILD_DIR/mongo/db/exec/scoped_timer',
        '$BUILD_DIR/mongo/db/query/plan_yield_policy',
        '$BUILD_DIR/mongo/db/query/query_index_bounds',
        '$BUILD_DIR/mongo/db/service_context',
        '$BUILD_DIR/mongo/db/stats/resource_consumption_metrics',
        '$BUILD_DIR/mongo/db/storage/encryption_hooks',
        '$BUILD_DIR/mongo/db/storage/index_entry_comparison',
        '$BUILD_DIR/mongo/util/concurrency/thread_pool',
        '$BUILD_DIR/third_party/shim_snappy',
        'query_sbe_plan_stats',
        'query_sbe_values',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/bson/dotted_path_support',
        '$BUILD_DIR/mongo/db/sorter/sorter_idl',
        'query_sbe',
        'query_sbe_storage',
    ],
)

env.Library(
    target='query_sbe_storage',
    source=[
        'stages/collection_helpers.cpp',
        'stages/column_scan.cpp',
        'stages/ix_scan.cpp',
        'stages/scan.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/db/db_raii', '$BUILD_DIR/mongo/db/index/index_access_method',
        '$BUILD_DIR/mongo/db/storage/execution_context', 'query_sbe'
    ],
)

env.Library(
    target='query_sbe_abt',
    source=[
        'abt/abt_lower.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/db/query/optimizer/optimizer',
        'query_sbe',
        'query_sbe_stages',
        'query_sbe_storage',
    ],
)

env.Library(
    target='sbe_plan_stage_test',
    source=[
        'sbe_plan_stage_test.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/db/catalog/catalog_test_fixture',
        '$BUILD_DIR/mongo/db/query/sbe_stage_builder_helpers',
        '$BUILD_DIR/mongo/unittest/unittest',
        'query_sbe',
        'query_sbe_stages',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/auth/authmocks',
        '$BUILD_DIR/mongo/db/service_context_d_test_fixture',
        '$BUILD_DIR/mongo/db/service_context_test_fixture',
    ],
)

env.CppUnitTest(
    target='db_sbe_test',
    source=[
        'expressions/sbe_bson_size_test.cpp',
        'expressions/sbe_coerce_to_string_test.cpp',
        'expressions/sbe_concat_test.cpp',
        'expressions/sbe_date_add_test.cpp',
        'expressions/sbe_date_diff_test.cpp',
        'expressions/sbe_date_to_parts_test.cpp',
        'expressions/sbe_day_of_expressions_test.cpp',
        'expressions/sbe_extract_sub_array_builtin_test.cpp',
        'expressions/sbe_get_element_builtin_test.cpp',
        'expressions/sbe_index_of_test.cpp',
        'expressions/sbe_is_array_empty_builtin_test.cpp',
        'expressions/sbe_is_member_builtin_test.cpp',
        'expressions/sbe_iso_date_to_parts_test.cpp',
        'expressions/sbe_ks_builtin_test.cpp',
        'expressions/sbe_lambda_test.cpp',
        'expressions/sbe_mod_expression_test.cpp',
        'expressions/sbe_new_array_from_range_builtin_test.cpp',
        'expressions/sbe_regex_test.cpp',
        'expressions/sbe_replace_one_expression_test.cpp',
        'expressions/sbe_reverse_array_builtin_test.cpp',
        'expressions/sbe_runtime_environment_test.cpp',
        'expressions/sbe_set_expressions_test.cpp',
        'expressions/sbe_shard_filter_builtin_test.cpp',
        'expressions/sbe_to_upper_to_lower_test.cpp',
        'expressions/sbe_trigonometric_expressions_test.cpp',
        'expressions/sbe_trunc_builtin_test.cpp',
        'expressions/sbe_ts_second_ts_increment_test.cpp',
        'sbe_column_scan_test.cpp',
        'sbe_filter_test.cpp',
        'sbe_hash_agg_test.cpp',
        'sbe_hash_join_test.cpp',
        'sbe_hash_lookup_test.cpp',
        'sbe_key_string_test.cpp',
        'sbe_limit_skip_test.cpp',
        'sbe_loop_join_test.cpp',
        'sbe_math_builtins_test.cpp',
        'sbe_merge_join_test.cpp',
        'sbe_mkobj_test.cpp',
        'sbe_numeric_convert_test.cpp',
        'sbe_plan_size_test.cpp',
        'sbe_sort_test.cpp',
        'sbe_sorted_merge_test.cpp',
        'sbe_spool_test.cpp',
        'sbe_test.cpp',
        'sbe_trial_run_tracker_test.cpp',
        'sbe_unique_test.cpp',
        'util/stage_results_printer_test.cpp',
        'values/column_store_encoder_test.cpp',
        'values/columnar_test.cpp',
        'values/sbe_pattern_value_cmp_test.cpp',
        'values/slot_printer_test.cpp',
        'values/value_serialization_test.cpp',
        "values/value_test.cpp",
        'values/write_value_to_stream_test.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/db/auth/authmocks',
        '$BUILD_DIR/mongo/db/concurrency/lock_manager',
        '$BUILD_DIR/mongo/db/index/columnar_index',
        '$BUILD_DIR/mongo/db/query/collation/collator_interface_mock',
        '$BUILD_DIR/mongo/db/service_context_d_test_fixture',
        '$BUILD_DIR/mongo/db/service_context_test_fixture',
        '$BUILD_DIR/mongo/util/pcre_wrapper',
        'sbe_plan_stage_test',
    ],
)

env.Library(
    target='sbe_abt_test_util',
    source=[
        'abt/sbe_abt_test_util.cpp',
    ],
    LIBDEPS=[
        "$BUILD_DIR/mongo/db/auth/authmocks",
        '$BUILD_DIR/mongo/db/query/query_test_service_context',
        '$BUILD_DIR/mongo/db/query_exec',
        '$BUILD_DIR/mongo/db/service_context_test_fixture',
        'query_sbe_abt',
    ],
)

env.CppUnitTest(
    target='sbe_abt_test',
    source=[
        'abt/sbe_abt_diff_test.cpp',
        'abt/sbe_abt_test.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/unittest/unittest',
        'sbe_abt_test_util',
    ],
)