mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
Merge neptunus.(none):/home/msvensson/mysql/bug9911
into neptunus.(none):/home/msvensson/mysql/mysql-4.1
This commit is contained in:
@@ -2601,4 +2601,18 @@ auto fld1 companynr fld3 fld4 fld5 fld6
|
|||||||
2 011401 37 breaking dreaded Steinberg W
|
2 011401 37 breaking dreaded Steinberg W
|
||||||
3 011402 37 Romans scholastics jarring
|
3 011402 37 Romans scholastics jarring
|
||||||
4 011403 37 intercepted audiology tinily
|
4 011403 37 intercepted audiology tinily
|
||||||
drop table t1, t2;
|
create table t3 engine=archive select * from t2;
|
||||||
|
select * from t3 where fld3='bonfire';
|
||||||
|
auto fld1 companynr fld3 fld4 fld5 fld6
|
||||||
|
1191 068504 00 bonfire corresponds positively
|
||||||
|
select count(*) from t3;
|
||||||
|
count(*)
|
||||||
|
1203
|
||||||
|
rename table t3 to t4;
|
||||||
|
select * from t4 where fld3='bonfire';
|
||||||
|
auto fld1 companynr fld3 fld4 fld5 fld6
|
||||||
|
1191 068504 00 bonfire corresponds positively
|
||||||
|
select count(*) from t4;
|
||||||
|
count(*)
|
||||||
|
1203
|
||||||
|
drop table t1, t2, t4;
|
||||||
|
@@ -1299,4 +1299,15 @@ INSERT INTO t2 VALUES (4,011403,37,'intercepted','audiology','tinily','');
|
|||||||
SELECT * FROM t2;
|
SELECT * FROM t2;
|
||||||
OPTIMIZE TABLE t2;
|
OPTIMIZE TABLE t2;
|
||||||
SELECT * FROM t2;
|
SELECT * FROM t2;
|
||||||
drop table t1, t2;
|
|
||||||
|
#
|
||||||
|
# Test rename of table
|
||||||
|
#
|
||||||
|
create table t3 engine=archive select * from t2;
|
||||||
|
select * from t3 where fld3='bonfire';
|
||||||
|
select count(*) from t3;
|
||||||
|
rename table t3 to t4;
|
||||||
|
select * from t4 where fld3='bonfire';
|
||||||
|
select count(*) from t4;
|
||||||
|
|
||||||
|
drop table t1, t2, t4;
|
||||||
|
@@ -427,6 +427,30 @@ const char **ha_archive::bas_ext() const
|
|||||||
{ static const char *ext[]= { ARZ, ARN, ARM, NullS }; return ext; }
|
{ static const char *ext[]= { ARZ, ARN, ARM, NullS }; return ext; }
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Rename all files that this handler defines in bas_ext list
|
||||||
|
|
||||||
|
NOTE Don't care if the .arn file is missing
|
||||||
|
*/
|
||||||
|
int ha_archive::rename_table(const char * from, const char * to)
|
||||||
|
{
|
||||||
|
DBUG_ENTER("ha_archive::rename_table");
|
||||||
|
for (const char **ext=bas_ext(); *ext ; ext++)
|
||||||
|
{
|
||||||
|
if (rename_file_ext(from,to,*ext))
|
||||||
|
{
|
||||||
|
if (my_errno == ENOENT &&
|
||||||
|
!my_strcasecmp(system_charset_info, *ext, ARN))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
DBUG_RETURN(my_errno);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
DBUG_RETURN(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
When opening a file we:
|
When opening a file we:
|
||||||
Create/get our shared structure.
|
Create/get our shared structure.
|
||||||
|
@@ -124,6 +124,7 @@ public:
|
|||||||
int optimize(THD* thd, HA_CHECK_OPT* check_opt);
|
int optimize(THD* thd, HA_CHECK_OPT* check_opt);
|
||||||
THR_LOCK_DATA **store_lock(THD *thd, THR_LOCK_DATA **to,
|
THR_LOCK_DATA **store_lock(THD *thd, THR_LOCK_DATA **to,
|
||||||
enum thr_lock_type lock_type);
|
enum thr_lock_type lock_type);
|
||||||
|
int rename_table(const char * from, const char * to);
|
||||||
};
|
};
|
||||||
|
|
||||||
bool archive_db_init(void);
|
bool archive_db_init(void);
|
||||||
|
Reference in New Issue
Block a user