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 d945033292 WL#1724 "Min/Max Optimization for Queries with Group By Clause"
- after-review changes
- merged with the source tree from 204-08-27


mysql-test/r/distinct.result:
  Different plans due to group-by optimization.
sql/ha_myisam.cc:
  More general interface to key_copy.
sql/handler.cc:
  More general interface to key_copy.
sql/item.cc:
  New method to collect all Item_field objects. Used by Item::walk.
sql/item.h:
  Several methods to collect different kinds of items from expression trees.
  Used by Item::walk.
sql/item_sum.cc:
  Added helper to collect Item_sum objects.
sql/item_sum.h:
  Methods to collect and test Item_sum objects.
sql/key.cc:
  More general interface to key_copy and key_restore.
sql/mysql_priv.h:
  More general interface to key_copy and key_restore.
sql/opt_range.cc:
  Complete implementaion of WL#1724 "Min/Max Optimization for Queries with Group By Clause".
sql/opt_range.h:
  Complete implementaion of WL#1724 "Min/Max Optimization for Queries with Group By Clause".
sql/opt_sum.cc:
  simple_pred is re-used in opt_range.cc
sql/sql_acl.cc:
  More general interface to key_copy and key_restore.
sql/sql_handler.cc:
  More general interface to key_copy.
sql/sql_insert.cc:
  More general interface to key_copy.
sql/sql_select.cc:
  Changes to hook the new QUICK_GROUP_MIN_MAX_SELECT due to two differences from all other
  quick selects:
  1)
  This quick select may be created (and used) even if there is no WHERE clause.
  Several places assumed that a QUICK_SELECT is constructed only if there is a WHERE clause,
  which had to be changed so that QUICK_GROUP_MIN_MAX can be used.
  2)
  Unlike all other quick selects, this QUICK_GROUP_MIN_MAX_SELECT operates for GROUP BY queries.
  Since for the caller the quick select already produces one result tuple per group, there is
  no need to call end_send_group, instead we have to call end_send as for a regular quick select.
sql/sql_select.h:
  simple_pred is re-used in opt_range.cc
2004-08-27 16:37:13 +03:00
bdb - make sure to generate the BDB tags file, otherwise s_symlink will create 2003-04-11 17:20:32 +02:00
BitKeeper Merge with 4.1 2004-07-12 08:20:24 +03:00
BUILD - re-enabled NDB cluster in compile-pentium-max 2004-06-14 21:17:28 +02:00
Build-tools manual merged (blame me!) 2004-07-20 00:53:24 +02:00
client Replication: various small fixes specific to the new binlog format of 5.0 2004-07-26 19:42:59 +02:00
cmd-line-utils symlink a whole dir, not individual files (symlinking individual files is one subdir below and results in broken links) 2004-04-26 13:27:23 +02:00
dbug Made my_snprintf() behavior snprintf() compatible when printing %x arguments (it should 2004-05-27 17:54:40 +04:00
Docs Merge with 4.1.3-beta 2004-07-07 11:29:39 +03:00
extra Disabling broken building of mysql_tztime_to_sql utility to allow perform test builds. 2004-06-23 02:48:47 +04:00
heap assert.h needed for my_dbug.h now is included in my_dbug.h, where it for 2004-06-10 23:58:39 +04:00
include Port of cursors to be pushed into 5.0 tree: 2004-08-03 03:32:21 -07:00
innobase manual merge 2004-07-20 15:34:57 +02:00
isam Fix skipp -> skip once and for all. 2004-06-03 11:52:54 -05:00
libmysql Port of cursors to be pushed into 5.0 tree: 2004-08-03 03:32:21 -07:00
libmysql_r merge with 4.0 to get windows fixes 2004-05-27 00:30:28 +03:00
libmysqld client_test.cc -> client_test.c 2004-08-03 18:58:35 -07:00
man - Applied some portability fixes for SGI IRIX/MipsPro compiler 2004-06-22 17:35:34 +02:00
merge Fix skipp -> skip once and for all. 2004-06-03 11:52:54 -05:00
myisam failing fulltext_order_by.test fixed 2004-07-15 17:30:55 +02:00
myisammrg bug#4008 - merge table cannot determine what key caused "dupl. key" error 2004-06-25 15:12:13 +02:00
mysql-test WL#1724 "Min/Max Optimization for Queries with Group By Clause" 2004-08-27 16:37:13 +03:00
mysys Post-merge fix. 2004-07-23 18:54:01 +02:00
ndb Add include of signal.h to Emulator.cpp 2004-07-23 10:32:23 +02:00
netware Merge with 4.1.3-beta 2004-07-07 11:29:39 +03:00
NEW-RPMS Import changeset 2000-07-31 21:29:14 +02:00
os2 - Updated OS/2 port with files provided by Yuri Dario <mc6530@mclink.it> 2002-07-15 18:26:11 +02:00
pstack fixed bug #3200 "cannot compile with pstack" 2004-03-19 18:38:25 +04:00
regex - compile fix for regex/regcomp.c spotted on Mac OS X 2004-06-15 12:58:58 +02:00
scripts manual merge 2004-07-20 15:34:57 +02:00
sql WL#1724 "Min/Max Optimization for Queries with Group By Clause" 2004-08-27 16:37:13 +03:00
sql-bench Merge with 4.1.3-beta 2004-07-07 11:29:39 +03:00
sql-common Merge with 4.1.3-beta 2004-07-07 11:29:39 +03:00
SSL Added missing SSL library (Should be in source distribution) 2003-11-28 12:18:13 +02:00
strings Minor fix: V is primary level, not U. 2004-07-08 15:19:26 +05:00
support-files - fixed file name of the MySQL startup item script to MySQLCOM, 2004-07-14 09:10:49 +02:00
tests Compilation failure fix. 2004-08-03 21:59:52 -07:00
tools API change: mysql_shutdown() now needs a 2nd parameter, the shutdown level. 2004-06-15 11:35:23 +02:00
VC++Files Post-merge fix. 2004-07-23 18:54:01 +02:00
vio Don't close already closed files in vio (not critical) 2004-07-12 07:38:46 +03:00
zlib First step of implementation of WL#1518 "make bundled zlib 2004-07-21 17:36:26 -07:00
.bzrignore Port of cursors to be pushed into 5.0 tree: 2004-08-03 03:32:21 -07:00
.cvsignore Import changeset 2000-07-31 21:29:14 +02:00
acconfig.h 2004-06-18 13:12:47 +05:00
acinclude.m4 a line left from manual merge removed 2004-07-21 19:20:22 -07:00
config.guess - updated config.guess, config.sub and ltmain.sh with versions from libtool 2004-02-06 00:58:15 +01:00
config.sub - updated config.guess, config.sub and ltmain.sh with versions from libtool 2004-02-06 00:58:15 +01:00
configure.in - bumped up version number in configure.in to 5.0.2-alpha, now that 2004-08-03 02:13:49 +02:00
depcomp - Applied required modifications for automake 1.5 2002-11-17 16:45:21 +01:00
install-sh - Applied required modifications for automake 1.5 2002-11-17 16:45:21 +01:00
ltconfig libtool tweaks 2004-02-17 21:46:40 +01:00
ltmain.sh backport libtool fix from 4.1 2004-04-24 04:04:44 +02:00
Makefile.am Previous commit didn't make it (tree fix): I'd forgotten semicolon. 2004-06-24 22:47:05 +04:00
missing - Applied required modifications for automake 1.5 2002-11-17 16:45:21 +01:00
mkinstalldirs Import changeset 2000-07-31 21:29:14 +02:00
README Removed URL (website is not actively maintained anymore) 2002-04-24 08:28:50 +02:00

This is a release of MySQL, a GPL (free) SQL database server (more
licence information in the PUBLIC file and in the reference manual).

Please read the "Upgrading from..." section in the manual first, if you are
migrating from older versions of MySQL!

The latest information about MySQL can be found at:
http://www.mysql.com

To see what it can do take a look at the features section in the
manual.

For installation instructions see the Installation chapter in the
manual.

For future plans see the TODO appendix in the manual.

New features/bug fixes history is in the news appendix in the manual.

For the currently known bugs/misfeatures (known errors) see the bugs
appendix in the manual.

For examples of SQL and benchmarking information see the bench
directory.

The manual mentioned above can be found in the Docs directory. The
manual is available in the following formats: as plain ASCII text in
Docs/manual.txt, in HTML format in Docs/manual_toc.html, as GNU Info in
Docs/mysql.info and as PostScript in Docs/manual.ps.

MySQL is brought to you by the MySQL team at MySQL AB

For a list of developers and other contributors, see the Credits appendix
in the manual.

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

IMPORTANT:

Send bug (error) reports, questions and comments to the mailing list
at mysql@lists.mysql.com

Please use the 'mysqlbug' script when posting bug reports or questions
about MySQL. mysqlbug will gather some information about your system
and start your editor with a form in which you can describe your
problem. Bug reports might be silently ignored by the MySQL
maintainers if there is not a good reason included in the report as to
why mysqlbug has not been used. A report that says 'MySQL does not
work for me. Why?' is not considered a valid bug report.

The mysqlbug script can be found in the 'scripts' directory of the
distribution, that is '<where-you-installed-mysql>/scripts'.