PBXT MEMORY based table cannot be converted to DISK based table
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
PBXT |
Fix Committed
|
Undecided
|
Vladimir Kolesnikov |
Bug Description
When I was playing around with PBXT MEMORY based tables I tried to convert them forwards and backwards.
What I found is, that once a PBXT table is converted to a MEMORY based table with:
mysql> system ls -la
-rw-rw---- 1 mysql dba 4 2010-11-20 15:32 test-3.xtr
-rw-rw---- 1 mysql dba 8612 2010-11-20 15:32 test.frm
-rw-rw---- 1 mysql dba 155 2010-11-20 15:32 test.xtd
-rw-rw---- 1 mysql dba 4096 2010-11-20 15:32 test.xti
mysql> ALTER TABLE test ENGINE = PBXT STORAGE MEMORY;
mysql> system ls -la
-rw-rw---- 1 mysql dba 8612 2010-11-20 15:32 test.frm
I cannot convert it back to a DISK based table with the following command.
mysql> ALTER TABLE test ENGINE=PBXT;
mysql> ALTER TABLE test ENGINE=PBXT STORAGE DISK;
This imho is a problem/bug
For details see also here: http://
Related branches
- PBXT Core: Pending requested
-
Diff: 38 lines (+5/-1)3 files modifiedChangeLog (+2/-0)
src/core/stream_xt.h (+1/-1)
src/ha_pbxt.cc (+2/-0)
Changed in pbxt: | |
assignee: | nobody → Vladimir Kolesnikov (vkolesnikov) |
status: | New → In Progress |
In a query like "ALTER TABLE t1 STORAGE DISK" PBXT dictionary setup code sets up the dictionary for the new table by copying the dictionary from the altered table (which is heap-based).