Well it could return the table name but shouldn't block, for example
If table lenght takes morr than 1 hour, ignore table lenght and show the table name only
something like a timeout should be nice, since we don't know why a engine should or should not wait a lot of time to return table status, with a slow server 1 second is "fast", and with a fast server 1 second is slow, i don't know what timeout should we consider, maybe a server/session variable could help with these limits, for today machines 1 second of timeout is ok (i think) if set to 0 ignore timeout, maybe a warning for each table timeout is nice
If we dont want a new server variable, i consider removing table not created anyone with show table status coul execute show procceslist and check table being created, at least for tables not being used as "temporary"
tables
Em sábado, 7 de fevereiro de 2015, Sergei Golubchik <
serg@mariadb.org> escreveu:
Hi, Roberto!
On Dec 15, Roberto Spadim wrote:
> guys, i'm creating a table with:
> CREATE TABLE xxx SELECT * FROM yyyy
>
> this one take a long time (more than 1 hour) to end...
>
> my problem is... i'm using HeidiSQL sometimes to check tables and etc...
> when i open database it execute a
> SHOW TABLE STATUS FROM `database`
>
> but is blocked while create table don't end, could we implement a non block
> show table? or a timeout?
yes, makes sense.
or, perhaps, SHOW TABLE STATUS should not show the table that is being
created?
Regards,
Sergei
--
Roberto Spadim
SPAEmpresarial - Software ERP
Eng. Automação e Controle