List:Commits« Previous MessageNext Message »
From:John Embretsen Date:October 2 2008 8:43am
Subject:Re: bzr commit into mysql-6.0-falcon-team branch (cpowers:2845)
Bug#39711 Bug#39795 Bug#39796
View as plain text  
Chris,

Patch not approved for Bug#39795; test case falcon_online_index needs to
be updated, since you are modifying ONLINE ALTER restrictions. But you
probably knew that already...

Christopher Powers wrote:
> #At file:///home/cpowers/work/dev/dev-07/mysql/
>
>  2845 Christopher Powers	2008-10-01
>       Bug#39711 "Running falcon_bug_34351_C shows increasing memory usage"
>       Bug#39795 "Falcon: Online add index does not support index with
non-null columns"
>       Bug#39796 "Falcon: Reference count decrement not atomic"
> modified:
>   storage/falcon/DeferredIndex.cpp
>   storage/falcon/DeferredIndex.h
>   storage/falcon/DeferredIndexWalker.cpp
>   storage/falcon/Index.cpp
>   storage/falcon/Transaction.cpp
>   storage/falcon/Transaction.h
>   storage/falcon/WalkDeferred.cpp
>   storage/falcon/ha_falcon.cpp
>
> per-file messages:
[...]
>   storage/falcon/ha_falcon.cpp
>     Remove nullable column and primary key restrictions for online
index creation in StorageInterface::check_if_supported_alter()
[...]


Please also update WL#4048 with information about which restrictions you
plan to keep in place for this feature towards beta and GA.

The test includes multiple negative subtests for ONLINE ALTER ADD INDEX
with non-nullable columns and/or primary keys. The first thing which
fails with the patch is:


falcon.falcon_online_index     [ fail ]

mysqltest: At line 168: query 'ALTER ONLINE TABLE t3 ADD INDEX ix_c (c)'
succeeded - should have failed with errno 1235...

The result from queries just before the failure was:
< snip >
ALTER ONLINE TABLE t1 ADD KEY ix_b (b);
ALTER ONLINE TABLE t1 DROP KEY ix_b;
#-------- ONLINE: CREATE/DROP INDEX --------#
CREATE ONLINE INDEX ix_c ON t1 (c);
DROP ONLINE INDEX ix_c ON t1;
#-------- ONLINE: ADD INDEX default name --------#
ALTER ONLINE TABLE t1 ADD INDEX (b);
ALTER ONLINE TABLE t1 DROP INDEX b;
#-------- ONLINE: ALTER ADD nullable with default --------#
ALTER ONLINE TABLE t3 ADD INDEX ix_b (b);
SELECT * from t3 where b > 555 ORDER BY a LIMIT 5;
a	b	c	d	e
279	556	279	277	SomeVarchar 278 for testing
280	558	280	278	SomeVarchar 279 for testing
281	560	281	279	SomeVarchar 280 for testing
282	562	282	280	SomeVarchar 281 for testing
283	564	283	281	SomeVarchar 282 for testing
ALTER ONLINE TABLE t3 DROP INDEX ix_b;
#-------- ONLINE: ALTER ADD not-null with default --------#
ALTER ONLINE TABLE t3 ADD INDEX ix_c (c);


Regards,

-- 
John


Thread
bzr commit into mysql-6.0-falcon-team branch (cpowers:2845) Bug#39711Bug#39795 Bug#39796Christopher Powers2 Oct
  • Re: bzr commit into mysql-6.0-falcon-team branch (cpowers:2845)Bug#39711 Bug#39795 Bug#39796John Embretsen2 Oct