Hacker News .hnnew | past | comments | ask | show | jobs | submitlogin

A little history, I used:

- MySQL from about 1999-2007

- Postgres from 2006-present

- Oracle at a job 4 years ago

One of the things that absolutely made my brain explode is that Oracle, too, does not support DDL transactions. I discovered this during a pretty funny code review.

“Why are you wrapping this DDL in a transaction? That’s pointless.”

“Wait… Oracle doesn’t support DDL transactions?”

“What do you mean ‘DDL transactions’? That’s… should you be working on DB code at all?”

“Wait… you mean if a migration in Oracle fails half way through it just… leaves things half broken? Let me show you what this would look like in Postgres”

“WHAT THATS AMAZING!!!”



Your reviewer immediately made a suggestion that you're just unqualified? Well, I shouldn't be so surprised, it's a company that chose to use Oracle after all...


Ahhhh, it was much more polite than that and it was a junior-ish developer. I was new to the team and had already made it clear that while I had some database experience I had zero Oracle experience. I don't fault them too much; when someone suggests something that is completely outside of my mental model of how things work, it takes me a bit of reminding that I need to dig a little deeper to figure out what's going on and not just start jumping to conclusions about competence.

It just happened to be a great opportunity for both of us to expand our mental model of how different systems work. If you imagine someone whose mental model is "DML commands can be transactional, DDL modifies the database structure directly" then it's pretty reasonable for them to go "Uh... this guy doesn't seem to know the difference between modifying data and modifying tables..."




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: