Commit graph

9868 commits

Author SHA1 Message Date
unknown
c0ca163d06 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  chilla.local:/home/mydev/mysql-5.0-axmrg
2006-12-08 12:28:21 +01:00
unknown
5e3f06db42 Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/embt/my50-embt


libmysqld/lib_sql.cc:
  Auto merged
mysql-test/include/federated.inc:
  Auto merged
mysql-test/t/flush_block_commit.test:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
mysql-test/t/join.test:
  Auto merged
mysql-test/t/status.test:
  Auto merged
mysql-test/t/trigger.test:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
mysql-test/mysql-test-run.pl:
  merging
mysql-test/r/flush_block_commit.result:
  SCCS merged
2006-12-08 15:22:46 +04:00
unknown
e47ded8114 A fix and test cases for
Bug#4968 "Stored procedure crash if cursor opened on altered table"
Bug#19733 "Repeated alter, or repeated create/drop, fails"
Bug#19182 "CREATE TABLE bar (m INT) SELECT n FROM foo; doesn't work from 
stored procedure."
Bug#6895 "Prepared Statements: ALTER TABLE DROP COLUMN does nothing"
Bug#22060 "ALTER TABLE x AUTO_INCREMENT=y in SP crashes server"

Test cases for bugs 4968, 19733, 6895 will be added in 5.0.

Re-execution of CREATE DATABASE, CREATE TABLE and ALTER TABLE 
statements in stored routines or as prepared statements caused
incorrect results (and crashes in versions prior to 5.0.25).
In 5.1 the problem occured only for CREATE DATABASE, CREATE TABLE
SELECT and CREATE TABLE with INDEX/DATA DIRECTOY options).

The problem of bugs 4968, 19733, 19282 and 6895 was that functions
mysql_prepare_table, mysql_create_table and mysql_alter_table were not
re-execution friendly: during their operation they used to modify contents
of LEX (members create_info, alter_info, key_list, create_list),
thus making the LEX unusable for the next execution.
In particular, these functions removed processed columns and keys from
create_list, key_list and drop_list. Search the code in sql_table.cc 
for drop_it.remove() and similar patterns to find evidence.

The fix is to supply to these functions a usable copy of each of the
above structures at every re-execution of an SQL statement. 

To simplify memory management, LEX::key_list and LEX::create_list
were added to LEX::alter_info, a fresh copy of which is created for
every execution.

The problem of crashing bug 22060 stemmed from the fact that the above 
metnioned functions were not only modifying HA_CREATE_INFO structure in 
LEX, but also were changing it to point to areas in volatile memory of 
the execution memory root.
 
The patch solves this problem by creating and using an on-stack
copy of HA_CREATE_INFO (note that code in 5.1 already creates and
uses a copy of this structure in mysql_create_table()/alter_table(),
but this approach didn't work well for CREATE TABLE SELECT statement).


mysql-test/r/ps.result:
  Update test results (Bug#19182, Bug#22060)
mysql-test/t/ps.test:
  Add a test case for Bug#19182, Bug#22060 (4.1-only parts)
sql/mysql_priv.h:
  LEX::key_list and LEX::create_list were moved to LEX::alter_info.
  Update declarations to use LEX::alter_info instead of these two
  members.
sql/sql_class.h:
  Replace pair<columns, keys> with an instance of Alter_info in
  select_create constructor. We create a new copy of Alter_info
  each time we re-execute SELECT .. CREATE prepared statement.
sql/sql_insert.cc:
  Adjust to a new signature of create_table_from_items.
sql/sql_lex.cc:
  Implement Alter_info::Alter_info that would make a "deep" copy
  of all definition lists (keys, columns).
sql/sql_lex.h:
  Move key_list and create_list to class Alter_info. Implement
  Alter_info::Alter_info that can be used with PS and SP.
sql/sql_list.h:
  Implement a copy constructor of class List that makes a deep copy
  of all list nodes.
sql/sql_parse.cc:
  Adjust to new signatures of mysql_create_table, mysql_alter_table,
  select_create. Functions mysql_create_index and mysql_drop_index has
  become identical after initialization of alter_info was moved to the 
  parser, and were merged. Flag enable_slow_log was not updated for 
  SQLCOM_DROP_INDEX, which is a bug. Just like CREATE INDEX, DROP INDEX
  is currently done via complete table rebuild and is rightfully a slow
  administrative statement.
sql/sql_show.cc:
  Adjust mysqld_show_create_db to a new signature.
sql/sql_table.cc:
  Adjust mysql_alter_table, mysql_recreate_table, mysql_create_table,
  mysql_prepare_table to new signatures.
sql/sql_yacc.yy:
  LEX::key_list and LEX::create_list moved to class Alter_info
2006-12-08 02:20:09 +03:00
unknown
bc675bbdb5 Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb
2006-12-07 15:54:43 +01:00
unknown
d8ff6cdfc8 Merge mysql.com:/windows/Linux_space/MySQL/mysql-4.1
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0


mysql-test/r/ndb_index_unique.result:
  Auto merged
mysql-test/t/ndb_index_unique.test:
  Auto merged
2006-12-07 15:51:16 +01:00
unknown
6e47c11c7a Bug#24818 CREATE UNIQUE INDEX (...) USING HASH on a NDB table crashes mysqld: Added test case 2006-12-07 15:49:59 +01:00
unknown
1cb8e4e9c9 BUG#23404 - ROW_FORMAT=FIXED option is lost is an index is added to the
table

ROW_FORMAT option is lost during CREATE/DROP INDEX.

This fix forces CREATE/DROP INDEX to retain ROW_FORMAT by instructing
mysql_alter_table() that ROW_FORMAT is not used during creating/dropping
indexes.


mysql-test/r/alter_table.result:
  A test case for bug#23404.
mysql-test/t/alter_table.test:
  A test case for bug#23404.
sql/sql_parse.cc:
  CREATE/DROP INDEX must not change ROW_FORMAT. Setting create_info.row_type
  to ROW_TYPE_NOT_USED informs mysql_alter_table that ROW_FORMAT was not
  used during alteration, and thus must be retained.
2006-12-07 18:32:40 +04:00
unknown
e8be5f6d50 merging fix
mysql-test/r/gis.result:
  result fixed
mysql-test/t/gis.test:
  path to datafile fixed
2006-12-07 15:22:43 +04:00
unknown
7341315d74 merging
mysql-test/r/gis.result:
  result fixed
sql/field.cc:
  Field_*::reset() now returns int
sql/sql_load.cc:
  merging fix
2006-12-07 09:11:56 +04:00
unknown
8f3c395c26 Merge mysql.com:/home/hf/work/22372/my41-22372
into  mysql.com:/home/hf/work/22372/my50-22372


mysql-test/r/gis.result:
  merging
mysql-test/t/gis.test:
  merging
sql/field.cc:
  merging
sql/field.h:
  merging
sql/sql_load.cc:
  merging
2006-12-06 22:02:39 +04:00
unknown
fa115a0f2c bug #22372 (LOAD DATA crashes the table with the geometry field)
The problem is that the GEOMETRY NOT NULL can't automatically set
any value as a default one. We always tried to complete LOAD DATA
command even if there's not enough data in file. That doesn't work
for GEOMETRY NOT NULL. Now Field_*::reset() returns an error sign
and it's checked in mysql_load()


mysql-test/r/gis.result:
  test result
mysql-test/t/gis.test:
  testcase
sql/field.cc:
  reset() now returns error sign
sql/field.h:
  Field_*::reset() now returns error sign if the field can't be reset
sql/sql_load.cc:
  check if field can't be reset and return error if it's so
2006-12-06 21:45:57 +04:00
unknown
8ef1be3de8 Merge bk-internal:/home/bk/mysql-5.0-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-12-05 19:56:49 +01:00
unknown
c7457bdf93 Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-12-05 11:18:00 +01:00
unknown
96fa010c66 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb
2006-12-05 06:38:08 +01:00
unknown
fa52873b35 Merge kpettersson@bk-internal:/home/bk/mysql-5.0-maint
into  kpdesk.mysql.com:/home/thek/dev/tmp/mysql-5.0-maint
2006-12-04 23:51:54 +01:00
unknown
ea67b2fd3e Merge rolltop.ignatz42.dyndns.org:/mnt/storeage/bug20836/my41-bug20836
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-4.1-maint


sql/sql_class.h:
  Auto merged
2006-12-04 15:33:53 -05:00
unknown
2e5a6f9eaa Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


BitKeeper/etc/ignore:
  auto-union
Docs/Makefile.am:
  Auto merged
Makefile.am:
  Auto merged
client/mysql.cc:
  Auto merged
client/mysqltest.c:
  Auto merged
include/Makefile.am:
  Auto merged
myisam/myisampack.c:
  Auto merged
mysql-test/lib/mtr_io.pl:
  Auto merged
mysql-test/lib/mtr_process.pl:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/view_grant.result:
  Auto merged
mysql-test/t/view_grant.test:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/sql_handler.cc:
  Auto merged
extra/yassl/taocrypt/include/algebra.hpp:
  Manual merge with import of upstream yaSSL
2006-12-04 19:28:38 +01:00
unknown
11c27cf6b5 Merge bk-internal:/home/bk/mysql-5.0-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-12-04 19:08:52 +01:00
unknown
c0612e453e Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint


Makefile.am:
  Auto merged
client/mysqltest.c:
  Auto merged
mysql-test/lib/mtr_process.pl:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
sql/mysqld.cc:
  Auto merged
2006-12-04 19:06:42 +01:00
unknown
e9c2c8bad9 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  chilla.local:/home/mydev/mysql-5.0-axmrg


sql/ha_federated.cc:
  Auto merged
2006-12-04 19:03:01 +01:00
unknown
33fc8d5064 Merge bk-internal:/home/bk/mysql-4.1-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
2006-12-04 19:01:31 +01:00
unknown
85b1701ab7 Merge dl145s.mysql.com:/data0/bk/team_tree_merge/mysql-5.0-opt
into  dl145s.mysql.com:/data0/bk/team_tree_merge/MERGE2/mysql-5.0


sql/item_func.cc:
  Auto merged
2006-12-04 18:05:42 +01:00
unknown
6b60322131 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb


ndb/src/ndbapi/NdbTransaction.cpp:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
2006-12-04 15:09:47 +01:00
unknown
9b86f2a48a Merge naruto.:C:/cpp/bug17733/my50-bug17733
into  naruto.:C:/cpp/mysql-5.0-maint


sql/sql_parse.cc:
  Auto merged
2006-12-04 14:43:34 +01:00
unknown
818bec7fb8 type_varchar.result:
fixed a valgrind problem


mysql-test/r/type_varchar.result:
  fixed a valgrind problem
2006-12-04 14:29:51 +02:00
unknown
65da49e6a8 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  example.com:/work/bug24395-v2/my50


myisam/mi_open.c:
  Auto merged
sql/sql_table.cc:
  Auto merged
2006-12-02 00:30:10 +01:00
unknown
6b9d3ccb8b Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  example.com:/work/bug24395-v2/my41


myisam/mi_open.c:
  Auto merged
2006-12-01 23:11:44 +01:00
unknown
d337e90e8c Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  chilla.local:/home/mydev/mysql-5.0-axmrg


configure.in:
  Auto merged
myisam/mi_dynrec.c:
  Auto merged
sql/ha_federated.cc:
  Auto merged
2006-12-01 18:49:20 +01:00
unknown
ec74c40064 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  chilla.local:/home/mydev/mysql-5.0-axmrg


sql/ha_federated.cc:
  Auto merged
2006-12-01 18:38:08 +01:00
unknown
48595c284d Merge kpdesk.mysql.com:/home/thek/dev/bug22043/my50-bug22043
into  kpdesk.mysql.com:/home/thek/dev/mysql-5.0-maint


mysql-test/r/information_schema.result:
  Auto merged
mysql-test/t/information_schema.test:
  Auto merged
mysql-test/t/rpl_sp.test:
  Auto merged
sql/sql_parse.cc:
  Auto merged
mysql-test/r/rpl_sp.result:
  - Merged
2006-12-01 18:00:45 +01:00
unknown
c06f995ba7 Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-5.0-marvel
into  kahlann.erinye.com:/home/df/mysql/build/mysql-5.0-build


client/mysqltest.c:
  Auto merged
libmysql/libmysql.c:
  Auto merged
sql/field.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_trigger.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
2006-12-01 13:02:54 +01:00
unknown
2f0b1d6580 Bug#22043 MySQL don't add "USE <DATABASE>" before "DROP PROCEDURE IF EXISTS"
- Refactoring of duplicate code
- Modified bad test cases
- Changed expected error when operating on information_schema.


mysql-test/r/information_schema.result:
  - updated result file with new error code.
mysql-test/r/rpl_sp.result:
  - Modified test case
mysql-test/t/information_schema.test:
  - Changed error code for operations on information_schema
mysql-test/t/rpl_sp.test:
  - Modified test case
sql/sql_parse.cc:
  - Cleaned up code:
    * replace tab with space
    * simplified if/switch statements
    * refactored duplicated code
2006-12-01 12:50:57 +01:00
unknown
e284256ef0 Bug#17733 Flushing logs causes daily server crash
Server crashes if a flush commmand is issued and binlog is closed.
- added check to prevent binlog access when binlog file isn't opened.


sql/sql_parse.cc:
  - removed deprecated environment consistency check.
  - added check to prevent binlog access on closed binlog.
mysql-test/t/flush2-master.opt:
  - Added test case (master options)
mysql-test/t/flush2.test:
  - Added test case
mysql-test/r/flush2.result:
  - Added test case (resultfile)
2006-12-01 09:49:19 +01:00
unknown
c429ca8498 Merge example.com:/work/bug24395-v2/my41
into  example.com:/work/bug24395-v2/my50

fix for bug#24395 merged into 5.0


mysql-test/t/alter_table.test:
  Auto merged
myisam/mi_open.c:
  merge into 5.0 by using macroses available in 5.0
mysql-test/r/alter_table.result:
  manual merge
sql/sql_table.cc:
  manual merge
  Added else clause of 
  if (new_table && !new_table->file->is_view)
  This else clauses does keys management on the live table, thus we have
  to force other threads to reopen the table.
2006-11-30 18:36:15 +01:00
unknown
a4342155a5 Merge bk-internal:/home/bk/mysql-5.0-opt
into  macbook.gmz:/Users/kgeorge/mysql/work/B11927-5.0-opt
2006-11-30 18:49:50 +02:00
unknown
140c3ee961 func_group.test, func_group.result, func_gconcat.result, func_gconcat.test:
merge fix : removed undeterministic warnings


mysql-test/r/func_gconcat.result:
  merge fix : removed undeterministic warnings
mysql-test/r/func_group.result:
  merge fix : removed undeterministic warnings
mysql-test/t/func_gconcat.test:
  merge fix : removed undeterministic warnings
mysql-test/t/func_group.test:
  merge fix : removed undeterministic warnings
2006-11-30 18:47:59 +02:00
unknown
7d3cb1a453 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb


ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp:
  Auto merged
ndb/tools/ndb_config.cpp:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
2006-11-30 16:04:12 +01:00
unknown
d9540e74e2 Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb


mysql-test/r/ndb_update.result:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
2006-11-30 15:57:43 +01:00
unknown
eb36371ac3 #18487 UPDATE IGNORE not supported for unique constraint violation of non-primary key: call peek_index_rows 2006-11-30 15:02:33 +01:00
unknown
6e791795a2 Merge dl145s.mysql.com:/data0/bk/team_tree_merge/mysql-5.0
into  dl145s.mysql.com:/data0/bk/team_tree_merge/MERGE/mysql-5.0-opt


mysql-test/r/ps.result:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
sql/item_sum.cc:
  Auto merged
2006-11-30 12:22:32 +01:00
unknown
88dd3c59f9 Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


mysql-test/mysql-test-run.pl:
  Auto merged
mysys/my_getopt.c:
  Auto merged
2006-11-30 12:14:28 +01:00
unknown
d242920922 Merge neptunus.(none):/home/msvensson/mysql/bug10608/my41-bug10608
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint


mysql-test/mysql-test-run.pl:
  Auto merged
2006-11-30 11:58:23 +01:00
unknown
ef42631b53 func_gconcat.result, func_gconcat.test:
disabled warnings because their order is undeterministic


mysql-test/t/func_gconcat.test:
  disabled warnings because their order is undeterministic
mysql-test/r/func_gconcat.result:
  disabled warnings because their order is undeterministic
2006-11-30 12:58:05 +02:00
unknown
fc9a6bc528 Merge neptunus.(none):/home/msvensson/mysql/bug20589/my50-bug20589
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-11-30 11:40:13 +01:00
unknown
daa14544e0 Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/t/mysqltest.test:
  Auto merged
client/mysqltest.c:
  Manual merge
mysql-test/r/mysqltest.result:
  Manual merge
2006-11-30 10:57:40 +01:00
unknown
708bce0a97 Add "chmod" command to mysqltest 2006-11-30 10:54:50 +01:00
unknown
30278aedce Merge neptunus.(none):/home/msvensson/mysql/bug19731/my50-bug19731
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


mysql-test/r/mysqltest.result:
  Auto merged
mysql-test/t/mysqltest.test:
  Auto merged
sql/handler.cc:
  Auto merged
client/mysqltest.c:
  Manual merge
2006-11-29 23:08:35 +01:00
unknown
0e8ed1b5f2 Add command "chmod" to mysqltest
client/mysqltest.c:
  Add "chmod" command
mysql-test/r/mysqltest.result:
  Update result file
mysql-test/t/mysqltest.test:
  Add tests for chmod
2006-11-29 23:02:06 +01:00
unknown
403fa25473 federated.test:
fixed test to replace port to SLAVE_PORT in result file
federated.result:
  new result file


mysql-test/t/federated.test:
  fixed test to replace port to SLAVE_PORT in result file
mysql-test/r/federated.result:
  new result file
2006-11-29 13:56:59 -05:00
unknown
46d0568888 Merge dl145s.mysql.com:/data0/bk/team_tree_merge/mysql-5.0-opt
into  dl145s.mysql.com:/data0/bk/team_tree_merge/MERGE2/mysql-5.0-opt
2006-11-29 16:32:13 +01:00