edoneel daily - daily stuff on random subjects

I've moved to sdf, a very cool public access unix system. The new url is http://edoneel.chaosnet.org

I now work with lisp most of the time

Lisp Logo

26 Feb 2006


Now we have enough changes so that we've added a copy of the blackhole storage engine but with a new name, eclstorage. The following files are changed (beyond the ones from before)

All of these are in eclstorage-20060226-3.tar.gz.

24 Feb 2006


Got the configuration, it seems, to work. I added or changed the following files:

All of these are in eclstorage-20060223.tar.gz. I'd put them a patch file for the patch command if someone could tell me how to add a file with patch.

Now one can run 'make' in the databases/mysql5-server directory and the right thing happens with configure.

I did add the following two changes to the pkgsrc Makefile.

To rerun the configure in pkgsrc you need to rm work/.configure_done before you rerun 'make'

Do NOT run 'make clean' in the pkgsrc directory. Run 'gmake clean' in work/mysql-5.0.18.

23 Feb 2006


Update: It's called eclstorage

I'm starting a new project to add a new storage engine to MySQL. I'll be using ECL - Embedded Common Lisp.

Why? Because I think it will be interesting. Also a number of the current storage engines have changed hands recently, so, this might help MySQL. Finally I think I can do something useful here with Lisp.

For now I'll be using version 5.0.18 and I'll be using the infrastructure that the NetBSD pkgsrc package system supplies. Why? I use NetBSD on an iBook and it's easy. One basic driver here is that I do have a life so I can't spend hours every day. This is also one of my drivers to use lisp

The entries related to this will be repeated in the link in the upper left of the page titled MySQL Storage Engine.

So, let's get started. Step one for those of you following at home is to download the NetBSD packages collection, follow what ever installation instructions are needed for your OS, and then 'make install' databases/mysql5-server. Now we can start poking around.

Under work/mysql-5.0.18 you will see the full source tree. Handily we can work from an example which always makes things easier. Even handier someone thought to name one of the storage engines the blackhole one. While the source comment is "Dumbest named feature ever" it makes it very easy to find. Much easier than heap, sample, test, etc, which appear all over typical source trees.

A quick find . -name \*black\* gives us:

Also a quick find shows us that, for the most part, not too many files have to be modified. We'll have to write the new versions of ha_blackhole.[cc|h] of course to interface into ecl, and we have to write the actual code in ecl to do the work, and finally we'll have to make a change or two to some other files to allow our new storage engine to actually be used.

Next steps. First we have to come up with a name. I've poked a bit and ldb, cldb, and ecldb are all taken. So is repldb (for read, eval, print loop). I'll mull this a bit. Second we'll take baby steps to make this work. The first version will do nothing more than throw stuff away, ie, just like the blackhole engine. Then we'll advance all the way up to the memory engine functions where we'll store stuff, but, not on disk. Then, with luck, we'll be able to save stuff to disk and be quick about it.

22 Feb 2006


The Redbook's web site.

20 Feb 2006


Network Filtering by Operating System

16 Feb 2006


MySQL reference manual on Storage Engines. In the source, the example engine lives in sql/examples/ha_example.cc and the blackhole one lives (oddly enough) both in sql/ha_blackhole.cc and libmysqld/ha_blackhole.cc. Somewhere there's going to have to be some mechanism to include, or not, the different storage engines since you can specify --with-blackhole-storage-engine to configure. Ah, it seems that the magic occurs with a #define via configure and then some code in libmysqld/handler.cc. Hmmm...

15 Feb 2006

SQL and Lisp

How to use CLSQL. Part 2 is here

CLSQL is available from here

14 Feb 2006


The Adaptive Market Hypothesis

13 Feb 2006

Lisp and Concurrency

Concurrent/Parallel Programming - The Next Generation - Part 3

Lisp is Joy

Common Lisp Directory


GECCO 2002 proceedings here and here

All GECCO papers can be found via the www search interface


Discussion about Enron Online

9 Feb 2006


Novell Makes Public Release of Xgl Code. I saw a demo of this at EuroBSDCON 2005 and it was quite cool

xyzrgb sells 3d scanning devices

Ron Fedkiw, Assistant Professor, Stanford Computer Science, does really cool things with fluids


Snails are faster than DSL

Logistical Computing and Internetworking (LoCI) Laboratory which has Logistical Distribution Network

2 Feb 2006


Free virtual hosting at www.vserver.cz. It does seem that understanding Czech would be helpful.

1 Feb 2006




Bruce O'Neel

Last modified: Mon Feb 13 17:55:58 MET 2006