mirror of
https://github.com/postgres/postgres.git
synced 2026-10-23 13:29:09 +03:00
Use default limitOption in subquery generated for MIN/MAX index scan.
We unintentionally copied the original query's limitOption field while building the modified subquery. If it was LIMIT_OPTION_WITH_TIES, that behavior would propagate through to execution, potentially causing a "more than one row returned by a subquery used as an expression" error. Fix by resetting to the default LIMIT_OPTION_COUNT. This bug dates back to the introduction of WITH TIES. Bug: #19694 Reported-by: Chaitanya Choudhary <chaitanyyachoudhary@gmail.com> Author: Chaitanya Choudhary <chaitanyyachoudhary@gmail.com> Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/19694-4e61bd0475398eef@postgresql.org Backpatch-through: 14
This commit is contained in:
@@ -415,6 +415,7 @@ build_minmax_path(PlannerInfo *root, MinMaxAggInfo *mminfo,
|
||||
sizeof(int64),
|
||||
Int64GetDatum(1), false,
|
||||
true);
|
||||
parse->limitOption = LIMIT_OPTION_COUNT;
|
||||
|
||||
/*
|
||||
* Generate the best paths for this query, telling query_planner that we
|
||||
|
||||
Reference in New Issue
Block a user