summaryrefslogtreecommitdiff
path: root/pstack
diff options
context:
space:
mode:
authorigor@olga.mysql.com <>2007-04-29 16:04:43 -0700
committerigor@olga.mysql.com <>2007-04-29 16:04:43 -0700
commitce0be732d08b4966115486191fc37af5e1478b00 (patch)
treead655f83591da9e2ddefe8be314cbb25a66a1ab8 /pstack
parent2d8037610c7c767e698b66bfb85f2a021d9e124b (diff)
downloadmariadb-git-ce0be732d08b4966115486191fc37af5e1478b00.tar.gz
Fixed bug #24856: the result set of a ROLLUP query with DISTINCT could lack
some rollup rows (rows with NULLs for grouping attributes) if GROUP BY list contained constant expressions. This happened because the results of constant expressions were not put in the temporary table used for duplicate elimination. In fact a constant item from the GROUP BY list of a ROLLUP query can be replaced for an Item_null_result object when a rollup row is produced . Now the JOIN::rollup_init function wraps any constant item referenced in the GROYP BY list of a ROLLUP query into an Item_func object of a special class that is never detected as constant item. This ensures creation of fields for such constant items in temporary tables and guarantees right results when the result of the rollup operation first has to be written into a temporary table, e.g. in the cases when duplicate elimination is required.
Diffstat (limited to 'pstack')
0 files changed, 0 insertions, 0 deletions