mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 05:22:25 +01:00
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.
amazon-web-servicesdatabasefulltext-searchgalerageographical-information-systeminnodbjsonmariadbmysqlrdbmsrelational-databasessqlstorage-enginevector-database
decf9082fb
When using index for group by and range access the server isolates a set of ranges based on the conditions over the key parts of the index used. Then it uses only the ranges over the GROUP BY fields to jump from one group to another. Since the GROUP BY fields may form a prefix over the index, we may use only a prefix of the ranges produced by the range optimizer. Each range contains a notion on whether it includes its border values. The problem is that when using a range prefix, the last range is open because it assumes that there is a range on the next keypart. Thus when we use a prefix range as it is, it excludes all border values. The solution is when ignoring the suffix of the range conditions (to jump over the GROUP BY prefix only) the server must change the remaining intervals so they always contain their borders, e.g. if the whole range was : (1,-inf) <= (<group_by_col>,<min_max_arg_col>) < (1, 3) we must make (1) <= (<group_by_col>) <= (1) because (a,b) < (c1,c2) means : a < c1 OR (a = c1 AND b < c2). mysql-test/r/group_min_max.result: Bug #22342: No results returned for query using max and group by - test case mysql-test/t/group_min_max.test: Bug #22342: No results returned for query using max and group by - test case sql/opt_range.cc: Bug #22342: No results returned for query using max and group by - open the intervals for prefix select when there are more conditions than used for the prefix search. sql/opt_range.h: Bug #22342: No results returned for query using max and group by - open the intervals for prefix select when there are more conditions than used for the prefix search. |
||
---|---|---|
bdb | ||
BitKeeper | ||
BUILD | ||
client | ||
cmd-line-utils | ||
config/ac-macros | ||
dbug | ||
Docs | ||
extra | ||
heap | ||
include | ||
innobase | ||
libmysql | ||
libmysql_r | ||
libmysqld | ||
man | ||
myisam | ||
myisammrg | ||
mysql-test | ||
mysys | ||
ndb | ||
netware | ||
os2 | ||
pstack | ||
regex | ||
scripts | ||
server-tools | ||
sql | ||
sql-bench | ||
sql-common | ||
SSL | ||
strings | ||
support-files | ||
tests | ||
tools | ||
VC++Files | ||
vio | ||
win | ||
zlib | ||
.bzrignore | ||
.cvsignore | ||
CMakeLists.txt | ||
configure.in | ||
COPYING | ||
Makefile.am | ||
README |
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. - For commercial distributions, see the MySQLEULA.txt 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 Installation chapter. - For future plans, see the TODO appendix. - For the new features/bugfix history, see the News appendix. - For the currently known bugs/misfeatures (known errors) see the problems 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.