Community journal

The latest from the MySQL community

Ideas, releases, practical guides, and perspectives from the people building with MySQL.

Follow the feed
Showing entries 321 to 330 of 685 « Previous | Next »
Displaying posts with tag: drizzle (reset)
Fun with Table Functions

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. …

[Read more]
Friendlist Graph Module for Drupal

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]
Tungsten 1.2.2 Release is Out - Faster, More Stable, More Fun

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% …
[Read more]
MySQL University: Introduction to the Drizzle Microkernel

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]
MySQL University: Introduction to the Drizzle Microkernel

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]
MySQL University: Introduction to the Drizzle Microkernel

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]
Notes on HEAP/MyISAM Index Key Handling on WRITE

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]
From Scratch, Get set, Go!
[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]
Using libnotify for error messages

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:

 

Moving On

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]