Whoops, I've gone a little AWOL from the various
OSS/Danga/MySQL/Drizzle/etc communities. Well, rest assured I'm
down but not out!
I will be attending, and (might? should?) be speaking about
DPM
and database protocols at the Open SQL Camp in VA mid-november. As well as
submitting papers for the next years' round of conferences.
One of my many obsessions is Brian's Drizzle project. Due to time
constraints I've been unable to contribute significant code so
far, but I did chip in for an awesomely appropriate domain
name. Not going to say how much I sent in, but mike was cool
enough to front the whole cost, so if you like drizzle please
pitch in what you can!
Previously.
As usual, hit up the homepage for the latest and greatest
downloads. Or simply 'git pull' and use the tag release-6 if
you're cool enough.
I'd like to use this post to explain in a more general fashion
about what DPM is and why it's different from the rest
of the proxies.
First, milestones since R5:
- BSD licensed. You are now free to roam about the cabin.
- Several C level bugs fixed.
- Many improvements to the lua library dpml.lua
- All of the demos were rewritten using dpml.lua, and are now far
easier to use.
Now, what is DPM?
- It's a proxy for MySQL. It is event driven, embeds lua, and is
written in C. It allows you to write plugins in lua, and …
Previously.
As usual, hit up the homepage for the latest and greatest
downloads. Or simply 'git pull' and use the tag release-6 if
you're cool enough.
I'd like to use this post to explain in a more general fashion
about what DPM is and why it's different from the rest
of the proxies.
First, milestones since R5:
- BSD licensed. You are now free to roam about the cabin.
- Several C level bugs fixed.
- Many improvements to the lua library dpml.lua
- All of the demos were rewritten using dpml.lua, and are now far
easier to use.
Now, what is DPM?
- It's a proxy for MySQL. It is event driven, embeds lua, and is
written in C. It allows you to write plugins in lua, and …
previously
Stroll on over to the DPM's minimalist homepage and grab the latest
release tarball, export tarball, clone the git repo, or peruse
gitweb.
While I did some porting work, this release has not been
explicitly tested on all of the platforms yet. If there are bugs
with a particular platform, please report.
This release fixes a lot of outstanding complaints I had with the
power of the API, and many known obnoxious bugs and restrictions.
Like the previous inability to listen on INADDR_ANY, or use unix
domain sockets, etc. There are still a number of
usability/troubleshooting gotchas when writing programs using
DPM, but aside from the learning curve most of it should work
now. There are no known crash bugs or memory leaks (aside from a
"leak" in the dpml library under …
previously
Stroll on over to the DPM's minimalist homepage and grab the latest
release tarball, export tarball, clone the git repo, or peruse
gitweb.
While I did some porting work, this release has not been
explicitly tested on all of the platforms yet. If there are bugs
with a particular platform, please report.
This release fixes a lot of outstanding complaints I had with the
power of the API, and many known obnoxious bugs and restrictions.
Like the previous inability to listen on INADDR_ANY, or use unix
domain sockets, etc. There are still a number of
usability/troubleshooting gotchas when writing programs using
DPM, but aside from the learning curve most of it should work
now. There are no known crash bugs or memory leaks (aside from a
"leak" in the dpml library under …
mysql> CREATE TABLE `blah2` ( `hello` int(11) default
NULL );
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO blah2 VALUES (1);
Query OK, 1 row affected (0.00 sec)
mysql> select * from blah2;
+-------+
| hello |
+-------+
| 1 |
| 1 |
+-------+
2 rows in set (0.00 sec)
mysql> show full processlist;
+--------+-------+-----------------+------+---------+------+----------------+-----------------------+
| Id | User | Host | db | Command | Time | State | Info |
+--------+-------+-----------------+------+---------+------+----------------+-----------------------+
| 503235 | root | localhost | NULL | Sleep | 742 | | NULL |
| 503238 | happy | localhost:36013 | test | Query | 0 | NULL |
show full processlist |
| 503239 | happy | localhost:36014 | test | Query | 0 | Writing
to net | …
mysql> CREATE TABLE `blah2` ( `hello` int(11) default
NULL );
Query OK, 0 rows affected (0.00 sec)
mysql> INSERT INTO blah2 VALUES (1);
Query OK, 1 row affected (0.00 sec)
mysql> select * from blah2;
+-------+
| hello |
+-------+
| 1 |
| 1 |
+-------+
2 rows in set (0.00 sec)
mysql> show full processlist;
+--------+-------+-----------------+------+---------+------+----------------+-----------------------+
| Id | User | Host | db | Command | Time | State | Info |
+--------+-------+-----------------+------+---------+------+----------------+-----------------------+
| 503235 | root | localhost | NULL | Sleep | 742 | | NULL |
| 503238 | happy | localhost:36013 | test | Query | 0 | NULL |
show full processlist |
| 503239 | happy | localhost:36014 | test | Query | 0 | Writing
to net | …
Out of time, finally getting tired. Tomorrow, for sure :) One
last bug to hunt down.
For now, HEAD's looking pretty good. grab the export
tarball, check out the git repo, etc. If you're bored.
The most interesting addition is the CMake build and the fact
that DPM's now portable to at least four operating systems. I've
read Jan's recent posts on the subjecft of build systems, and
I'll admit up front that I haven't touched DPM recently due to my
reluctance to use autotools.
I've decided CMake isn't evil enough to warrant avoiding it. It's
an extra dependency, so we'll see how it goes. There's even been
recent discussion on using lua as CMake's build language :) …
Out of time, finally getting tired. Tomorrow, for sure :) One
last bug to hunt down.
For now, HEAD's looking pretty good. grab the export
tarball, check out the git repo, etc. If you're bored.
The most interesting addition is the CMake build and the fact
that DPM's now portable to at least four operating systems. I've
read Jan's recent posts on the subjecft of build systems, and
I'll admit up front that I haven't touched DPM recently due to my
reluctance to use autotools.
I've decided CMake isn't evil enough to warrant avoiding it. It's
an extra dependency, so we'll see how it goes. There's even been
recent discussion on using lua as CMake's build language :) …
r5 of DPM will appear ... tomorrow! It's close now, but
I'ma go party a bit. There's new code in HEAD if you're
bored.
New stuff:
- Bugfixes (crash bugs, silly things)
- CMake build
file.
- Code ported from Linux to OS X (leopard) PPC, OpenBSD 4.2,
FreeBSD 6.2
- (not done yet) support INADDR_ANY, unix domain sockets, few
more things.
Also, new releases of memcached coming up as soon as possible,
along with nice clear useful documentation.
- 1.3.0, with binary protocol!
- 1.2.5, with portability fixes!
- Overview of all outstanding projects/ideas worth doing, now
that memcached's development has been jumpstarted.
Then later;
- 1.3.1, probably with all of the binary protocol bugs
fixed!
Happy new …