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 36731 to 36740 of 45496 « Previous | Next »
MySQL Proxy: a chassis and a MySQL-server

At MySQL I'm writing several different command-line applications from the MEMo Agent to the MySQL Proxy. They all have a common set of requirement:

  • command-line options
  • config-files (mapping cmd-line options to config-files)
  • logfile handling (syslog, SIGHUP, ...)
  • a mainloop (SIGINT, CtrlHandler, ...)
  • daemonizing (daemonize, services, ...)
  • plugin handling

In the proxy svn you see all this a the chassis of the proxy.

At the side it has a MySQL-Server and a MySQL-Client (we usually call it the proxy). Currently this is implemented as libmysql-proxy which is then used by the proxy plugin to implement the proxy.

By splitting up the design into 3 different layers:

  • chassis
  • low-level protocol + protocol states
  • proxy implementation as plugin

we can

  1. use the …
[Read more]
Simplified Business Rules Engine

So I was thinking about some of my ideas that I had already previously written in my blog and I was also doing research on some things. Considering that I only recently started database developing, there are some things that I have some slight understanding in. There are also things that I dont have any clue about. But I think that that plays to my advantage when coming up with new idea, since I am not forced into any mindset. Recently a lot of my thoughts and research clicked together and I had a really good idea that I'd like to share with you. I think its somewhat revolutionary and yet simple at the same time.


Simplified Business Rules Engine.

I'd like to start off by first getting your appetite's wet. I am going to say that this idea includes the following buzz phrases:
Business Rule Engine (duh), Expert System, Business Intelligence and Collective Intelligence.

Ok, now that I …

[Read more]
Innodb Locks, ActiveRecord and acts_as_ferret Problem

Last few days one of our customers (one of the largest Ruby on Rails sites on the Net) was struggling to solve some really strange problem - once upon a time they were getting an error from ActiveRecord on their site:

1
(ActiveRecord::StatementInvalid) "Mysql::Error: Lock wait timeout exceeded; try restarting transaction: UPDATE some_table.....

They have innodb_lock_wait_timeout set to 20 seconds. After a few hours of looking for strange transactions we were decided to create s script to dump SHOW INNODB STATUS and SHOW FULL PROCESSLIST commands output to a file every 10 seconds to catch one of those moments when this error occurred.

Today we’ve got next error and started digging in our logs…

After a couple of hours of looking in logs, parsing binary logs from MySQL …

[Read more]
A Zip Code Solution - ...WHERE LEFT(zip_code,3) vs. This Article

The Price is MySql with Jay PipesQuick! Pick a curtain! Do it now!Curtain #1:SELECT zip_code FROM table_name WHERE LEFT(zip_code,3) IN (123,456,789);What's under curtain #2 you ask?Well, I'm glad you asked! It is...ALTER TABLE table_name ADD COLUMN zip3 INTEGER UNSIGNED ZEROFILL NOT NULL, ADD INDEX idx_zip3 (zip3);What?? Another column and another index? My table already has 7,351 columns?

Progress on Maatkit bounty

My initial plans got waylaid! I didn't pull out the checksumming code first, because the code wasn't at all as I remembered it. Instead, I began writing code to handle the more abstract problem of accepting two sets of rows, finding the differences, and doing something with them. I'm ending up with a little more complicated system than I thought I would. However, it's also significantly simpler in some ways. Instead of just passing references to subroutines to use as callbacks, I'm object-ifying the entire synchronization concept...

Stuff since the last update

The Thanksgiving break was a welcome change of pace... and on the idle driving up and down the Californian coastline, I had a few moments to work on the MySQL External Stored Procedures project. I think I pretty much have Perl functioning fully and a couple of minor problems were resolved.Yesterday, I completed the first draft of the all-revised-from-scratch WL#3771, now titled as the Plugable

MySQL Workbench 5.0.10 Beta available for download

I just sent out the mail to the mailing lists to officially announce the 5.0.10 release. I have added an additional page that will keep track of the changes we make and it is available here. The change log file is included in the source package as well of course.

I am curious how the level of regression bugs will be. For Workbench we have a unit testing framework in place as well as an ever expanding suite of UI tests. We are using TestComplete and as long as the tool does not crash itself (which happens quite a lot, sadly) it is quite useful to automated the UI testing.

Please keep testing and reporting bugs. We will keep working hard to fix reported issues as fast as possible.

Making Logical Volumes on EC2
Log Buffer #73: a Carnival of the Vanities for DBAs

Eddie Awad, Oracle blogger extraordinaire, has published the 73rd edition of Log Buffer, the weekly review of database blogs. Daniel Crook is on-deck, but won’t bat until January. That leaves plenty of room for others, so I invite you to get involved. Send an email to the Log Buffer coordinator (that would be me). Here’s Eddie [...]

Memcached MySQL Functions Released!

The first initial Memcached MySQL UDF functions version has been released. You can download them at:

http://download.tangent.org/memcached_functions_mysql-0.1.tar.gz

Developed by Brian Aker and Patrick Galbraith, These are a number of MySQL user defined functions based on libmemcached (http://tangent.org/552/libmemcached.html) mirroring libmemcached client functions.

Included are:

memc_servers_set() - sets list of memcached servers to use

memc_set(hash, value) - sets a value keyed by hash in memcached
memc_get(hash) - retrieves a value from memcached keyed by hash
memc_delete() - deletes a value from memcached keyed by hash
memc_append() - appends to the end of a value in memcached …

[Read more]