I have MySQL Workbench (community-6.2.3) installed in a Ubuntu system using .deb.
Workbench session does not seem to see updates (DML) to the database done by other sessions (applications/command line client).
A new session is able to see correct status of the database at its start but non of the changes that happen afterwards is visible to it.
It seems workbench session does sync up with db after a commit in workbench.
I'm getting Error Code: 1412. Table definition has changed, please retry transaction
when I try to query a table that I've created from a different session.
Non workbench sessions does not seem to have any of these issues.
Am I missing a configuration or something?
Update:
This is partly the expected behaviour and partly a bug.
I'm not using autocommit mode, in which case SELECT
statements are executed using the snapshot established at the first read.
This is the behaviour for REPEATABLE READ isolation level, which gets used by MySQL Workbench.
Is there a way to change or set default isolation level of a MySQL Workbench session?
When executed in Workbench:
SELECT @@Global.tx_isolation, @@tx_isolation, @@session.tx_isolation;
returns:
READ-COMMITTED, REPEATABLE-READ, REPEATABLE-READ
as opposed to, in command line client:
READ-COMMITTED, READ-COMMITTED, READ-COMMITTED
Related:
MySQL REPEATABLE-READ Workbench transaction level not set
MySQL Workbench and default session isolation level
ROLLBACK;
would make the other sessions' changes visible to you, but the question remains, why are you in a transaction, if you didn't start one. – Aeroscope