Commit ad366845 authored by Mattias Jonsson's avatar Mattias Jonsson

merge

parents 91c81a16 e7c0d277
CREATE TABLE t1 (f1 DATE NOT NULL)
ENGINE = ARCHIVE PARTITION BY RANGE (TO_DAYS(f1))
(partition p1 values less than (733751),
partition p2 values less than MAXVALUE);
INSERT INTO t1 VALUES(CURRENT_DATE);
SELECT DATA_LENGTH, INDEX_LENGTH FROM information_schema.TABLES WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1';
DATA_LENGTH INDEX_LENGTH
190 0
SELECT DATA_LENGTH, INDEX_LENGTH FROM information_schema.TABLES WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1';
DATA_LENGTH INDEX_LENGTH
190 0
DROP TABLE t1;
CREATE TABLE t1 (f1 DATE NOT NULL)
ENGINE = ARCHIVE;
INSERT INTO t1 VALUES(CURRENT_DATE);
SELECT DATA_LENGTH, INDEX_LENGTH FROM information_schema.TABLES WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1';
DATA_LENGTH INDEX_LENGTH
8658 0
SELECT DATA_LENGTH, INDEX_LENGTH FROM information_schema.TABLES WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1';
DATA_LENGTH INDEX_LENGTH
8658 0
DROP TABLE t1;
drop database if exists db99;
drop table if exists t1;
create database db99;
......
......@@ -10,6 +10,27 @@
--source include/have_partition.inc
--source include/have_archive.inc
let $MYSQLD_DATADIR= `select @@datadir`;
#
# Bug#44622: Using PARTITIONs with ARCHIVE engine reports 0 bytes in i_s.TABLES
#
CREATE TABLE t1 (f1 DATE NOT NULL)
ENGINE = ARCHIVE PARTITION BY RANGE (TO_DAYS(f1))
(partition p1 values less than (733751),
partition p2 values less than MAXVALUE);
INSERT INTO t1 VALUES(CURRENT_DATE);
SELECT DATA_LENGTH, INDEX_LENGTH FROM information_schema.TABLES WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1';
SELECT DATA_LENGTH, INDEX_LENGTH FROM information_schema.TABLES WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1';
DROP TABLE t1;
CREATE TABLE t1 (f1 DATE NOT NULL)
ENGINE = ARCHIVE;
INSERT INTO t1 VALUES(CURRENT_DATE);
SELECT DATA_LENGTH, INDEX_LENGTH FROM information_schema.TABLES WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1';
SELECT DATA_LENGTH, INDEX_LENGTH FROM information_schema.TABLES WHERE TABLE_SCHEMA='test' AND TABLE_NAME='t1';
DROP TABLE t1;
#
# Bug 17310 Partitions: Bugs with archived partitioned tables
......
......@@ -1489,21 +1489,29 @@ int ha_archive::info(uint flag)
DBUG_PRINT("ha_archive", ("Stats rows is %d\n", (int)stats.records));
/* Costs quite a bit more to get all information */
if (flag & HA_STATUS_TIME)
if (flag & (HA_STATUS_TIME | HA_STATUS_CONST | HA_STATUS_VARIABLE))
{
MY_STAT file_stat; // Stat information for the data file
(void) my_stat(share->data_file_name, &file_stat, MYF(MY_WME));
stats.data_file_length= file_stat.st_size;
stats.create_time= (ulong) file_stat.st_ctime;
if (flag & HA_STATUS_TIME)
stats.update_time= (ulong) file_stat.st_mtime;
stats.mean_rec_length= stats.records ?
stats.data_file_length / stats.records : table->s->reclength;
if (flag & HA_STATUS_CONST)
{
stats.max_data_file_length= share->rows_recorded * stats.mean_rec_length;
stats.max_data_file_length= MAX_FILE_SIZE;
stats.create_time= (ulong) file_stat.st_ctime;
}
if (flag & HA_STATUS_VARIABLE)
{
stats.delete_length= 0;
stats.data_file_length= file_stat.st_size;
stats.index_file_length=0;
stats.mean_rec_length= stats.records ?
stats.data_file_length / stats.records : table->s->reclength;
}
}
if (flag & HA_STATUS_AUTO)
{
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment