While chatting with a few SVN hackers at OSCON, it occured to me that MySQL is the Perl of RDBMS. Discuss among yourselves.
We are currently preparing a MySQL 4.1 to MySQL 5.0 migration. First tests showed a very nasty problem, however.
One of our test cases incorporates queries against DECIMAL columns that use strings as the queried values. In MySQL 4.1 this works flawlessly. The reason behind this is that in contrast to 4.1 the newer server version does a (in my opinion very stupid) conversion from String to double, which in many cases cannot correctly store the precise value.
This may lead to very subtle bugs, especially when using an optimistic locking approach as we do. We only noticed the problem, because we got a ConcurrentModificationException, as an update query that contained a string-ized BigDecimal did not match any rows.
See MySQL bug reports 23260 and 22290 for more details.
Right …
[Read more]In an article in yesterday’s Süddeutsche Zeitung, an EU Commission source is mentioned as saying “it’s unclear on whose mandate anti-software-patent campaigner Florian Müller is acting“.
Allow me to clarify: On ours.
MySQL AB may be Florian’s first and longest-running sponsor in the fight against software patents. However, financing Florian Müller’s activities in the EU — and on the national level in various European countries — requires a broader group of European companies concerned about software patents in general, and the plans for an European Patent Litigation Agreement in particular. Amongst Florian’s other sponsors, let me mention Germany’s leading Internet provider …
[Read more]If you've ever created SQL queries with PHP, you probably know what a pain it can be to create insert and update statements. I really, really (really) don't like it. As I was working on my personal site, and exploring possible frameworks to use, I came across CodeIgniter. They have a great database interaction library, especially the function for creating the insert queries.Today, armed with only the descriptions of CodeIgniter's query helper functions, I spent 20 minutes trying to duplicate some the effect of the insert and update functions. I've never seen the code, or even used it, but I didn't have to see the code to write a similar function. Both functions take a table name and an associative array of column names and values. The update function also requires a WHERE statement, and it can't be blank. This is different from CodeIgniter, and that's so you don't accidentally reset all of the passwords in the mysql users table, or any table for that …
[Read more]Welcome to the fourteenth Log Buffer, the weekly review of the database blogosphere. We start with a couple pieces on Oracle’s purchase of Sunopsis (news item on ZDNet), the latest in a series of purchases for them. On Andy on Enterprise Software offers Andy Hayler’s analysis: Sunopsis’s Data Conductor product is superior to Oracle’s Warehouse [...]
This thread on the Boston MySQL User Group Board is getting
interesting:
http://mysql.meetup.com/137/boards/view/viewthread?thread=2280640
(From the original poster:)
I think that nonequivalence comes from the past when the data
sharing was a
rare situation. The data changes were always initiated by
application and it
always knew about those changes. Now the situation is different.
When the data
are shared between multiple remote applications you have to
notify other
interested parties about those changes.
Currently databases are mostly used as “pull” components. If they
had standard
“push” functionality they could compete with messaging systems
with the advantages
of automatic data persistence and powerful query language.
(my response:)
…
When people discuss query optimization on MySQL, or say a query doesn't perform well, they usually mention execution time. Execution time is important, but it's not the only metric to use (or even the best). There are many other ways to measure the work a query requires. This article explains how to really profile a query -- what to measure, how to do it as accurately as possible, and what it means.
This is the first article in a series. In upcoming articles I'll demonstrate some hands-on profiling with concrete examples, and give you a tool to automate the job.
I was really wondered today when I came across really interesting initiative of some women in #phpc IRC channel. They are trying to create some place where PHP women will be able to communicate and feel included in the world of PHP. Ligaya Turmelle (DevZone Roving Reporter) is one of the leaders spearheading the formation of phpwomen.org. She posted an update on their progress her blog recently. She talks about their new website, www.phpwomen.org, their mailing list which can be joined here and their irc channel on freenode.net, #phpwomen. She said:
It is women encouraging women to be active in the greater PHP World. We may be a small group but we have a big impact and are proud of who and what we are. We don’t wish to be exclusive and stand …
[Read more]Thanks to Leonardo Villamil Gamba, there are new Spanish translations of Article Four and Article Five in the popular VB.NET/MySQL article series.
See all the Spanish translations at http://www.vbmysql.com/articles/espanol/.
Google Translated:
Los gracias al espicanardo de Leonardo Villamil, allí son nuevas traducciones españolas del Article Four de Article Five. Ver todas las traducciones españolas en el …
[Read more]
This common complaint uttered fairly frequently on the forums and
some similar related issues appears to stem from some basic
misunderstandings of the MySQL account structure. The most common
culprit is the "anonymous guest" account set up by default
coupled with an initial lack of knowledge of how to connect to
MySQL. Personally I have no use for such accounts and remove them
when I find them. Presumably the intent is to allow anonymous
users minimal access to MySQL, where they are limited to using
the `test` database which is also set up by default. Compounding
this issue is the Command Line Interface start-menu shortcut
created by the installer versions of the Windows packages, which
connects users as 'root' automatically and oftentimes unbeknownst
to them. Then when the user goes to connect via some other means
and presents incorrect credentials out of ignorance, then there
is a chance that this guest account may be inadvertantly
invoked.
…