I just about have all of the INFORMATION_SCHEMA replaced with
Table Functions!
The big wins:
One Execution path (less bugs)
Simple interface, which means more langauges
Zero materialization happening
Less Code. This allows us to remove a lot of code (and single
shot passes for particular use cases).
The data dictionary operates entirely off the proto system, so
what you see is what we have. We use the table names stored
within the proto so no translation ever happens. This is pretty
handy for filesystems which do not preserve case (and we don't
have to do anything to support them any longer).
You can also type "SELECT * FROM DATA_DICTIONARY.SCHEMAS".
There is no longer a "SCHEMATA" tables, just SCHEMAS. Want
INDEXES? SELECT FROM INDEXES.
We will also be able to split up the tables that are from the SQL
ANSI standard one from the ones that are not. …
The latest from the MySQL community
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
At DrupalSouth 2010 (Wellington) after LCA2010, Peter and I implemented a Drupal module as a practical example of how the OQGRAPH engine can be used to enable social networking trickery in any website. The friendlist_graph module (available from GitHub) extends friendlist, which implements basic functionality of friends (2-way) and fans (1-way) for Drupal users.
The friendlist_graph module transposes the friendlist data using an OQGRAPH table, allowing you to query it in new and interesting ways. By adding some extra Drupal Views, it allows you to play Six …
[Read more]
Release 1.2.2 of Tungsten Clustering is available on SourceForge as well as through the Continuent
website. The release contains mostly bug fixes in the
open source version but there are also two very significant
improvements of interest to all users.
- The manager and monitoring capabilities of Tungsten are completely integrated on the same group communications channel. This fixes a number of problems that caused data sources not to show up properly in older versions.
- We are officially supporting a new Tungsten Connector capability for MySQL called pass-through mode, which allows us to proxy connections by transferring network blocks directly rather than translating native request protocol to JDBC calls. Our tests show that it speeds up throughput by as much as 200% …
This Thursday (January 28, 17:00 UTC), we'll be
resuming our MySQL University sessions with an Introduction to the Drizzle Microkernel by
Brian Aker. Brian is located on the US West coast, so the session
will start a bit later – see the information in the list of upcoming sessions. Brian started the
Drizzle project
and is the mastermind behind Drizzle development.
For MySQL University sessions, point your browser to this page. You need a browser with a working Flash plugin. You may register for a Dimdim account, but you …
[Read more]
This Thursday (January 28, 17:00 UTC), we'll be
resuming our MySQL University sessions with an Introduction to the Drizzle Microkernel by
Brian Aker. Brian is located on the US West coast, so the session
will start a bit later – see the information in the list of upcoming sessions. Brian started the
Drizzle project
and is the mastermind behind Drizzle development.
For MySQL University sessions, point your browser to this page. You need a browser with a working Flash plugin. You may register for a Dimdim account, but you …
[Read more]
This Thursday (January 28, 17:00 UTC), we'll be
resuming our MySQL University sessions with an Introduction to the Drizzle Microkernel by
Brian Aker. Brian is located on the US West coast, so the session
will start a bit later – see the information in the list of upcoming sessions. Brian started the
Drizzle project
and is the mastermind behind Drizzle development.
For MySQL University sessions, point your browser to this page. You need a browser with a working Flash plugin. You may register for a Dimdim account, but you …
[Read more]Disclaimer: This post is based on HEAP/MyISAM’s sourcecode in Drizzle.
Here are my brief notes on investigating how index keys are generated in HEAP and MyISAM. I lurked through these because I’ve started preparing for decent index support in BlitzDB. I also wrote this to assist my biological memory for later grepping (I have terrible memory for names). I’m only going to cover key generation on write in this post. Otherwise this post is going to be massive.
HEAP Engine
The index structure of HEAP can be either BTREE or HASH (in MySQL doc terms). Like other engines HEAP has a structure for keeping Key definition (parts, type, logic and etc). This structure is called HP_KEYDEF and it contains function pointers for write, delete, and getting the length of the key. These function pointers are assigned to at table creation or when the table is opened. The assigned function depends on the data structure …
[Read more][brian@gaz fix_is]$ ./drizzled/drizzled --console-enable InnoDB: The InnoDB memory heap is disabled InnoDB: Mutexes and rw_locks use GCC atomic builtins. 100122 13:12:00 InnoDB: highest supported file format is Barracuda. 100122 13:12:00 InnoDB Plugin 1.0.4 started; log sequence number 44600 Listening on 0.0.0.0:3306 Listening on :::3306 Listening on 0.0.0.0:4427 Listening on :::4427 ./drizzled/drizzled: Forcing close of thread 0 user: '' ./drizzled/drizzled: ready for connections. Version: '2010.01.1273' Source distribution (fix_is) drizzled> use data_dictionary; OK drizzled> show tables; Tables_in_data_dictionary MODULES PLUGINS PROCESSLIST drizzled> desc PLUGINS; Field Type Null Key Default Extra PATH ./data_dictionary/plugins ID bigint YES NULL USER varchar(16) YES NULL HOST varchar(64) YES NULL DB varchar(64) YES NULL …[Read more]
Any good piece of infrastructure software should be able to pop up little windows on your desktop. :)
Yesterday at LCA in Stewart's Hacking Drizzle talk, it occurred to me that error messages should pop up little windows on my desktop. So I wrote an error message plugin which uses libnotifymm to send Gnome pop-up window messages.
I don't always get to post screenshots, so here you go:
Friday was my last day at Sun Microsystems, and today is the first day at my new job (location coming soon). I’ve had a great time at Sun, and thank them for all the opportunities given to me there. I’ll be doing mostly the same work at the new gig, working on projects like Drizzle, but with a slightly different focus. For the most part my day-to-day won’t change much.
Right now I’m focusing on libdrizzle again and am implementing the prepared statement API, cleaning up the MySQL protocol support a little, and also implementing the new Drizzle client/server protocol. I’ll continue to work on Gearman as well, especially where it is relevant to Drizzle. I also need to start blogging again with specific topics in the projects I’m working on, I’ve been fairly quiet lately.
I’ll be in New Zealand next week at Linux Conf AU (yes, it’s not in AU this year). I have a …
[Read more]