Code Quality Comparison of Firebird, MySQL, and PostgreSQL

I have read very interesting post “Code Quality Comparison of Firebird, MySQL, and PostgreSQL” today about static analysis of three open-source RDBMS. And I wonder, should we use static code analyzers on an ongoing basis, e.g. PVS Studio?

tl;dr:

So, the code-quality rankings are as follows:

    • 1 place – Firebird and PostgreSQL.
    • 2 place – MySQL.

 

 

Please remember that any review or comparison, including this one, is subjective. Different approaches may produce different results (though it is mostly true for Firebird and PostgreSQL, but not for MySQL).

image7

Advertisements

Meet the MicroOLAP Database Designer for MySQL 2.1.5!

MyMDD boxDatabase Designer for MySQL is a handy tool with intuitive interface that allows you to build a clear and effective database structure visually, see the complete picture (diagram) representing all the tables, references between them, views, stored procedures within your database. Then you can easily generate a physical database on a server, modify it according to any changes you made to the diagram. The product is specially developed for MySQL database and takes into account its features.

This release improves logging facility, adds support for invocation views options, enhances control on views display preferences, fixes some rare bugs.

You’re welcome to download the Database Designer for MySQL 2.1.5 right now at:
http://microolap.com/products/database/mysql-designer/download/

Full change log:
[!] Error logging improved a lot
[+] “Show object icons” option added to Display Preferences
[+] “With Check” view option support added
[+] Algorithm view option support added
[+] Attributes option added to the View tab of Display Preferences
[+] Comments option added to the View tab of Display Preferences
[+] SQL Security view option support added
[+] Targets option added to the View tab of Display Preferences
[*] “Add object” menu item is available for the Object Tree View
[*] Handling of incorrect file paths improved in Generate Database
[*] Multiple triggers are permitted for the same Time and Event combination as of MySQL 5.7.2
[*] Trigger name generation simplified in Table Editor
[-] “Apply button is sometimes available even if no changes made in the object editor” bug fixed
[-] “Cannot open model (.mdd) file in Explorer if application already launched” bug fixed

Please don’t hesitate to ask any questions or report bugs with our Support Ticketing system available at
http://www.microolap.com/support/

This slideshow requires JavaScript.

Meet the MicroOLAP Database Designer for MySQL v2.1.3!

PgMDD boxDatabase Designer for MySQL is a handy tool with intuitive interface that allows you to build a clear and effective database structure visually, see the complete picture (diagram) representing all the tables, references between them, views, stored procedures within your database. Then you can easily generate a physical database on a server, modify it according to any changes you made to the diagram. The product is specially developed for MySQL database and takes into account its features.

This release introduces enhanced Reverse Engineering dialog, options to prevent annoying warning messages, full support for modern table row formats, support for BLACKHOLE storage engine.

You’re welcome to download the Database Designer for MySQL 2.1.3 right now at:
http://microolap.com/products/database/mysql-designer/download/

Full change log:
[+] REDUNDANT and COMPACT row formats support is added
[+] BLACKHOLE storage engine support is added
[+] “Show warning before object deletion” option added to Environment Options
[+] “Show warning before editor closing” option added to Environment Options
[*] Reverse Engineering dialog vastly improved
[*] “Tables in a diagram row” option removed from Reverse Engineering dialog as deprecated

Please don’t hesitate to ask any questions or report bugs with our Support Ticketing system available at
http://www.microolap.com/support/

This slideshow requires JavaScript.

Poll: Do we need SET type in PostgreSQL?

This topic is discussed again and again with huge friend of mine and MySQL sectarian. 🙂 And must confess I agree with him in this particular point of view.

For me it’s strange that such powerful database as PostgreSQL, which has a lot of drums and whistles inside, doesn’t support SET types. Especially when we have ENUM support now!

Of course one may say that this functionality can be implemented using Bit String Types. But where is the joy of power? Where is the crystal clarity of the SQL script? 🙂

What’s you opinion, postgresman?

PS Don’t hesitate to share your thoughts in the comments.

PostgreSQL vs MySQL: Russian reality

note This article available in Russian.

This post is some kind of statistic about campaign had place on the Russian IT-community site Habrahabr.ru. On behalf of the MicroOLAP company we gave away free personal licenses for Database Designers for PostgreSQL and MySQL there.

Popularity

I will not discover the exact licenses count, but will provide you with statistical torus:

Torus

Have no idea how to treat these results. I hope some implications will appear in the comments.

Membership

I may also share data on the approximation of the population “layers”

  • 80% — students and teachers (to learn),
  • 5% — freelancers,
  • 3% — state agencies,
  • 2% — girls (judging by their names 😉 ).

One more interesting fact. Database Designer for MySQL is in demand among studying youth and web-freelancers, but Database Designer for PostgreSQL is the matter of significant interest of corporative people. However we didn’t see any strange things that PostgreSQL is seriously considered as an alternative to Oracle, at least, for the new projects.

But we were surprised that nobody asked about support of EnterpriseDB, which is aggressively positioning itself as “PostgreSQL compatible with Oracle”:

Built upon PostgreSQL … offers deeper Oracle® compatibility.

PS

I didn’t include Database Designer for MsSQL in this report because of it’s pre-beta status. «Pre-beta» — is some kind of euphemism for us, application may be used freely — monitor will not blow up. 😉 Just there is no documentation yet and some bugs may reveal themselves.

12-year-old boy from Texas recites Postgres sources

Daily Bugle reports:

Little boy’s dad:
– I work a lot with open source DBs and as long as I remember Willie was very interested in my work. He always could easily give a function definition without a book.

– But why Postgres?!

“There’s a feeling that MySQL was written by students. Lot’s of garbage all over. While Postgres distinguishes itself by its accuracy and clearness. It’s obvious it was a part of some scientific development” – says Willie.

– So, you can read any file off the top of your head? Even the one with comments?

– Well, some difficult ones I learn singing it. For example, parser files (which are generated by machine, editor’s note). It’s quite clear, learning transition tables by heart, and don’t forget those scary names of IDs,  would’ve been beyond even von Neumann’s power.

– OK, what’s you tune for, say, \src\backend\parser\gram.c? (Result of Bison’s work on gram.y)

– It goes smoothly with something old, e.g. with “Me and Bobby McGee”. But there are sure some difficulties with chorus – sounds like rap.

On our request Willie performed his favorite parts. Surprisingly it was parts from client library libpq. Most of all we were touched by PQExec & PQexecParams function implementations which Willie Pavarotti-style.

On the question, if Willie wants to perform on the big stage, he modestly said: “Of course I do, but only in duet. I’d say with Eminem. Or maybe with Robbie Williams“.

– And your partners would sing sources too? – we asked.

– No, by no means! – laughing. – For them I can only leave comments in the source. Especially melodious comments are the ones by Magnus Hagander.

– What other musical compositions do you want to perform?

– Despite the fact that at the meantime I work in С language, I really want to perform something written in Delphi. Thinking about PostgresDAC actually.

Dear PostgresDAC developers, we hope you are reading this, would you please help this little boy’s dream come true! Would you help Willie’s dream come true!

Sure thing! Specially for Willie we have created unique, one and only Unlimited Commercial License (he’ll sing in public, after all), and at this moment that license is on the board of the plane, charter flight to Texas.

Salvation for humanity isn’t nanotechnology, but love, that will be brought to us by our children, even in a such exotic way!

C’ya! 🙂

“Database Designer for PostgreSQL under Wine” HOWTO

Preface

“When’s the Linux version coming out?” – David Fetter was asking me.

“I can’t answer this question yet” – was the answer.

But the magic happens. 🙂 I succeeded to launch Database Designer for PostgreSQL in Wine. The instructions below will help you start Database Designer for MySQL either.

Platform

All my tests were made using:

Despite the fact that Wine 1.1.13 marked as development version I strongly suggest you to use exactly this release. Because in 1.0.1 there are a lot of visual artefacts, however functionality is stable.

Configure Wine

Since Database Designer for PostgreSQL uses Microsoft Data Access Components for its Universal and MS Access Database Reverse Engineering we must install appropriate redistributable runtime libraries:

$sh winetricks jet40 mdac28

jet40 – MS Jet 4.0 Service Pack 8
mdac28 – MS MDAC 2.8: Microsoft ODBC drivers, etc.

After this we already can use application with its full functionality. However, fonts used in Designer appear ridged. To fix this we need to install Microsoft Core Fonts (Arial, Courier, Times etc.), but we need to make sure  cabextract utility is present in our system.

In case of Ubuntu we can use the following command to install it:

$sudo apt-get install cabextract

For other distributions it is better to check manuals. To install core fonts we run:

$sh winetricks corefonts

Wine Application Database

In Wine Application Database you can get information on application compatibility with Wine. There are entries for both Database Designers: for PostgreSQL and MySQL.

By the way, you have a good chance to get a free Personal License. Provide some great examples of using Database Designers and results you got under Wine, and receive a license key for free! If you publish them as an article (in your blog, for example), this is only a big plus. Requirements: created with MicroOLAP software, step by step description (How did you make it?), screenshots of the steps taken.

Write a review of MicroOLAP software and publish it on Wine Application Database web-site. You will get a free Personal License key as a reward.

Our goal is to make Database Designers Platinum list member of Wine Application Database. As for now it appears to be Gold List member.