A first transition
Before I started programming on SQL Server in 2018, I only developed with PostgreSQL.
In the beginning I was trying to transfer the knowledge from one DBMS to the other. And so many piece were missing to me. I could no more enjoy ROLLBACK on DDL, multicolumn JOIN, awesome aggregation and window functions. I really was disappointed, if not annoyed.
It surely did not help that this was SQL Server 2008R2 in 2018 but I couldn’t stop judging SQL Server based on PostgreSQL You know what you left, not really what you get. It was not that pretty.
Fast forward 1 year, the database migration is set up with SSDT and GitLab DevOps, we have procedures with Table-valued Parameters and we develop with great tools such as SSMS and Visual Studio.
I’m in love with SQL Server. It makes me feel so productive. It was definitely worse the effort to overcome the first impression.
2021 starts, I have now to work with MariaDB. From my PostgreSQL time, I kept reading articles kind of bashing MySQL/MariaDB for being weird, less ANSI standard and not enforcing constraints correctly (And I know things changed a lot recently).
I can feel the same experience is coming and I should soon see the gems… but for now it hurts. déjà-vu.
The first thing I like to do with a new database is to let SchemaSpy runs to see what is going on, what is related to what and how to find my way.
As I look at the output… I’m helpless but not that much of a surprise not much documentation in here. Let’s document the object! Let’s make it a better place. Ok how to do it … cool, COMMENT and it is part of the CREATE TABLE, I like it …but wait … for already existing columns, I have to redefine the column, just to add a comment? SQL Server do not have the nice COMMENT statement, but I don’t need too block the all table. Really MariaDB?
mmmph… so let’s do it with transaction to play safe. Maybe MariaDB has the Transactional DDL stuff SQL Server is missing. Nope, too bad… and I’m not a fan of this statement also:
“DDL statements … cause an implicit COMMIT and start a new transaction. An exception to this rule are the DDL that operate on temporary tables …“
And when I …
(Voice from the past) Yes Fred, that’s once again a rough start. And it surely hurts. But let’s give it a year. MariaDB’s gems are waiting for you. Keep calm, and stay humble.
… breathing … resetting ego… resetting pride …
Yes I forgot… Hello and nice to meet you MariaDB! I can’t wait to know you more.