1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-10 23:02:54 +03:00
Commit Graph

12468 Commits

Author SHA1 Message Date
unknown
4b7c4cd27f Fixed bug#18739: non-standard HAVING extension was allowed in strict ANSI sql mode.
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.
2006-04-21 01:52:59 +04:00
unknown
4369050126 Restoring changes erroneously removed by applying
the innodb-5.0-ss476 snapshot.
2006-04-21 01:37:31 +04:00
unknown
7ee05d7c71 Applied innodb-5.0-ss476 snapshot.
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).
2006-04-21 01:07:37 +04:00
unknown
058aa02585 Merge c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug18962
into  c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug19067


sql/partition_info.cc:
  Auto merged
2006-04-20 14:21:05 -04:00
unknown
e66e612931 Merge c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/clean-mysql-5.1-new
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
2006-04-20 14:16:27 -04:00
unknown
3807620087 Merge c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/clean-mysql-5.1-new
into  c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/bug19067
2006-04-20 14:13:49 -04:00
unknown
1727aec630 BUG#19067: Alter table add partition for subpartitioned table crashes
Changed variable name for improved clarity and debugging possibilities
Fixed bug in not assigning subpart_type


mysql-test/t/partition.test:
  Added new test case
sql/partition_info.cc:
  Changed variable name for improved clarity and debugging possibilities
  Fixed bug in not assigning subpart_type
sql/sql_partition.cc:
  Changed variable name for improved clarity and debugging possibilities
  Fixed bug in not assigning subpart_type
2006-04-20 14:11:54 -04:00
unknown
73434916f6 ndb/repl - bug#19004 rpl_ndb_2myisam ok, rpl_ndb_2innodb new bug(number)19227
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
2006-04-20 18:53:23 +02:00
unknown
f9c7528ab9 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/opt/local/work/mysql-5.1-merge
2006-04-20 20:49:41 +04:00
unknown
cfe3397e38 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  rurik.mysql.com:/home/igor/mysql-5.1
2006-04-20 07:24:34 -07:00
unknown
f9523779ea Merge mysql.com:/extern/mysql/bk/mysql-5.0-runtime
into  mysql.com:/extern/mysql/5.0/bug18949/mysql-5.0-runtime


sql/sql_yacc.yy:
  Auto merged
2006-04-20 16:00:33 +02:00
unknown
52b0bb6ed4 added missing cleanup in test causing later test to fail 2006-04-20 15:28:31 +02:00
unknown
58938d21ca Merge three.local.lan:/home/matthias/Arbeit/mysql-5.0/src
into  three.local.lan:/home/matthias/Arbeit/mysql-5.0/src-1
2006-04-20 12:35:10 +02:00
unknown
9328e8874a Bug#9509: Optimizer: wrong result after AND with latin1_german2_ci comparisons
Fixing part2 of this problem: AND didn't work well 
with utf8_czech_ci and utf8_lithianian_ci in some cases.

The problem was because when during condition optimization
field was replaced with a constant, the constant's collation
and collation derivation was used later for comparison instead
of the field collation and derivation, which led to non-equal
new condition in some cases.

This patch copies collation and derivation from the field being removed
to the new constant, which makes comparison work using the same collation
with the one which would be used if no condition optimization were done.

In other words:

  where s1 < 'K' and s1 = 'Y';

was rewritten to:

  where 'Y' < 'K' and s1 = 'Y';

Now it's rewritten to:

  where 'Y' collate collation_of_s1 < 'K' and s1 = 'Y'

  (using derivation of s1)


Note, the first problem of this bug (with latin1_german2_ci) was fixed
earlier in 5.0 tree, in a separate changeset.


mysql-test/r/ctype_utf8.result:
  Adding test case
mysql-test/t/ctype_utf8.test:
  Adding test case
sql/sql_select.cc:
  Set proper collation of the new item
2006-04-20 15:09:01 +05:00
unknown
c2911e9425 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new


mysql-test/mysql-test-run.pl:
  Auto merged
2006-04-20 12:06:14 +02:00
unknown
d27c7a7c80 func_gconcat.result, func_gconcat.test:
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
2006-04-20 13:34:14 +04:00
unknown
5f3c91080c Merge mleich@bk-internal.mysql.com:/home/bk/mysql-4.1
into  production.mysql.com:/usersnfs/mleich/src
2006-04-20 11:31:22 +02:00
unknown
a008bb512d Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/usr/local/home/marty/MySQL/mysql-5.1-new
2006-04-20 11:11:21 +02:00
unknown
fffe7c4d1e func_gconcat.test:
Clean up test case for bug#14169


mysql-test/t/func_gconcat.test:
  Clean up test case for bug#14169
2006-04-20 12:35:33 +04:00
unknown
e0127921c6 Bug#16993 (ALTER TABLE ADD col AUTO_INCREMENT does not replicate):
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
2006-04-20 08:56:47 +02:00
unknown
0775a71222 Merge rurik.mysql.com:/home/igor/mysql-5.0
into  rurik.mysql.com:/home/igor/dev/mysql-5.0-0
2006-04-19 18:27:18 -07:00
unknown
73a66e27e6 Merge c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/clean-mysql-5.1-new
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
2006-04-19 21:22:35 -04:00
unknown
8e27c3744f Merge rurik.mysql.com:/home/igor/dev/mysql-4.1-2
into  rurik.mysql.com:/home/igor/dev/mysql-5.0-0


mysys/mf_keycache.c:
  Auto merged
ndb/src/kernel/SimBlockList.cpp:
  Auto merged
ndb/src/kernel/blocks/ndbcntr/NdbcntrInit.cpp:
  Auto merged
mysql-test/r/func_gconcat.result:
  Manual merge
mysql-test/r/key_cache.result:
  Manual merge
mysql-test/t/func_gconcat.test:
  Manual merge
mysql-test/t/key_cache.test:
  Manual merge
sql/item_func.cc:
  Manual merge
sql/item_sum.h:
  Manual merge
sql/lock.cc:
  Manual merge
sql/sql_select.cc:
  Manual merge
sql/unireg.h:
  Manual merge
2006-04-19 18:08:15 -07:00
unknown
e4d653abb8 Temporarily commented out a query from the test case for bug 14169 to make it pass with --ps-protocol.
mysql-test/r/func_gconcat.result:
  Added DROP TABLE command to the test case for bug 14169.
2006-04-19 16:08:37 -07:00
unknown
2ff336e27a BUG#17400 enabled rpl_ndb_dd_partitions 2006-04-19 23:46:40 +02:00
unknown
d8df724af2 Merge mysql.com:/home/jimw/my/mysql-5.0-17043
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2006-04-19 14:18:35 -07:00
unknown
8d3e92e320 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new


mysql-test/t/disabled.def:
  Auto merged
2006-04-19 22:46:01 +02:00
unknown
213a6d1031 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new


mysql-test/t/disabled.def:
  Auto merged
2006-04-19 19:56:52 +02:00
unknown
b538c3522a Disabling test that fails. There is already a bug for the failure.
mysql-test/t/disabled.def:
  Disabling failing test.
2006-04-19 19:53:17 +02:00
unknown
8fda6848e7 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  rurik.mysql.com:/home/igor/mysql-5.1
2006-04-19 10:45:06 -07:00
unknown
222cd6e891 Merge mysql.com:/opt/local/work/tmp_merge
into  mysql.com:/opt/local/work/mysql-5.1-merge


mysql-test/r/ps.result:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/set_var.cc:
  Manual merge.
sql/set_var.h:
  Manual merge.
sql/share/errmsg.txt:
  Manual merge.
2006-04-19 21:12:24 +04:00
unknown
c7cd7951cf Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  mysql.com:/home/dlenev/mysql-5.0-bg16021


sql/item_func.cc:
  Auto merged
2006-04-19 19:35:32 +04:00
unknown
de76dd3a1f Added test case for bug #16021 "Wrong index given to function in trigger"
which was caused by the same bulk insert optimization as bug #17764 but
had slightly different symptoms.
2006-04-19 19:13:03 +04:00
unknown
24c005cf2b Merge mysql.com:/home/bkroot/mysql-5.1-new
into  mysql.com:/home/bk/b17400-mysql-5.1-new
2006-04-19 15:33:31 +02:00
unknown
d77cfdc756 Bug#16993 (ALTER TABLE ZEROFILL AUTO_INCREMENT not replicated correctly):
This is not a bug. Enabling disabled test and adding comment.


mysql-test/extra/rpl_tests/rpl_sv_relay_space.test:
  Adding comment about test.
mysql-test/r/rpl_ndb_relay_space.result:
  Result change.
mysql-test/r/rpl_relay_space_innodb.result:
  Result change.
mysql-test/r/rpl_relay_space_myisam.result:
  Result change.
mysql-test/t/disabled.def:
  Enabling test
2006-04-19 15:29:49 +02:00
unknown
db37c0d615 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new
2006-04-19 14:58:42 +02:00
unknown
37fdc23672 BUG#18094 Slave caches invalid table definition after atlters causes select failure
- return correct object status from ndb dictionary
- check for validity of index retrieved from index, and retry if invalid
2006-04-19 14:54:39 +02:00
unknown
f5b0b1c3a8 Merge neptunus.(none):/home/msvensson/mysql/bug18564/my50-bug18564
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-04-19 13:56:09 +02:00
unknown
e334f82ccd Bug#6951: Triggers/Traditional: SET @ result wrong
While executing a trigger, we have to set thd->abort_on_warning to the value
it had at trigger creation time.


mysql-test/r/trigger.result:
  Add result for bug#6951.
mysql-test/t/trigger.test:
  Add test case for bug#6951.
sql/sp_head.cc:
  While executing a trigger, set thd->abort_on_warning to the value it had at
  trigger creation time.
2006-04-19 14:27:59 +04:00
unknown
4441e34e38 BUG#18160 - Memory-/HEAP Table endless growing indexes
Updating data in HEAP table with BTREE index results in wrong index_length
counter value, which keeps growing after each update.

When inserting new record into tree counter is incremented by:
sizeof(TREE_ELEMENT) + key_size + tree->size_of_element
But when deleting element from tree it doesn't decrement counter by key_size:
sizeof(TREE_ELEMENT) + tree->size_of_element

This fix makes accurate allocated memory counter for tree. That is
decrease counter by key_size when deleting tree element.


heap/hp_delete.c:
  Added size of the key to tree_delete() for accurate allocated memory counter.
include/my_tree.h:
  Added size of the key to tree_delete() for accurate allocated memory counter.
myisam/myisamlog.c:
  Added size of the key to tree_delete() for accurate allocated memory counter.
mysql-test/r/heap_btree.result:
  Testcase for BUG#18160.
mysql-test/t/heap_btree.test:
  Testcase for BUG#18160.
mysys/tree.c:
  Added size of the key to tree_delete() for accurate allocated memory counter.
  Note that this size is optional. If one doesn't need precise counter it is safe
  to pass 0 as key_size.
2006-04-19 15:13:50 +05:00
unknown
cbdc730ae5 Fixed timeing problem by ignoring failures and results from first select after table definition change
mysql-test/r/ndb_alter_table2.result:
  Fixed timeing problem by ignoring failures and results from first select after table definition changethe
mysql-test/r/ndb_alter_table_stm.result:
  Fixed timeing problem by ignoring failures and results from first select after table definition changethe
2006-04-19 12:21:33 +03:00
unknown
1fa3cdd006 Merge mysql.com:/home/bkroot/mysql-5.1-new
into  mysql.com:/home/bk/b17400-mysql-5.1-new


mysql-test/t/disabled.def:
  Merge with mysql-5.1-new
2006-04-19 10:58:44 +02:00
unknown
97cddd4a30 Only run test with row based logging 2006-04-19 11:20:11 +03:00
unknown
c83dce6e34 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/usr/home/bar/mysql-5.1-new.b17870v1
2006-04-19 11:42:41 +05:00
unknown
2b49181d2f Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/usr/home/bar/mysql-5.1-new.b17870v1


include/my_sys.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
mysys/my_access.c:
  SCCS merged
2006-04-19 09:50:17 +05:00
unknown
c6590081c3 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/usr/home/bar/mysql-5.1-new.b16319
2006-04-19 09:22:04 +05:00
unknown
b97e48a95b Fixed bug #19079.
The bug caused a reported index corruption in the cases when
key_cache_block_size was not a multiple of myisam_block_size,
e.g. when key_cache_block_size=1536 while myisam_block_size=1024.


mysql-test/r/key_cache.result:
  Added a test case for bug #19079.
mysql-test/t/key_cache.test:
  Added a test case for bug #19079.
2006-04-18 20:57:31 -07:00
unknown
f909f9965b Cleanup test cases that leaves "stuff" behind
mysql-test/r/ctype_latin2_ch.result:
  Drot table at end of test
mysql-test/r/grant2.result:
  Drop users
mysql-test/r/openssl_1.result:
  Drop users
mysql-test/r/rpl_openssl.result:
  Drop users
mysql-test/r/sp-security.result:
  Drop users
mysql-test/r/sp_notembedded.result:
  Drop table
mysql-test/r/trigger.result:
  Drop table
mysql-test/t/ctype_latin2_ch.test:
  Drop table
mysql-test/t/grant2.test:
  Drop users
mysql-test/t/openssl_1.test:
  Drop users
mysql-test/t/rpl_openssl.test:
  Drop users
mysql-test/t/sp-security.test:
  Drop users
mysql-test/t/sp_notembedded.test:
  Drop table
mysql-test/t/trigger.test:
  Drop table
2006-04-18 18:10:47 +02:00
unknown
f539e5880b Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/bug18564/my50-bug18564


sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
2006-04-18 17:07:35 +02:00
unknown
176cd14352 Fixed BUG#18344: DROP DATABASE does not drop associated routines
We must use the db key length in sp_drop_db_routines (and not the
  number of characters), or long db names will be truncated in the key.


mysql-test/r/sp.result:
  Updated results for new test case (BUG#18344)
mysql-test/t/sp.test:
  Added new test case for BUG#18344.
sql/sp.cc:
  In sp_drop_db_routines(), give the key field's ("db") key length
  instead of the number of characters to index_read(), or the key
  packing will truncate long db names.
2006-04-18 16:01:01 +02:00