Hello!

I promised to report to the mailing list how the interfacing of MySQL
and Innobase engine progresses. Innobase will provide transactions,
rollback, row level locking, and Oracle-style non-locking consistent read
to MySQL. It currently runs on Intel Linux and NT.

Following items from the TODO list from last week have been done:
-------------
1. Optimize the MySQL/Innobase interface regarding to CPU time,
and add support for small, less than 7.5 kB BLOBS.
6. Make the (implicit) select in UPDATE TABLE ... SET ... an x-locking read,
not a consistent read.
7. Interface SELECT ... FOR UPDATE and SELECT ... IN SHARE MODE to Innobase,
(MySQL parser in 4.0 already knows these syntactic constructs).
-------------
Following items remain:
-------------
2. Test correct handling of all MySQL data types and the SQL NULL value.
3. Give appropriate information to the MySQL query optimizer about
table sizes, and also to users about the file space occupied by each
table, index, and other data structures.
4. Tell the MySQL query optimizer if a secondary index contains all the
required columns: no need then to search the clustered index (in Innobase
every table has a clustered index where the data is stored, this is similar
to Sybase clustered indexes).
5. Add a timeout to lock waiting: Innobase can detect and resolve deadlocks
within its own lock table, but if a user uses also MySQL LOCK TABLES... or
BDB locks, a deadlock can occur where Innobase does not know of all the
locks: this is resolved by adding a timeout for a lock wait, say 100 s.,
after which the transaction is rolled back.
8. Move the SQL NULL value as the first in the alphabetical order.
9. Prevent MySQL from using 'generate_table' in DELETE FROM ... . That
is not good if we want a rollback.
10. Port to Solaris, HP-UX and all different Unix flavors.
------------
>From the progress we can give an estimate that the interfacing is done
3 weeks from now. But a distribution version requires MySQL 4.0 source,
and that may still be farther out.

Regards,

Heikki Tuuri
Innobase Oy
Helsinki, Finland


---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to