MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry.
Find a file
unknown dd34042ec1 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.  


mysql-test/r/olap.result:
  Added a test case for bug #24856.
mysql-test/t/olap.test:
  Added a test case for bug #24856.
sql/item_func.h:
  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.
  
  Itroduced class Item_func_rollup_const derived from Item_func. The object of
  this class are never detected as constant items.
  We use them for wrapping constant items from the GROUP BY list of any ROLLUP
  query. This wrapping allows us to ensure writing constant items into temporary
  tables whenever the result of the ROLLUP operation has to be written into a
  temporary table, e.g. when ROLLUP is used together with DISTINCT in the SELECT
  list.
sql/sql_select.cc:
  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.
  
  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.
2007-04-29 16:04:43 -07:00
bdb gen_rec.awk: 2006-11-27 18:29:50 +01:00
BitKeeper Test and bug fixes and removed unneccessary files. 2007-02-05 17:09:44 +02:00
BUILD Deleted reject files accidently checked in 2007-04-05 08:30:16 +02:00
client Take into account wether vertical_results are in effect 2007-04-10 17:09:35 +02:00
cmd-line-utils Makefile.am, configure.in: 2005-09-24 15:51:45 +02:00
dbug Makefile.am: 2005-07-05 23:24:48 +02:00
Docs .del-fill_func_tables.sh: 2007-03-22 19:43:15 +01:00
extra Bug#25344 Segmentation violation when try to run the perror utility 2007-02-06 23:00:18 +01:00
heap Bug#26996 - Update of a Field in a Memory Table ends with wrong result 2007-03-19 15:56:53 +01:00
include Deleted reject files accidently checked in 2007-04-05 08:30:16 +02:00
innobase Applied innodb-4.1-ss36 and innodb-4.1-ss38 snapshots 2007-01-21 19:55:17 -07:00
isam Merge a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-4.0 2005-12-04 15:34:47 +02:00
libmysql Merge bk-internal.mysql.com:/home/bk/mysql-4.1 2006-11-29 02:39:17 +03:00
libmysql_r gen_rec.awk: 2006-11-27 18:29:50 +01:00
libmysqld bug #25492 (Invalid deallocation in mysql_stmt_fetch()) 2007-03-05 11:35:04 +04:00
man Makefile.am, configure.in: 2006-07-28 23:12:40 +02:00
merge Makefile.am: 2005-07-05 23:24:48 +02:00
myisam Fixed a warning on win64. 2007-04-19 11:53:25 +05:00
myisammrg BUG#24342 - Incorrect results with query over MERGE table 2007-04-11 01:40:35 +05:00
mysql-test Fixed bug #24856: the result set of a ROLLUP query with DISTINCT could lack 2007-04-29 16:04:43 -07:00
mysys Fixed bug #20710. 2007-04-29 00:50:33 +05:00
ndb Merge whalegate.ndb.mysql.com:/home/tomas/mysql-4.1-ndb 2007-04-12 19:49:21 +02:00
netware Merge mysql.com:/Users/kent/mysql/bk/mysql-4.0 2006-07-24 10:59:51 +02:00
os2 Many files: 2005-09-29 02:08:24 +02:00
pstack Makefile.am, configure.in: 2005-09-24 15:51:45 +02:00
regex Many files: 2005-09-29 02:08:24 +02:00
scripts .del-fill_func_tables.sh: 2007-03-22 19:43:15 +01:00
sql Fixed bug #24856: the result set of a ROLLUP query with DISTINCT could lack 2007-04-29 16:04:43 -07:00
sql-bench Makefile.am, configure.in: 2005-09-24 15:51:45 +02:00
sql-common Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1-maint 2007-03-26 13:45:02 +05:00
SSL Added missing SSL library (Should be in source distribution) 2003-11-28 12:18:13 +02:00
strings Fix for the bug #24037 "Lossy Hebrew to Unicode conversion". 2006-12-22 15:30:37 +03:00
support-files mysql.spec.sh, Makefile.am: 2007-03-27 17:42:55 +02:00
tests Cleanup: remove const. 2006-11-22 16:47:12 +03:00
tools Makefile.am: 2005-07-05 23:24:48 +02:00
VC++Files mysys_ia64.dsp, mysys.vcproj: 2007-03-12 13:18:48 +01:00
vio Merge 192.168.0.10:mysql/mysql-4.1-maint 2007-02-06 14:44:05 +01:00
zlib Makefile.am: 2005-12-15 02:11:21 -03:00
.bzrignore Bug#20166 mysql-test-run.pl does not test system privilege tables creation 2007-02-28 15:03:47 +01:00
.cvsignore Import changeset 2000-07-31 21:29:14 +02:00
acinclude.m4 Moving version-script to acinclude.m4 2007-01-19 17:34:47 -08:00
config.guess updated libtool/autoconf files 2006-05-25 11:36:29 -07:00
config.sub updated libtool/autoconf files 2006-05-25 11:36:29 -07:00
configure.in Merge mysql.com:/home/kent/bk/tmp/mysql-4.0 2007-03-14 14:29:23 +01:00
COPYING - manual.texi will be replaced with a manual written in DocBook/XML. This ChangeSet removes all 2005-04-13 11:51:38 +02:00
depcomp - Applied required modifications for automake 1.5 2002-10-01 21:57:10 +02:00
EXCEPTIONS-CLIENT EXCEPTIONS-CLIENT: 2007-03-14 18:28:16 +01:00
install-sh install-sh: copy not move like any reasonably modern install does 2004-07-30 18:53:54 +02:00
ltconfig libtool tweaks 2004-02-17 21:46:40 +01:00
ltmain.sh updated libtool/autoconf files 2006-05-25 11:36:29 -07:00
Makefile.am mysql.spec.sh, Makefile.am: 2007-03-27 17:42:55 +02:00
missing - Applied required modifications for automake 1.5 2002-10-01 21:57:10 +02:00
mkinstalldirs Import changeset 2000-07-31 21:29:14 +02:00
README make_binary_distribution.sh: 2006-11-07 22:26:37 +01:00

This is a release of MySQL, a dual-license SQL database server.
MySQL is brought to you by the MySQL team at MySQL AB.

License information can be found in these files:
- For GPL (free) distributions, see the COPYING file and
  the EXCEPTIONS-CLIENT file.
- For commercial distributions, see the LICENSE.mysql file.


For further information about MySQL or additional documentation, see:
- The latest information about MySQL: http://www.mysql.com
- The current MySQL documentation: http://dev.mysql.com/doc

Some manual sections of special interest:

- If you are migrating from an older version of MySQL, please read the
  "Upgrading from..." section first!
- To see what MySQL can do, take a look at the features section.
- For installation instructions, see the Installing and Upgrading chapter.
- For the new features/bugfix history, see the Change History appendix.
- For the currently known bugs/misfeatures (known errors) see the Problems
  and Common Errors appendix.
- For a list of developers and other contributors, see the Credits
  appendix.

A local copy of the MySQL Reference Manual can be found in the Docs
directory in GNU Info format.  You can also browse the manual online or
download it in any of several formats at the URL given earlier in this
file.

************************************************************

IMPORTANT:

Bug or error reports should be sent to http://bugs.mysql.com.