Commit Graph

34 Commits

Author SHA1 Message Date
Adityavardhan Agrawal
73d7b74f66 SERVER-87616 Add trySbeEngine build variant (#19807)
GitOrigin-RevId: 02cd1cba65df1c47dc26b438ab728801575eccfd
2024-03-18 01:05:21 +00:00
kmznam
cf2c8bf4c8 SERVER-46384 removed runtimeConstants from accepted input for mongod (#19835)
GitOrigin-RevId: ea2460b816ff3251ee31e4da3dba3f2109f4b240
2024-03-14 01:36:17 +00:00
Lynne Wang
b90436ceba SERVER-84536 Make eof plans eligible for the plan cache
GitOrigin-RevId: f330fefdcfbf18b947e5958ed6962fd81d05a590
2024-02-08 04:39:59 +00:00
Cheahuychou Mao
e54f2f5248 SERVER-84332 Add jscore passthrough testing for connecting to a single-shard cluster using replica set endpoint (#18076)
GitOrigin-RevId: e0af5e97693ad4b900cf6f5d2bbfbdbbbec530ce
2024-01-19 02:50:40 +00:00
Adityavardhan Agrawal
ecff541d45 SERVER-83685 Make "trySbeRestricted" the default query knob
GitOrigin-RevId: 106ed3b8ec5371e7c21f3936f1842cd4a458729f
2023-12-15 01:00:51 +00:00
Jordi Olivares Provencio
5dca95a99d SERVER-83090: Make existing jstest work with the new CQF explain (core and core/index) (1) 2023-11-21 01:32:25 +00:00
Kevin Cherkauer
b31df3d20a SERVER-80563 Push $unwind aggregation stage down to SBE 2023-11-02 03:43:22 +00:00
David Percy
7533908c28 SERVER-75927 Evaluate command-level let only once, even when sharded
Command-level let bindings are evaluated once for the whole command. For
most expressions this is not observable, but for $rand it is. If you
need a random value drawn once and then used consistently within the
query, you use a command-level binding.

Previously this was only working correctly for sharded aggregate queries:
we were evaluating the let bindings on each shard separately. This commit
fixes the find command: it ensures we evaluate the expressions once on
mongos and then serialize the resulting values to the shards.

This commit also includes test cases to demonstrate the same bug in
write commands, to be fixed separately (SERVER-82042).
2023-10-10 16:59:08 +00:00
Matt Broadstone
a4f458fe4d SERVER-79735 Convert jstest corpus to use es modules 2023-08-06 20:48:04 +00:00
Matt Broadstone
1e98a0f23d SERVER-78551 Migrate analyze_plan library to module 2023-07-05 21:23:02 +00:00
Jason Zhang
5a018a8b69 SERVER-76037 Include 'let' and 'legacyRuntimeConstants' when parsing an updateOne/deleteOne/findAndModify without shard key query 2023-04-22 20:50:40 +00:00
David Storch
33e6eec597 SERVER-75356 Fix sharded explain path's handling of 'let' parameters 2023-04-13 22:27:19 +00:00
Jon Streets
05a0f8e98b SERVER-56366 Update FCV constants to recognize 5.1 as latest 2021-07-23 15:49:23 +00:00
Adityavardhan Agrawal
94899d7934 SERVER-57493 Remove requires_find_command jstest tag 2021-06-30 16:43:47 +00:00
Katherine Wu
19572bcc17 SERVER-57403 Serialize 'let' variables by wrapping with $literal 2021-06-14 21:38:33 +00:00
Anton Korshunov
0fc5b56b12 SERVER-51823 Use classic engine to evaluate queries containing expressions not supported in SBE 2021-02-14 15:30:07 +00:00
Ruoxin Xu
90c89d33c4 SERVER-51649 Convert aggregate command input to IDL 2021-01-07 11:20:50 +00:00
Charlie Swanson
a71a2a8bfe SERVER-47398 Start sending 'let' for aggregates.
Replaces usages of 'runtimeConstants' with 'let' parameters. This does
not replace usages for the write commands and for $merge. We will need
follow-up work for that.
2020-12-01 20:00:06 +00:00
Katherine Wu
d51e73db78 SERVER-51362 Ensure update and delete shell helpers support 'let' variables 2020-10-08 21:26:31 +00:00
David Percy
209bec74d8 SERVER-48905 Allow $rand in command-level 'let'
This relaxes a restriction on command-level 'let' bindings: instead of
requiring them to optimize() to a constant, we evaluate() them, once,
before running the query. This means {$rand: {}} is now allowed in a
command-level 'let'.

Referring to a field doesn't make sense in a command-level 'let', because
there is no "current document" yet. So we use DepsTracker to report an error,
rather than evaluate to missing.

Unbound variables are disallowed with the usual mechanism.
2020-08-17 20:30:02 +00:00
Justin Seyster
d80312792b SERVER-49227 Tag tests to be excluded from jsCore_slot_based_execution 2020-08-14 02:34:21 +00:00
Lingzhi Deng
14ef67e5d0 SERVER-50099: Update requires_fcv_46 and need_fixing_for_46 to 47 2020-08-05 16:27:25 +00:00
Pawel Terlecki
4c86696d09 SERVER-46716: Add tests for let parameters for sharded update
Bring back the earlier commit.
2020-06-12 05:11:44 +00:00
Eric Cox
0943e911c0 SERVER-46717 Testing of let parameters for deletes 2020-06-12 02:48:16 +00:00
Katherine Wu
1b9ebaabbc SERVER-46718 Support 'let' parameters for findAndModify in sharded environments 2020-06-12 01:49:40 +00:00
Katherine Wu
914d4a3ab1 Revert "SERVER-46716: Add tests for let parameters for sharded update"
This reverts commit 41fd8b2a5b.
2020-06-12 00:46:41 +00:00
Pawel Terlecki
41fd8b2a5b SERVER-46716: Add tests for let parameters for sharded update
Made cosmetic changes for the sake of consistency.
2020-06-11 22:16:43 +00:00
Katherine Wu
5c7cdc392c SERVER-46116 Add integration tests for let variables 2020-06-11 18:22:47 +00:00
Eric Cox
880378f3e0 SERVER-46717 Support let parameters for deletes in sharded environments 2020-06-11 17:41:52 +00:00
Jacob Evans
ed16dca5ef SERVER-46738 Ensure let parameters work for sharded find 2020-06-10 02:22:04 +00:00
Eric Cox
0b8388d726 SERVER-46707 Support 'let' variables in aggregate command in sharded deployments 2020-06-05 20:54:26 +00:00
Eric Cox
ef0e96cef5 SERVER-46115 Implement 'let' parameters to aggregate commands 2020-04-30 16:15:00 +00:00
Jason Chan
ab21bf5ef4 SERVER-47093 Re-enable multiversion passthroughs 2020-04-29 19:18:46 +00:00
Katherine Wu
53e1d78e95 SERVER-46708 Support let variables in update command 2020-04-28 21:57:39 +00:00