mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 10:14:19 +01:00
merge
This commit is contained in:
commit
54c8696691
4 changed files with 28 additions and 11 deletions
|
@ -239,3 +239,12 @@ a
|
|||
DROP TABLE t1;
|
||||
# Should not be any files left here
|
||||
# End of bug#30102 test.
|
||||
# Test of post-push fix for bug#11766249/59316
|
||||
CREATE TABLE t1 (a INT, b VARCHAR(255), PRIMARY KEY (a))
|
||||
ENGINE = MyISAM
|
||||
PARTITION BY RANGE (a)
|
||||
(PARTITION p0 VALUES LESS THAN (0) MAX_ROWS=100,
|
||||
PARTITION p1 VALUES LESS THAN (100) MAX_ROWS=100,
|
||||
PARTITION pMax VALUES LESS THAN MAXVALUE);
|
||||
INSERT INTO t1 VALUES (1, "Partition p1, first row");
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -23,6 +23,7 @@ DROP TABLE t1;
|
|||
--eval $create_statement
|
||||
--eval $insert_statement
|
||||
--echo # State before failure
|
||||
--replace_result #p# #P# #sp# #SP#
|
||||
--list_files $DATADIR/test
|
||||
SHOW CREATE TABLE t1;
|
||||
--sorted_result
|
||||
|
@ -32,6 +33,7 @@ LOCK TABLE t1 WRITE;
|
|||
--eval $fail_statement
|
||||
--enable_abort_on_error
|
||||
--echo # State after failure
|
||||
--replace_result #p# #P# #sp# #SP#
|
||||
--list_files $DATADIR/test
|
||||
SHOW CREATE TABLE t1;
|
||||
--sorted_result
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
-- source include/have_partition.inc
|
||||
|
||||
--source include/have_partition.inc
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1, t2;
|
||||
--enable_warnings
|
||||
|
@ -171,3 +170,13 @@ DROP TABLE t1;
|
|||
--list_files $MYSQLD_DATADIR/test t1*
|
||||
--list_files $MYSQLD_DATADIR/test t2*
|
||||
--echo # End of bug#30102 test.
|
||||
|
||||
--echo # Test of post-push fix for bug#11766249/59316
|
||||
CREATE TABLE t1 (a INT, b VARCHAR(255), PRIMARY KEY (a))
|
||||
ENGINE = MyISAM
|
||||
PARTITION BY RANGE (a)
|
||||
(PARTITION p0 VALUES LESS THAN (0) MAX_ROWS=100,
|
||||
PARTITION p1 VALUES LESS THAN (100) MAX_ROWS=100,
|
||||
PARTITION pMax VALUES LESS THAN MAXVALUE);
|
||||
INSERT INTO t1 VALUES (1, "Partition p1, first row");
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -2739,7 +2739,7 @@ int ha_partition::open(const char *name, int mode, uint test_if_locked)
|
|||
(PARTITION_ENABLED_TABLE_FLAGS));
|
||||
while (*(++file))
|
||||
{
|
||||
DBUG_ASSERT(ref_length >= (*file)->ref_length);
|
||||
/* MyISAM can have smaller ref_length for partitions with MAX_ROWS set */
|
||||
set_if_bigger(ref_length, ((*file)->ref_length));
|
||||
/*
|
||||
Verify that all partitions have the same set of table flags.
|
||||
|
@ -4089,19 +4089,16 @@ end_dont_reset_start_part:
|
|||
void ha_partition::position(const uchar *record)
|
||||
{
|
||||
handler *file= m_file[m_last_part];
|
||||
uint pad_length;
|
||||
DBUG_ENTER("ha_partition::position");
|
||||
|
||||
file->position(record);
|
||||
int2store(ref, m_last_part);
|
||||
memcpy((ref + PARTITION_BYTES_IN_POS), file->ref,
|
||||
(ref_length - PARTITION_BYTES_IN_POS));
|
||||
memcpy((ref + PARTITION_BYTES_IN_POS), file->ref, file->ref_length);
|
||||
pad_length= m_ref_length - PARTITION_BYTES_IN_POS - file->ref_length;
|
||||
if (pad_length)
|
||||
memset((ref + PARTITION_BYTES_IN_POS + file->ref_length), 0, pad_length);
|
||||
|
||||
#ifdef SUPPORTING_PARTITION_OVER_DIFFERENT_ENGINES
|
||||
#ifdef HAVE_purify
|
||||
bzero(ref + PARTITION_BYTES_IN_POS + ref_length,
|
||||
max_ref_length-ref_length);
|
||||
#endif /* HAVE_purify */
|
||||
#endif
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue