1
0
mirror of https://github.com/MariaDB/server.git synced 2025-06-13 13:01:51 +03:00
Commit Graph

1063 Commits

Author SHA1 Message Date
4b4b8f933e Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  zim.(none):/home/mikael/bug17127
2006-03-14 02:32:46 -08:00
c71dd8c145 Manual merge 2006-03-14 01:39:27 -08:00
0ec5ee2c50 Manual merge 2006-03-14 01:39:27 -08:00
06dde3aae8 Merge zim.(none):/home/mikael/bug15961
into  zim.(none):/home/mikael/bug16370


sql/sql_partition.cc:
  Auto merged
mysql-test/r/partition.result:
  manual merge
mysql-test/t/partition.test:
  manual merge
2006-03-14 01:24:06 -08:00
ff77d7665d Merge zim.(none):/home/mikael/bug15961
into  zim.(none):/home/mikael/bug16370
2006-03-14 01:24:06 -08:00
9fd99c1b64 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  zim.(none):/home/mikael/bug16370


mysql-test/r/partition.result:
  manual merge
mysql-test/t/partition.test:
  manual merge
sql/sql_partition.cc:
  manual merge
2006-03-14 01:07:29 -08:00
946979d2af Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  zim.(none):/home/mikael/bug16370
2006-03-14 01:07:29 -08:00
4ee001c5f1 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  zim.(none):/home/mikael/bug15961


sql/share/errmsg.txt:
  Auto merged
sql/sql_partition.cc:
  Auto merged
mysql-test/r/partition.result:
  manual merge
mysql-test/t/partition.test:
  manual merge
2006-03-14 00:51:44 -08:00
a0f22844a7 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  zim.(none):/home/mikael/bug15961
2006-03-14 00:51:44 -08:00
60d5f457c8 BUG#15961: After review fixes
New error message


sql/share/errmsg.txt:
  New error message
sql/sql_partition.cc:
  New error message
2006-03-14 00:39:06 -08:00
4adb973df4 BUG#15961: After review fixes
New error message
2006-03-14 00:39:06 -08:00
51cae9210f Merge mysql.com:/home/jimw/my/mysql-5.1-17097
into  mysql.com:/home/jimw/my/mysql-5.1-clean


sql/sql_partition.cc:
  Auto merged
mysql-test/r/partition.result:
  e
  Resolve conflict
mysql-test/t/partition.test:
  Resolve conflict
2006-03-13 06:20:20 -08:00
cf48e4cde6 Merge mysql.com:/home/jimw/my/mysql-5.1-17097
into  mysql.com:/home/jimw/my/mysql-5.1-clean
2006-03-13 06:20:20 -08:00
7e1627d085 Bug #17097: Partitions: failing ADD PRIMARY KEY leads to temporary rotten metadata,crash
When doing an ALTER TABLE on a table using partitioning, force the table
  definition to get reloaded, since it may become invalid whenever the ALTER
  TABLE fails (even for an ALTER TABLE without specific partitioning changes).


mysql-test/r/partition.result:
  New results
mysql-test/t/partition.test:
  New regression test
sql/sql_partition.cc:
  Always force table to get reloaded when we ALTER a
  partitioned table
2006-03-13 05:01:11 -08:00
ed453f077f Bug #17097: Partitions: failing ADD PRIMARY KEY leads to temporary rotten metadata,crash
When doing an ALTER TABLE on a table using partitioning, force the table
  definition to get reloaded, since it may become invalid whenever the ALTER
  TABLE fails (even for an ALTER TABLE without specific partitioning changes).
2006-03-13 05:01:11 -08:00
402ff5523e Ensure we discover also error in using subpartition parts in
non-subpartitioned tables in ALTER TABLE ADD/REORGANIZE PARTITION
2006-03-11 06:32:24 -08:00
d10a0e7e35 Ensure we discover also error in using subpartition parts in
non-subpartitioned tables in ALTER TABLE ADD/REORGANIZE PARTITION
2006-03-11 06:32:24 -08:00
29cd6ff642 BUG#15961: SUBPARTITION defined in non-subpartitioned table no error
Made sure that no subpartition stuff in non-subpartitioned table


mysql-test/r/partition.result:
  New test case
mysql-test/r/partition_mgm_err.result:
  Fixed bug in test case
mysql-test/t/partition.test:
  New test case
mysql-test/t/partition_mgm_err.test:
  Fixed bug in test case
sql/sql_partition.cc:
  Made sure that no subpartition stuff in non-subpartitioned table
2006-03-11 06:17:10 -08:00
c34c2cfa45 BUG#15961: SUBPARTITION defined in non-subpartitioned table no error
Made sure that no subpartition stuff in non-subpartitioned table
2006-03-11 06:17:10 -08:00
56c24480a9 BUG#16370: Default subpartitioning not properly handled in conjunction
with ALTER TABLE ADD/REORGANIZE PARTITION
Ensure that default subpartitioning is removed when subpartitions
are defined in ADD/REORGANIZE PARTITION


mysql-test/r/partition.result:
  New test cases
mysql-test/t/partition.test:
  New test cases
sql/sql_partition.cc:
  Ensure that default subpartitioning is removed when subpartitions
  are defined in ADD/REORGANIZE PARTITION
2006-03-11 05:56:06 -08:00
8d3c7e3b27 BUG#16370: Default subpartitioning not properly handled in conjunction
with ALTER TABLE ADD/REORGANIZE PARTITION
Ensure that default subpartitioning is removed when subpartitions
are defined in ADD/REORGANIZE PARTITION
2006-03-11 05:56:06 -08:00
6636937807 Merge mikael@gorf.tangent.org:/home/mikael/bug17127
into  mikael-ronstr-ms-dator.local:/Users/mikron/bug17127


sql/sql_partition.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
mysql-test/r/partition.result:
  Manual merge
mysql-test/t/partition.test:
  Manual merge
2006-03-10 10:43:39 +01:00
8a5f3b5339 Merge mikael@gorf.tangent.org:/home/mikael/bug17127
into  mikael-ronstr-ms-dator.local:/Users/mikron/bug17127
2006-03-10 10:43:39 +01:00
3c7a8c3748 Fixed portability issue in 5.1 to include parsers from other applications.
sql/event_timed.cc:
  Added support for new parser function
sql/sql_partition.cc:
  Change calling parser name.
2006-03-09 17:37:59 -08:00
469893066b Fixed portability issue in 5.1 to include parsers from other applications. 2006-03-09 17:37:59 -08:00
b7b8fd2569 BUG#17127: Crash if wrong use of VALUES for list partition
mysql-test/r/partition.result:
  Added a number of new test cases where errors in use of
  VALUES LESS THAN and VALUES IN is happening for ALTER TABLE
mysql-test/t/partition.test:
  Added a number of new test cases where errors in use of
  VALUES LESS THAN and VALUES IN is happening for ALTER TABLE
sql/sql_partition.cc:
  Check for errors with VALUES *
sql/sql_yacc.yy:
  Add state to part_type when doing ALTER TABLE for partitioning
2006-03-09 18:19:34 +01:00
0a48cd762a BUG#17127: Crash if wrong use of VALUES for list partition 2006-03-09 18:19:34 +01:00
807c7a6a49 Fix for bug#15447 Partitions: NULL is treated as zero
NULL value handling


mysql-test/r/ndb_partition_error.result:
  Fix for bug#15447 Partitions: NULL is treated as zero
    test case
mysql-test/r/partition.result:
  Fix for bug#15447 Partitions: NULL is treated as zero
    test case
mysql-test/t/ndb_partition_error.test:
  Fix for bug#15447 Partitions: NULL is treated as zero
    test case
mysql-test/t/partition.test:
  Fix for bug#15447 Partitions: NULL is treated as zero
    test case
sql/partition_element.h:
  Fix for bug#15447 Partitions: NULL is treated as zero
    added null value flag to partition_element object
sql/partition_info.h:
  Fix for bug#15447 Partitions: NULL is treated as zero
    added null value flag to partition_info object
    added has_null partition id variable
2006-03-07 15:25:08 +04:00
bcf710e97c Fix for bug#15447 Partitions: NULL is treated as zero
NULL value handling
2006-03-07 15:25:08 +04:00
3d96d86695 Bug#14527: Partitions: table unreadable if partition name = c-cedilla
sql_partition.cc:
  Changeing THD charset to utf8 when parsing a frm file.
partition_charset.test, partition_charset.result:
  new file


sql/sql_partition.cc:
  Bug#14527: Partitions: table unreadable if partition name = c-cedilla
  Changering THD charset to utf8 when parsing
  a frm file.
2006-03-02 12:25:02 +04:00
abf1fc9bd5 Bug#14527: Partitions: table unreadable if partition name = c-cedilla
sql_partition.cc:
  Changeing THD charset to utf8 when parsing a frm file.
partition_charset.test, partition_charset.result:
  new file
2006-03-02 12:25:02 +04:00
409f02299f 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
sql/sql_partition.cc:
  Auto merged
2006-03-01 09:57:36 +01:00
7c6ed2d681 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  poseidon.ndb.mysql.com:/home/tomas/mysql-5.1-new
2006-03-01 09:57:36 +01:00
3addd306a6 Merge
configure.in:
  Auto merged
client/mysqlimport.c:
  Auto merged
include/config-win.h:
  Auto merged
mysql-test/r/create.result:
  Auto merged
mysql-test/t/create.test:
  Auto merged
mysql-test/t/disabled.def:
  Auto merged
scripts/mysql_fix_privilege_tables.sql:
  Auto merged
sql/field.h:
  Auto merged
sql/log_event.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_partition.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
mysql-test/t/mysqldump.test:
  SCCS merged
2006-02-28 23:29:58 +01:00
5d722a8491 Merge 2006-02-28 23:29:58 +01:00
b70aaf38bc Bug #17499 continued
- moved initialization of used_partitions
- more tests

+ removed reference to fixed bugs


mysql-test/r/ndb_partition_range.result:
  Bug #17499 continued
  - more testing
mysql-test/t/disabled.def:
  removed reference to fixed bugs
mysql-test/t/ndb_partition_range.test:
  Bug #17499 continued
  - more testing
sql/ha_ndbcluster.cc:
  Bug #17499 continued
  - moved initialization of used_partitions
sql/sql_partition.cc:
  Bug #17499 continued
  - moved initialization of used_partitions
2006-02-28 17:51:27 +01:00
5a46fbfbd8 Bug #17499 continued
- moved initialization of used_partitions
- more tests

+ removed reference to fixed bugs
2006-02-28 17:51:27 +01:00
46fc76534a Bug #17701, ALTER TABLE t1 ADD PARTITION for PARTITION BY LIST hangs test
- code wrongly tries to do a "fast alter partition", although not supported


sql/handler.h:
  moved defines
sql/sql_partition.h:
  moved defines
2006-02-28 12:29:50 +01:00
81479bde6a Bug #17701, ALTER TABLE t1 ADD PARTITION for PARTITION BY LIST hangs test
- code wrongly tries to do a "fast alter partition", although not supported
2006-02-28 12:29:50 +01:00
7cac0ddfd0 WL#2977 and WL#2712 global and session-level variable to set the binlog format (row/statement),
and new binlog format called "mixed" (which is statement-based except if only row-based is correct,
in this cset it means if UDF or UUID is used; more cases could be added in later 5.1 release):
SET GLOBAL|SESSION BINLOG_FORMAT=row|statement|mixed|default;
the global default is statement unless cluster is enabled (then it's row) as in 5.1-alpha.
It's not possible to use SET on this variable if a session is currently in row-based mode and has open temporary tables (because CREATE
TEMPORARY TABLE was not binlogged so temp table is not known on slave),  or if NDB is enabled (because
NDB does not support such change on-the-fly, though it will later), of if in a stored function (see below).
The added tests test the possibility or impossibility to SET, their effects, and the mixed mode,
including in prepared statements and in stored procedures and functions.
Caveats:
a) The mixed mode will not work for stored functions: in mixed mode, a stored function will
always be binlogged as one call and in a statement-based way (e.g. INSERT VALUES(myfunc()) or SELECT myfunc()).
b) for the same reason, changing the thread's binlog format inside a stored function is
refused with an error message.
c) the same problems apply to triggers; implementing b) for triggers will be done later (will ask
Dmitri).
Additionally, as the binlog format is now changeable by each user for his session, I remove the implication
which was done at startup, where row-based automatically set log-bin-trust-routine-creators to 1
(not possible anymore as a user can now switch to stmt-based and do nasty things again), and automatically
set --innodb-locks-unsafe-for-binlog to 1 (was anyway theoretically incorrect as it disabled
phantom protection).
Plus fixes for compiler warnings.


mysql-test/r/rpl_row_4_bytes.result:
  update
mysql-test/t/rpl_row_4_bytes.test:
  don't influence next tests
sql/ha_archive.cc:
  please pay attention to this structure when you change it...
sql/ha_berkeley.cc:
  please pay attention to this structure when you change it...
sql/ha_blackhole.cc:
  please pay attention to this structure when you change it...
sql/ha_federated.cc:
  please pay attention to this structure when you change it...
sql/ha_heap.cc:
  please pay attention to this structure when you change it...
sql/ha_innodb.cc:
  please pay attention to this structure when you change it...
sql/ha_myisam.cc:
  please pay attention to this structure when you change it...
sql/ha_myisammrg.cc:
  please pay attention to this structure when you change it...
sql/ha_ndbcluster_binlog.cc:
  no more global 'binlog_row_based'
sql/ha_partition.cc:
  please pay attention to this structure when you change it...
sql/handler.cc:
  please pay attention to this structure when you change it...
sql/handler.h:
  it's good to initialize statically (to get no compiler warning) even if to a null value.
sql/item_func.cc:
  UDFs require row-based if this is the "mixed" binlog format.
sql/item_strfunc.cc:
  UUID() requires row-based binlogging if this is the "mixed" binlog format
sql/log.cc:
  binlog_row_based -> thd->current_stmt_binlog_row_based
sql/log.h:
  the enum enum_binlog_format moves to log.h from mysqld.cc as we need it in several places.
sql/log_event.cc:
  binlog_row_based -> thd->current_stmt_binlog_row_based
sql/log_event.h:
  this global variable not used anymore
sql/mysql_priv.h:
  these global variables not used anymore
sql/mysqld.cc:
  simplification in the handling of --binlog-format (but with no user-visible change), thanks to
  the new global system variable.
  RBR does not anymore turn on --log-bin-trust-function-creators and --innodb-locks-unsafe-for-binlog
  as these are global options and RBR is now settable per session.
sql/partition_info.cc:
  compiler warnings
sql/set_var.cc:
  new class of thread's variable, to handle the binlog_format (like sys_var_thd_enum except
  that is_readonly() is overriden for more checks before update).
  compiler warnings (ok'd by Serg)
sql/set_var.h:
  new class for the thread's binlog_format (see set_var.cc)
sql/share/errmsg.txt:
  some messages for when one can't toggle from one binlog format to another
sql/sp_head.cc:
  binlog_row_based -> thd->current_stmt_binlog_row_based
sql/sql_base.cc:
  binlog_row_based -> thd->current_stmt_binlog_row_based
sql/sql_class.cc:
  When a THD is initialized, we set its current_stmt_binlog_row_based
sql/sql_class.h:
  new THD::variables.binlog_format (the value of the session variable set by SET
  or inherited from the global value), and THD::current_stmt_binlog_row_based which tells if the
  current statement does row-based or statement-based binlogging. Both members are needed
  as the 2nd one cannot be derived only from the first one (the statement's type plays a role too),
  and the 1st one is needed to reset the 2nd one.
sql/sql_delete.cc:
  binlog_row_based -> thd->current_stmt_binlog_row_based
sql/sql_insert.cc:
  binlog_row_based -> thd->current_stmt_binlog_row_based
sql/sql_load.cc:
  binlog_row_based -> thd->current_stmt_binlog_row_based.
sql/sql_parse.cc:
  when we are done with a statement, we reset the current_stmt_binlog_row_based to the value
  derived from THD::variables.binlog_format.
sql/sql_partition.cc:
  compiler warning
sql/sql_show.cc:
  compiler warning
sql/sql_table.cc:
  binlog_row_based -> thd->current_stmt_binlog_row_based
tests/mysql_client_test.c:
  compiler warning
mysql-test/r/ndb_binlog_basic2.result:
  new result
mysql-test/r/rpl_switch_stm_row_mixed.result:
  new result
mysql-test/t/ndb_binlog_basic2.test:
  new test to verify that if cluster is enabled, can't change binlog format on the fly.
mysql-test/t/rpl_switch_stm_row_mixed.test:
  test to see if one can switch between SBR, RBR, and "mixed" mode, and when one cannot,
  and test to see if the switching, and the mixed mode, work properly (using UUID() to test,
  as using UDFs is not possible in the testsuite for portability reasons).
2006-02-25 22:21:03 +01:00
0071749595 WL#2977 and WL#2712 global and session-level variable to set the binlog format (row/statement),
and new binlog format called "mixed" (which is statement-based except if only row-based is correct,
in this cset it means if UDF or UUID is used; more cases could be added in later 5.1 release):
SET GLOBAL|SESSION BINLOG_FORMAT=row|statement|mixed|default;
the global default is statement unless cluster is enabled (then it's row) as in 5.1-alpha.
It's not possible to use SET on this variable if a session is currently in row-based mode and has open temporary tables (because CREATE
TEMPORARY TABLE was not binlogged so temp table is not known on slave),  or if NDB is enabled (because
NDB does not support such change on-the-fly, though it will later), of if in a stored function (see below).
The added tests test the possibility or impossibility to SET, their effects, and the mixed mode,
including in prepared statements and in stored procedures and functions.
Caveats:
a) The mixed mode will not work for stored functions: in mixed mode, a stored function will
always be binlogged as one call and in a statement-based way (e.g. INSERT VALUES(myfunc()) or SELECT myfunc()).
b) for the same reason, changing the thread's binlog format inside a stored function is
refused with an error message.
c) the same problems apply to triggers; implementing b) for triggers will be done later (will ask
Dmitri).
Additionally, as the binlog format is now changeable by each user for his session, I remove the implication
which was done at startup, where row-based automatically set log-bin-trust-routine-creators to 1
(not possible anymore as a user can now switch to stmt-based and do nasty things again), and automatically
set --innodb-locks-unsafe-for-binlog to 1 (was anyway theoretically incorrect as it disabled
phantom protection).
Plus fixes for compiler warnings.
2006-02-25 22:21:03 +01:00
a9dab911a4 BUG# 17430 Partitoins: crash on SELECT * FROM t1 WHERE f_int1 IS NULL
BUG# 17432: Partitions: wrong result, SELECT ... WHERE <column> is null


mysql-test/r/partition.result:
  result block for tests
mysql-test/t/partition.test:
  test cases for bug #17432 and 17430
sql/sql_partition.cc:
  improve null handling by returning LONGLONG_MIN for values that are NULL
2006-02-24 10:10:41 -06:00
52fbc7a1cd BUG# 17430 Partitoins: crash on SELECT * FROM t1 WHERE f_int1 IS NULL
BUG# 17432: Partitions: wrong result, SELECT ... WHERE <column> is null
2006-02-24 10:10:41 -06:00
b2cf86f1bd BUG #15408 - Partitions: subpartition names are not unique
libmysqld/Makefile.am:
  changed name to partition_info.cc
mysql-test/r/partition_mgm_err.result:
  added drop table for previous test
mysql-test/t/partition_mgm_err.test:
  added drop table for previous test
sql/Makefile.am:
  reformatted a bit
  changed name of partition_info.cpp to partition_info.cc
sql/partition_element.h:
  updated copyright date
sql/partition_info.cc:
  minor corrections as a result of review
sql/partition_info.h:
  updated copyright date
sql/sql_partition.cc:
  updated file comment and fixed some spacing
sql/sql_partition.h:
  updated copyright date
win/cmakefiles/sql:
  changed name to partition_info.cc
2006-02-21 17:40:07 -06:00
cb10b77c31 BUG #15408 - Partitions: subpartition names are not unique 2006-02-21 17:40:07 -06:00
1154609c39 Merge c-9a08e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/mysql-5.1-bugs
into  c-9a08e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/wl2826


configure.in:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/handler.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  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_table.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
dbug/dbug.c:
  Manual merge
include/my_dbug.h:
  Manual merge
sql/ha_heap.cc:
  Manual merge
sql/ha_myisammrg.cc:
  Manual merge
sql/ha_partition.cc:
  Manual merge
sql/log.cc:
  Manual merge
sql/share/errmsg.txt:
  Manual merge
2006-02-20 16:41:46 -05:00
dd17f48630 Merge c-9a08e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/mysql-5.1-bugs
into  c-9a08e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/wl2826
2006-02-20 16:41:46 -05:00
5b6c6c49b8 WL 2826: Error handling of ALTER TABLE for partitioning
Bug fixes


sql/ha_partition.cc:
  Bug fixes
sql/sql_partition.cc:
  Bug fixes
sql/sql_table.cc:
  Bug fixes
2006-02-20 16:22:19 -05:00
d42757f87e WL 2826: Error handling of ALTER TABLE for partitioning
Bug fixes
2006-02-20 16:22:19 -05:00
de717a9962 WL 2826: Error handling of ALTER TABLE for partitioning
Fix compiler issues


sql/ha_heap.cc:
  Fix compiler warnings
sql/ha_myisammrg.cc:
  Fix compiler warnings
sql/log.cc:
  Fix compiler warnings
sql/sql_partition.cc:
  Fix compiler issues
sql/sql_table.cc:
  Fix compiler issues
2006-02-20 15:07:03 -05:00