maria-developers team mailing list archive
Mailing list archive
Re: ALTER ONLINE TABLE syntax
Sergei Golubchik <serg@xxxxxxxxxxx> writes:
> Unless we redefine what "online" mean. If not, there's no choice but
> stop claming an "online alter" support and remove ONLINE and LOCK=NONE
> from the syntax.
I think "ONLINE" should mean: no exclusive lock is taken while data is
migrated from the old table definition to the new.
And LOCK=NONE should mean the same: no lock is taken while data of the table
Of course, if there is no need to migrate any data, then the operation is
trivially LOCK=NONE and ONLINE. Like `ALTER TABLE t1 MODIFY b INT DEFAULT 5`.
As you said, it's obvious that an exclusive lock is needed for the metadata
(you cannot alter the default of b to both 5 and 6 at the same time). So the
LOCK should be about the data migration (if any) which is the potentially
time-consuming one that users care about, not about the metadata lock on the
(I am not sure how this matches current MariaDB or MySQL behaviour, but it is
what I would expect and probably most other users as well).
Hope this helps,