evergreen:tags/rel_3_8_4

Last commit made on 2023-05-17
Get this branch:
git clone -b tags/rel_3_8_4 https://git.launchpad.net/evergreen

Branch merges

Branch information

Name:
tags/rel_3_8_4
Repository:
lp:evergreen

Recent commits

345d3ab... by Jason Boyer <email address hidden>

Update Server Upgrade Doc

Signed-off-by: Jason Boyer <email address hidden>

fe6d6b7... by Jason Boyer <email address hidden>

Bumping Perl version string for 3.8.4

Signed-off-by: Jason Boyer <email address hidden>

ae39e54... by Jason Boyer <email address hidden>

Translation updates - po files

Signed-off-by: Jason Boyer <email address hidden>

759b1ce... by Jason Boyer <email address hidden>

Update Release Notes

Signed-off-by: Jason Boyer <email address hidden>

c3c3abc... by Galen Charlton <email address hidden>

LP#2004055: add release notes

Signed-off-by: Galen Charlton <email address hidden>
Signed-off-by: Jason Boyer <email address hidden>

24cfd2d... by Jason Boyer <email address hidden>

LP#2004055: Stamp Upgrade Script

Signed-off-by: Jason Boyer <email address hidden>

2fb79d1... by Mike Rylander

LP#2004055: Simpler Display Field highlighting

This commit uses database functions to precompute the normalized and
tokenized tsquery required for highlighting before it is returned to the
user, and disallows highlight-time compilation of the highlight map.
The primary purpose of this is to avoid the chance for user input to
find its way directly into SQL statements, but an additional benefit is
that it becomes much simpler for high level application code to make use
of Display Field highlighting in non-search contexts.

Signed-off-by: Mike Rylander <email address hidden>
Signed-off-by: Galen Charlton <email address hidden>
Signed-off-by: Jason Boyer <email address hidden>

606a9c6... by Mike Rylander

Malicious search protect release notes

Signed-off-by: Mike Rylander <email address hidden>
Signed-off-by: Jason Boyer <email address hidden>

d59b871... by Mike Rylander

Allow QP tester to run without a full stack in simple situations

Signed-off-by: Mike Rylander <email address hidden>
Signed-off-by: Jason Stephenson <email address hidden>
Signed-off-by: Galen Charlton <email address hidden>
Signed-off-by: Jason Boyer <email address hidden>

e49587e... by Mike Rylander

LP#1775958: Rework pullup mechanism to flatten more nested queries

The bulk of this commit reworks the query tree pullup logic, which is
responsible for simplifying the query tree that is used to generate the
SQL query for search. In particular, we now do a better job of finding
opportunities to merge adjacent parts of the query that have the same
requested_class (pre-dealiasing) in the face of boolean OR operators,
explicit grouping, and alternating requested_class values. The result
is fewer joins in the SQL, which should speed up all but the most
trivial searches, and generally help protect the database from mis- or
mal-constructed queries. We also now use CTEs to separate branches of
the logical search tree into descrete subqueries, which helps reduce
the total core query JOINs, and provides the planner with more options
for join order.

This also does away with the conversion of a negated atom into an
"un-phrase". Instead, we just detect and handle those directly as atoms
with a prefix, as appropriate. This allows single negated words to be
used directly in the core tsquery construct, rather than having them
require a separate join and special where clause.

Additionally, this commit handles phrases differently at both the QP and
SQL level, making use of Postgres's phrase support in modern versions
and simplifying how they're handled within the base parse tree
structure.

Signed-off-by: Mike Rylander <email address hidden>
Signed-off-by: Jason Stephenson <email address hidden>
Signed-off-by: Galen Charlton <email address hidden>
Signed-off-by: Jason Boyer <email address hidden>