The SQL standard doesn't allow to use in HAVING clause fields that are not
present in GROUP BY clause and not under any aggregate function in the HAVING
clause. However, mysql allows using such fields. This extension assume that
the non-grouping fields will have the same group-wise values. Otherwise, the
result will be unpredictable. This extension allowed in strict
MODE_ONLY_FULL_GROUP_BY sql mode results in misunderstanding of HAVING
capabilities.
The new error message ER_NON_GROUPING_FIELD_USED message is added. It says
"non-grouping field '%-.64s' is used in %-.64s clause". This message is
supposed to be used for reporting errors when some field is not found in the
GROUP BY clause but have to be present there. Use cases for this message are
this bug and when a field is present in a SELECT item list not under any
aggregate function and there is GROUP BY clause present which doesn't mention
that field. It renders the ER_WRONG_FIELD_WITH_GROUP error message obsolete as
being more descriptive.
The resolve_ref_in_select_and_group() function now reports the
ER_NON_GROUPING_FIELD_FOUND error if the strict mode is set and the field for
HAVING clause is found in the SELECT item list only.
sql/share/errmsg.txt:
Added the new ER_NON_GROUPING_FIELD_USED error message for the bug#14169.
mysql-test/t/having.test:
Added test case for the bug#18739: non-standard HAVING extension was allowed in strict ANSI sql mode.
mysql-test/r/having.result:
Added test case for the bug#18739: non-standard HAVING extension was allowed in strict ANSI sql mode.
sql/sql_select.cc:
Added TODO comment to change the ER_WRONG_FIELD_WITH_GROUP to more detailed ER_NON_GROUPING_FIELD_USED message.
sql/item.cc:
Fixed bug#18739: non-standard HAVING extension was allowed in strict ANSI sql mode.
The resolve_ref_in_select_and_group() function now reports the
ER_NON_GROUPING_FIELD_FOUND error if the strict MODE_ONLY_FULL_GROUP_BY mode
is set and the field for HAVING clause is found in the SELECT item list only.
Fix BUG#18934: "InnoDB crashes when table uses column like DB_ROW_ID".
Also, fix memory leaks in row_create_table_for_mysql() in rare
corner cases.
innobase/dict/dict0dict.c:
Applied innodb-5.0-ss476 snapshot.
Refuse tables that use reserved column names (Bug#18934).
innobase/dict/dict0load.c:
Applied innodb-5.0-ss476 snapshot.
dict_load_table(): Refuse to load tables with other TYPE
than DICT_TABLE_ORDINARY.
innobase/dict/dict0mem.c:
Applied innodb-5.0-ss476 snapshot.
Add dict_mem_table_free(), use it instead of duplicating
the code everywhere.
innobase/ibuf/ibuf0ibuf.c:
Applied innodb-5.0-ss476 snapshot.
innobase/include/dict0dict.h:
Applied innodb-5.0-ss476 snapshot.
Refuse tables that use reserved column name (Bug#18934).
innobase/include/dict0mem.h:
Applied innodb-5.0-ss476 snapshot.
Add dict_mem_table_free(), use it instead of duplicating
the code everywhere.
innobase/include/univ.i:
Applied innodb-5.0-ss476 snapshot.
innobase/log/log0recv.c:
Applied innodb-5.0-ss476 snapshot.
innobase/row/row0mysql.c:
Applied innodb-5.0-ss476 snapshot.
Refuse tables that use reserved column names (Bug#18934).
mysql-test/r/innodb.result:
Applied innodb-5.0-ss476 snapshot.
Fix result for test case for Bug#18934.
(Other changes are to be restored by the next cset).
mysql-test/t/innodb.test:
Applied innodb-5.0-ss476 snapshot.
Fix result for test case for Bug#18934.
(Removed test case for Bug#14360 is to be restored by the next cset).
Fix BUG#16814: "SHOW INNODB STATUS format error in LATEST FOREIGN KEY ERROR section"
Add a missing newline to the LAST FOREIGN KEY ERROR section in SHOW INNODB STATUS
output.
Fix BUG#18934: "InnoDB crashes when table uses column names like DB_ROW_ID".
Refuse tables that use reserved column names.
innobase/dict/dict0dict.c:
Applied innodb-4.1-ss22 snapshot.
dict_foreign_error_report(): Always print a newline after invoking
dict_print_info_on_foreign_key_in_create_format() (Bug#16814).
Refuse tables that use reserved column names (Bug#18934).
innobase/dict/dict0mem.c:
Applied innodb-4.1-ss22 snapshot.
Refuse tables that use reserved column names (Bug#18934).
innobase/include/dict0dict.h:
Applied innodb-4.1-ss22 snapshot.
Refuse tables that use reserved column names (Bug#18934).
innobase/include/dict0mem.h:
Applied innodb-4.1-ss22 snapshot.
Refuse tables that use reserved column names (Bug#18934).
innobase/include/univ.i:
Applied innodb-4.1-ss22 snapshot.
innobase/row/row0mysql.c:
Applied innodb-4.1-ss22 snapshot.
Refuse tables that use reserved column names (Bug#18934).
into c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug18962
mysql-test/r/partition_pruning.result:
Auto merged
sql/partition_info.cc:
Auto merged
Fixes for Bug#12429: Replication tests fail: "Slave_IO_Running" (?) differs related to MySQL 4.1
and Bug#16920 rpl_deadlock_innodb fails in show slave status (reported for MySQL 5.1)
mysql-test/r/rpl_deadlock.result:
Updated result
mysql-test/include/rpl_multi_engine3.inc:
add some sleep for __slow__ replication
mysql-test/t/disabled.def:
enable rpl_ndb_2myisam but keep rpl_ndb_2innodb disabled, new bug#19227
into mysql.com:/usr/local/home/marty/MySQL/mysql-5.1-new
storage/ndb/include/kernel/signaldata/TupFrag.hpp:
Auto merged
storage/ndb/include/util/NdbSqlUtil.hpp:
Auto merged
storage/ndb/src/common/util/NdbSqlUtil.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbtux/DbtuxMeta.cpp:
Auto merged
mysql-test/r/ndb_bitfield.result:
Merge, will generate new result file manually
storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Merge
extra/yassl/taocrypt/cmakelists.txt:
Don't write anything about /GX or /EHsc as cmake will detect that and turn exception handling ON. Since it's off by default, that is what we want.
Remove duplicate test case for bug#14169
mysql-test/t/func_gconcat.test:
Remove duplicate test case for bug#14169
mysql-test/r/func_gconcat.result:
Remove duplicate test case for bug#14169
Removed rpl_ndb_relay_space test since it does not make sense (in
its current form) for NDB.
BitKeeper/deleted/.del-rpl_ndb_relay_space.test~55e5e4b13d3936d0:
Delete: mysql-test/t/rpl_ndb_relay_space.test
BitKeeper/deleted/.del-rpl_ndb_relay_space.result~a44835cdd2210d18:
Delete: mysql-test/r/rpl_ndb_relay_space.result
Fixed up create_handler_files call
sql/ha_ndbcluster.cc:
Fixed up create_handler_files call
sql/ha_partition.cc:
Fixed up create_handler_files call
sql/handler.h:
Fixed up create_handler_files call
sql/sql_table.cc:
Fixed up create_handler_files call
sql/unireg.cc:
Fixed up create_handler_files call
into c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/wl2826
configure.in:
Auto merged
dbug/dbug.c:
Auto merged
include/my_sys.h:
Auto merged
sql/ha_heap.cc:
Auto merged
sql/log.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/partition_info.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_partition.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/table.cc:
Auto merged
BUILD/SETUP.sh:
manual merge
BUILD/compile-pentium-debug-max:
manual merge
sql/ha_ndbcluster.cc:
manual merge
sql/ha_ndbcluster.h:
manual merge
sql/ha_partition.cc:
manual merge
sql/ha_partition.h:
manual merge
sql/handler.h:
manual merge
sql/share/errmsg.txt:
manual merge
sql/sql_table.cc:
manual merge
sql/unireg.cc:
manual merge
Various bug fixes (mostly mixed to and from in replace methods)
sql/sql_partition.cc:
Various bug fixes (mostly mixed to and from in replace methods)
sql/sql_table.cc:
Various bug fixes (mostly mixed to and from in replace methods)